All Products
Search
Document Center

Elasticsearch:Gunakan server APM yang dikelola sendiri untuk mengumpulkan data ke Alibaba Cloud Elasticsearch

Last Updated:Mar 26, 2026

Integrasikan stack Elastic APM open-source dengan Alibaba Cloud Elasticsearch untuk membangun pipeline observabilitas bagi layanan dan aplikasi Anda. Panduan ini akan memandu Anda melalui proses men-deploy server APM yang dikelola sendiri pada instans Elastic Compute Service (ECS), menginstrumentasi aplikasi Go dengan agen APM, serta memvisualisasikan data yang dikumpulkan di Kibana.

APM menjembatani kesenjangan antara metrik infrastruktur dan perilaku tingkat aplikasi. Sementara log dan metrik memberi tahu Anda apa yang terjadi di lapisan infrastruktur, APM memberi tahu Anda apa yang terjadi di dalam aplikasi Anda dan bagaimana pengalaman pengguna. Mengintegrasikan APM ke dalam stack Anda memungkinkan Anda:

  • Mengidentifikasi operasi mana yang paling lama berlangsung dan mengapa layanan berhenti merespons

  • Memetakan dependensi layanan dan mengidentifikasi bottleneck dalam alur permintaan terdistribusi

  • Melacak pengalaman pengguna riil di browser dan klien native

  • Menghasilkan laporan SLA dan analisis tren dari perspektif bisnis

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

Cara kerja

  1. Server APM menerima data jejak dari agen APM yang berjalan di dalam aplikasi Anda.

  2. Server APM meneruskan data tersebut ke kluster Alibaba Cloud Elasticsearch Anda.

  3. Kibana membaca data dari Elasticsearch dan menampilkannya di UI APM di bawah Observability.

Langkah 1: Bangun server APM

Instal server APM

  1. Hubungkan ke instans ECS Anda sebagai pengguna biasa. Lihat Hubungkan ke instans Linux menggunakan password atau kunci.

  2. Unduh paket server APM.

    wget https://artifacts.elastic.co/downloads/apm-server/apm-server-7.10.2-linux-x86_64.tar.gz
  3. Ekstrak paket tersebut.

    tar -zxf apm-server-7.10.2-linux-x86_64.tar.gz

Konfigurasi server APM

  1. Masuk ke direktori server APM.

    cd apm-server-7.10.2-linux-x86_64/
  2. Buka file konfigurasi.

    vim apm-server.yml
  3. Perbarui konfigurasi dengan detail kluster Elasticsearch Anda.

    ParameterDeskripsi
    apm-server.hostAlamat dan port tempat server APM mendengarkan. Format: <IP>:<port>. Nilai 0.0.0.0:8200 mendengarkan pada semua antarmuka.
    output.elasticsearch.hostsTitik akhir kluster Elasticsearch Anda. Gunakan titik akhir internal jika instans ECS dan kluster berada dalam virtual private cloud (VPC) yang sama. Jika berada di VPC berbeda, gunakan titik akhir publik dan konfigurasikan daftar putih IP publik. Lihat Lihat informasi dasar kluster dan Konfigurasikan daftar putih alamat IP publik atau privat untuk kluster Elasticsearch.
    output.elasticsearch.usernameUsername untuk Elasticsearch. Nilai default-nya adalah elastic. Untuk menggunakan akun kustom, buat role terlebih dahulu dan berikan izin tulis yang diperlukan. Lihat Gunakan mekanisme RBAC yang disediakan oleh Elasticsearch X-Pack untuk menerapkan kontrol akses.
    output.elasticsearch.passwordPassword untuk username di atas. Password akun elastic ditentukan saat Anda membuat kluster. Untuk mengatur ulang, lihat Atur ulang password akses untuk kluster Elasticsearch.
    apm-server:
      host: "0.0.0.0:8200"
    output.elasticsearch:
      hosts: ["es-cn-*****.elasticsearch.aliyuncs.com:9200"]
      username: "elastic"
      password: "<your-password>"

Jalankan server APM

Jalankan perintah berikut untuk menjalankan server APM di latar belakang dan mengarahkan output ke file log.

nohup ./apm-server -e > apmserver.log 2>&1 &

Server APM mulai berjalan, terhubung ke Elasticsearch pada titik akhir yang Anda tentukan, dan mengekspos API agen pada port 8200. Untuk memverifikasi bahwa server sedang berjalan, periksa apmserver.log untuk pesan yang mengonfirmasi koneksi ke Elasticsearch dan bahwa server sedang mendengarkan pada port 8200.

Langkah 2: Konfigurasi agen APM

Contoh ini menggunakan agen Elastic APM Go. Panduan ini menggunakan variabel lingkungan untuk pengaturan awal.

Panduan ini menggunakan Go sebagai contoh. Untuk bahasa lain, instal agen Elastic APM yang sesuai. Lihat dokumentasi agen Elastic APM untuk daftar lengkap bahasa yang didukung dan modul bawaan.

Instal agen Go

  1. Inisialisasi modul Go untuk proyek Anda.

    sudo go mod init demo
  2. Instal paket agen APM.

    Jika Anda melihat error golang.org xxxx: i/o timeout, lingkungan Anda tidak dapat mengakses golang.org. Ubah proxy modul Go ke mirror yang dapat diakses sebelum mencoba lagi.
    sudo go get go.elastic.co/apm
    sudo go get go.elastic.co/apm/module/apmhttp

Tetapkan variabel lingkungan agen APM

  1. Buka file profil shell.

    vim ~/.bash_profile
  2. Tambahkan variabel lingkungan berikut dan simpan file tersebut.

    VariabelDefaultDeskripsi
    ELASTIC_APM_SERVICE_NAMENama file eksekusiNama layanan Anda. Karakter yang diizinkan: huruf, angka, tanda hubung (-), garis bawah (_), dan spasi.
    ELASTIC_APM_SERVER_URLhttp://localhost:8200URL server APM. Atur ke alamat server yang Anda jalankan di Langkah 1.
    ELASTIC_APM_SECRET_TOKEN_(tidak ada)_Token rahasia yang dibutuhkan oleh server APM.
    export ELASTIC_APM_SERVICE_NAME=zijian
    export ELASTIC_APM_SERVER_URL=
    export ELASTIC_APM_SECRET_TOKEN=
  3. Terapkan konfigurasi tersebut.

    source ~/.bash_profile

Instrumentasi aplikasi Anda

Agen Elastic APM Go menyediakan modul bawaan untuk framework populer (seperti apmhttp) dan API Tracer tingkat rendah untuk instrumentasi kustom. Contoh ini menggunakan apmhttp untuk membungkus server HTTP standar.

  1. Buat file aplikasi.

    vim apm.go
  2. Tambahkan kode berikut dan simpan file tersebut.

    package main
    
    import (
      "net/http"
    
      "go.elastic.co/apm/module/apmhttp"
    )
    
    func main() {
      mux := http.NewServeMux()
      http.ListenAndServe(":8080", apmhttp.Wrap(mux))
    }
  3. Jalankan aplikasi.

    sudo go run apm.go

    Saat aplikasi berjalan, agen APM mulai mengirim data jejak ke server APM, yang kemudian meneruskannya ke kluster Elasticsearch Anda.

Langkah 3: Lihat data APM di Kibana

Aktifkan pembuatan indeks otomatis

Alibaba Cloud Elasticsearch menerapkan konvensi penamaan indeks. Indeks onboarding APM yang dibuat secara otomatis oleh server APM tidak sesuai dengan konvensi tersebut, sehingga Anda harus secara eksplisit mengizinkannya.

  1. Login ke konsol Kibana. Lihat Login ke konsol Kibana.

    Panduan ini menggunakan kluster V7.10. Langkah login mungkin berbeda untuk versi Elasticsearch lainnya.
  2. Di halaman utama Kibana, klik Dev tools di pojok kanan atas.

  3. Di tab Console, jalankan perintah berikut. Ganti 7.10.2 dengan versi server APM yang Anda instal.

    PUT _cluster/settings
    {
      "persistent": {
        "action.auto_create_index":"+.*,+apm-7.10.2-onboarding-*,-*"
      }
    }

Lihat layanan yang dipantau

  1. Klik ikon Navigation bar icon di pojok kiri atas untuk memperluas panel navigasi.

  2. Di bawah Observability, klik APM.

  3. Di tab Services, semua layanan yang dipantau oleh agen APM akan ditampilkan.

    View services that are monitored by APM

  4. Klik nama layanan untuk menyelidiki lebih dalam jejak, transaksi, dan data performanya.

Langkah selanjutnya