全部产品
Search
文档中心

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

更新时间:Jul 02, 2025

Anda dapat mengintegrasikan layanan pemantauan kinerja aplikasi (APM) dari Elasticsearch open source dengan Alibaba Cloud Elasticsearch untuk membangun sistem APM, membantu mencapai observabilitas layanan dan aplikasi. Topik ini menjelaskan cara menggunakan server APM yang dikelola sendiri untuk mengumpulkan data ke Alibaba Cloud Elasticsearch.

Informasi latar belakang

Observabilitas adalah kemampuan untuk mengukur kinerja infrastruktur, platform, dan aplikasi Anda, membantu Anda memahami cara kerjanya. Berbeda dengan layanan pemantauan tradisional yang berfokus pada identifikasi masalah dan peringatan, observabilitas memberikan penjelasan untuk semua peristiwa dalam sistem terdistribusi yang kompleks. Kemampuan pemantauan fokus pada status layanan perangkat lunak selama dan setelah pengiriman, sedangkan observabilitas mencakup siklus hidup penuh proses R&D dan O&M.
Log, metrik infrastruktur, dan APM adalah elemen kunci observabilitas. APM mengisi kesenjangan antara metrik dan log. Log dan metrik memberikan informasi tentang infrastruktur dan komponen, sebagian tumpang tindih. APM berfokus pada aplikasi, memungkinkan insinyur TI dan pengembangan memantau lapisan aplikasi stack serta pengalaman pengguna. Integrasi APM ke dalam layanan pemantauan sistem memberikan manfaat berikut:
  • Membantu Anda memahami apa yang memakan waktu paling lama saat layanan berjalan, serta alasan mengapa layanan berhenti merespons.
  • Membantu Anda memahami cara layanan saling berinteraksi serta mengidentifikasi hambatan dalam layanan tersebut.
  • Membantu Anda memahami bagaimana layanan berinteraksi satu sama lain dan melihat hambatan dari layanan tersebut.
  • Meningkatkan produktivitas tim pengembangan.
  • Melacak pengalaman pengguna di browser.
APM banyak digunakan dalam skenario berikut:
  • Pemantauan Pengalaman Pengguna: APM dapat meningkatkan pengalaman pengguna dengan memantau perilaku pengguna. Misalnya, APM dapat memantau interaksi antara pengguna dan antarmuka web atau klien, serta mencatat waktu ketika interaksi tersebut terjadi.
  • Arsitektur Aplikasi Runtime: APM membantu Anda memahami dependensi antar layanan dan topologi jaringan interaksi antar aplikasi.
  • Transaksi Bisnis: APM dapat menghasilkan laporan SLA mendalam dan memberikan informasi tren tentang kinerja aplikasi dari perspektif bisnis.
  • Pemantauan Komponen Mendalam: Untuk menggunakan APM dalam skenario ini, Anda harus menginstal agen APM. APM terutama digunakan untuk memantau lapisan tengah layanan, termasuk server web, aplikasi, dan server pesan. Kemampuan pemantauan kuat yang disediakan oleh APM menampilkan jalur eksekusi kode yang jelas. Pemantauan komponen mendalam berkorelasi erat dengan arsitektur aplikasi runtime. Dalam kebanyakan kasus, skenario tersebut saling tumpang tindih, dan APM digunakan secara bersamaan dalam skenario tersebut.
  • Analitik dan Pelaporan: APM dapat melakukan analitik pada data metrik yang dikumpulkan dari aplikasi dan menampilkan hasil analisis dalam tampilan umum dengan cara standar.

Prasyarat

  • Sebuah kluster Alibaba Cloud Elasticsearch V7.10 telah dibuat. Untuk informasi lebih lanjut, lihat Buat Kluster Alibaba Cloud Elasticsearch.
  • Sebuah instance Elastic Compute Service (ECS) dengan sistem operasi Linux telah dibuat. Untuk informasi lebih lanjut, lihat Gunakan Workbench untuk Terhubung ke Instance Linux melalui SSH.
  • Bahasa pemrograman Go telah diinstal di instance ECS.
    Catatan Dalam contoh ini, agen APM yang menggunakan bahasa pemrograman Go digunakan. Anda harus menginstal bahasa pemrograman Go terlebih dahulu.

Prosedur

  1. Langkah 1: Bangun Server APM
  2. Langkah 2: Konfigurasikan Agen APM
  3. Langkah 3: Lihat dan Analisis Data yang Dikumpulkan oleh Server APM di Konsol Kibana

Langkah 1: Bangun server APM

  1. Hubungkan ke Instance ECS.
    Untuk informasi lebih lanjut, lihat Gunakan Workbench untuk Terhubung ke Instance Linux melalui SSH.
    Catatan Dalam contoh ini, pengguna biasa digunakan untuk terhubung ke instance ECS.
  2. Instal Server APM.
    1. Unduh Paket Instalasi Server APM.
      wget https://artifacts.elastic.co/downloads/apm-server/apm-server-7.10.2-linux-x86_64.tar.gz
    2. Ekstrak Paket Instalasi.
      tar -zxf apm-server-7.10.2-linux-x86_64.tar.gz
  3. Ubah Konfigurasi Server APM.
    1. Masuk ke Direktori Tempat Server APM Diinstal.
      cd apm-server-7.10.2-linux-x86_64/
    2. Ubah File Konfigurasi YML.
      vim apm-server.yml
      Kode berikut memberikan contoh cara mengubah file konfigurasi YML:
      apm-server:
        host: "0.0.0.0:8200"
      output.elasticsearch:
        hosts: ["es-cn-*****.elasticsearch.aliyuncs.com:9200"]
        username: "elastic"
        password: "[pwd]"
      ParameterDeskripsi
      apm-serverAlamat server APM. Anda harus mengonfigurasi parameter host dalam format berikut: Alamat IP yang didengarkan oleh server APM:Nomor port. Dalam contoh ini, parameter host diatur ke 0.0.0.0:8200.
      output.elasticsearchInformasi tentang kluster Elasticsearch ke mana output server APM ditransfer. Anda harus mengonfigurasi parameter berikut:
      • hosts: endpoint publik atau internal kluster Elasticsearch. Untuk informasi tentang cara mendapatkan endpoint kluster Elasticsearch, lihat Lihat informasi dasar kluster.
        Penting Jika kluster Elasticsearch berada di virtual private cloud (VPC) yang sama dengan instance ECS tempat server APM diinstal, gunakan endpoint internal kluster Elasticsearch. Jika kluster Elasticsearch berada di VPC yang berbeda dari instance ECS, gunakan endpoint publik kluster Elasticsearch dan konfigurasikan daftar putih alamat IP publik untuk kluster Elasticsearch. Untuk informasi lebih lanjut, lihat Konfigurasikan daftar putih alamat IP publik atau privat untuk kluster Elasticsearch.
      • username: nama pengguna yang digunakan untuk mengakses kluster Elasticsearch. Nama pengguna default adalah elastic. Anda dapat menggunakan akun pengguna kustom. Sebelum menggunakan akun tersebut, Anda harus membuat peran untuknya dan memberikan izin yang diperlukan kepada peran tersebut. Untuk informasi lebih lanjut, lihat Gunakan mekanisme RBAC yang disediakan oleh Elasticsearch X-Pack untuk menerapkan kontrol akses.
      • password: kata sandi yang sesuai dengan nama pengguna. Kata sandi akun elastic ditentukan saat Anda membuat kluster Elasticsearch. Jika Anda lupa kata sandi, Anda dapat menyetel ulang. Untuk informasi tentang prosedur dan perhatian saat menyetel ulang kata sandi, lihat Setel ulang kata sandi akses untuk kluster Elasticsearch.
  4. Mulai Server APM.
    nohup ./apm-server -e > apmserver.log 2>&1 &

Langkah 2: Konfigurasikan agen APM

Dalam contoh ini, bahasa pemrograman Go digunakan.

  1. Instal Agen APM.
    1. Inisialisasi File go.mod.
      sudo go mod init demo
    2. Instal Paket Agen APM Go.
      sudo go get go.elastic.co/apm
      sudo go get go.elastic.co/apm/module/apmhttp
      Catatan Jika terjadi kesalahan golang.org xxxx: i/o timeout saat Anda menginstal paket, Anda tidak dapat mengakses golang.org. Dalam hal ini, Anda harus mengubah sumber unduhan.
  2. Konfigurasikan Agen APM.
    1. Buka File Konfigurasi untuk Variabel Lingkungan.
      vim ~/.bash_profile
    2. Di file konfigurasi, tambahkan pengaturan berikut untuk menginisialisasi agen APM. Lalu, simpan modifikasi.
      # Tentukan nama layanan. Nama dapat berisi karakter berikut: huruf, angka, tanda hubung (-), garis bawah (_), dan spasi.
      # Jika tidak ada nama layanan yang ditentukan, nama file yang dapat dieksekusi akan digunakan.
      export ELASTIC_APM_SERVICE_NAME=zijian
      
      # Tentukan URL server APM. URL default adalah http://localhost:8200.
      export ELASTIC_APM_SERVER_URL=
      
      # Token yang diperlukan oleh server APM.
      export ELASTIC_APM_SECRET_TOKEN=
    3. Jalankan perintah berikut untuk membuat file konfigurasi berlaku:
      source ~/.bash_profile
  3. Gunakan Agen APM untuk Mendeteksi Aplikasi.
    1. Buat File Aplikasi Sampel Bernama apm.go.
      vim apm.go
    2. Tambahkan Informasi Berikut ke File apm.go dan Simpan File Tersebut.
      Anda dapat menggunakan salah satu modul deteksi yang disediakan atau API tracer eksekusi untuk mendeteksi aplikasi.
      package main
      
        import (
          "net/http"
      
          "go.elastic.co/apm/module/apmhttp"
        )
      
        func main() {
          mux := http.NewServeMux()
          http.ListenAndServe(":8080", apmhttp.Wrap(mux))
        }
    3. Jalankan File apm.go.
      sudo go run apm.go

Langkah 3: Lihat dan analisis data yang dikumpulkan oleh server APM di konsol Kibana

  1. Masuk ke Konsol Kibana Kluster Elasticsearch.
    Untuk informasi tentang cara masuk ke konsol Kibana, lihat Masuk ke Konsol Kibana.
    Catatan Dalam contoh ini, kluster Elasticsearch V7.10 digunakan. Operasi yang berbeda mungkin diperlukan untuk masuk ke konsol Kibana kluster versi lain.
  2. Pergi ke Halaman Utama Konsol Kibana dan Klik Dev tools di Pojok Kanan Atas.
  3. Di Tab Console pada Halaman yang Muncul, Jalankan Perintah Berikut untuk Mengaktifkan Pembuatan Otomatis Indeks Onboarding APM.
    Catatan
    • Setelah server APM dimulai, sistem secara otomatis membuat indeks terkait APM di kluster Elasticsearch. Anda dapat melihat indeks di konsol Kibana. Alibaba Cloud Elasticsearch memiliki persyaratan pada konvensi penamaan indeks yang dibuat secara otomatis. Nama indeks onboarding APM yang dibuat secara otomatis tidak sesuai dengan konvensi penamaan. Oleh karena itu, Anda harus secara manual mengaktifkan pembuatan otomatis indeks onboarding APM.
    • 7.10.2 dalam perintah berikut menunjukkan nomor versi server APM yang Anda instal.
    PUT _cluster/settings
    {
      "persistent": {
        "action.auto_create_index":"+.*,+apm-7.10.2-onboarding-*,-*"
      }
    }
  4. Lihat Layanan yang Dipantau oleh APM.
    View services that are monitored by APM
    1. Di Pojok Kiri Atas, Klik Ikon Navigation bar icon untuk Memperluas Panel Navigasi di Sebelah Kiri.
    2. Di Panel Navigasi di Sebelah Kiri, Klik APM di Bawah Observability.
    3. Di Tab Services pada Halaman yang Muncul, Lihat Semua Layanan yang Dipantau oleh APM.
    4. Klik Nama Layanan dan Lihat serta Analisis Data Terkait Layanan Tersebut.