全部产品
Search
文档中心

Elasticsearch:Gunakan SkyWalking untuk mengimplementasikan pemantauan ujung-ke-ujung pada Elasticsearch

更新时间:Jul 06, 2025

SkyWalking adalah alat pemantauan kinerja aplikasi terdistribusi (APM) dan sistem pelacakan terdistribusi. Topik ini menjelaskan cara menggunakan SkyWalking untuk memantau kluster Alibaba Cloud Elasticsearch V7.4.

Informasi latar belakang

SkyWalking memiliki fitur-fitur berikut:

  • SkyWalking menyediakan agen instrumentasi otomatis sehingga Anda tidak perlu memodifikasi kode aplikasi.

  • SkyWalking menyediakan agen instrumentasi manual yang mendukung SDK OpenTracing. Agen instrumentasi manual dapat memantau komponen yang didukung oleh API OpenTracing untuk Java.

    Catatan

    Untuk informasi lebih lanjut tentang komponen yang didukung oleh API OpenTracing untuk Java, lihat OpenTracing Registry.

  • Agen instrumentasi otomatis dan manual dapat digunakan secara bersamaan. Agen instrumentasi manual dapat memantau komponen yang tidak didukung oleh agen instrumentasi otomatis, bahkan komponen pribadi.

  • SkyWalking adalah program backend berbasis Java untuk analitik. Ini menyediakan RESTful API dan kemampuan analitik untuk agen dalam bahasa lain.

  • SkyWalking menyediakan analitik streaming berperforma tinggi.

Gambar berikut mengilustrasikan arsitektur SkyWalking.SkyWalking architecture

SkyWalking adalah platform untuk menyimpan hasil analitik data dan pengukuran. Hasil ini dikirim ke SkyWalking Collector melalui HTTP atau gRPC. SkyWalking Collector menganalisis dan menggabungkan data serta menyimpannya di Elasticsearch, H2, MySQL, atau TiDB. Anda dapat melihat hasil analisis di UI SkyWalking. SkyWalking mengumpulkan data dalam format berbeda dari berbagai sumber, seperti agen SkyWalking dalam berbagai bahasa pemrograman, Zipkin v1, Zipkin v2, Istio telemetry, dan Envoy.

Catatan

Dalam topik ini, SkyWalking diintegrasikan ke dalam Alibaba Cloud Elasticsearch V7.4. Anda juga dapat menggunakan klien SkyWalking untuk melaporkan data ke aplikasi Java. Untuk informasi lebih lanjut, lihat Gunakan SkyWalking untuk Melaporkan Data Aplikasi Java. Untuk informasi lebih lanjut tentang middleware dan komponen yang didukung oleh SkyWalking, lihat Dokumentasi Apache SkyWalking.

Prasyarat

  • Kluster Alibaba Cloud Elasticsearch telah dibuat. Dalam topik ini, kluster Elasticsearch V7.4.0 digunakan.

    Untuk informasi lebih lanjut, lihat Buat Kluster Alibaba Cloud Elasticsearch.

  • Server Linux tempat JDK 1.8.0 atau versi lebih baru telah diinstal disiapkan.

    Kami merekomendasikan Anda menggunakan Instance ECS Alibaba Cloud. Untuk informasi lebih lanjut tentang cara membeli instance ECS, lihat Langkah 1: Buat Instance ECS.

    Catatan

    Untuk informasi lebih lanjut tentang cara menginstal JDK, lihat Langkah 3: Instal JDK. Jika JDK tidak diinstal dengan benar dan Anda memulai SkyWalking untuk melihat log, pesan kesalahan "Java not found" atau "java-xxx: No such file or directory" dilaporkan.

  • Port 8080, 10800, 11800, dan 12800 di server Linux tidak terpakai.

  • Firewall dan Security-Enhanced Linux (SELinux) dinonaktifkan untuk server Linux.

Prosedur

  1. Langkah 1: Unduh dan Instal SkyWalking

  2. Langkah 2: Konfigurasikan SkyWalking untuk Terhubung ke Kluster Elasticsearch

  3. Langkah 3: Verifikasi Hasil

Langkah 1: Unduh dan instal SkyWalking

  1. Unduh paket SkyWalking ke server Linux.

    Kluster Elasticsearch V7.4.0 digunakan dalam topik ini. Oleh karena itu, Anda harus memilih Binary Distribution untuk ElasticSearch 7. Kode berikut memberikan perintah yang digunakan untuk mengunduh paket:

    wget https://archive.apache.org/dist/skywalking/7.0.0/apache-skywalking-apm-es7-7.0.0.tar.gz
  2. Jalankan perintah berikut untuk mengekstrak paket:

    tar -zxvf apache-skywalking-apm-es7-7.0.0.tar.gz
  3. Jalankan perintah berikut untuk melihat file yang diekstraksi:

    ls apache-skywalking-apm-bin-es7/

    Hasil berikut dikembalikan:

    total 92
    agent
    bin
    config
    LICENSE
    licenses
    NOTICE
    oap-libs
    README.txt
    tools
    webapp

Langkah 2: Konfigurasikan SkyWalking untuk terhubung ke kluster Elasticsearch

  1. Jalankan kode berikut untuk membuka file application.yml di folder config:

    cd apache-skywalking-apm-bin-es7/config/
    vi application.yml
  2. Temukan storage, ubah H2 menjadi elasticsearch7, dan konfigurasikan file berdasarkan instruksi berikut:

    storage:
      selector: ${SW_STORAGE:elasticsearch7}
      elasticsearch7:
        nameSpace: ${SW_NAMESPACE:"skywalking-index"}
        clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:es-cn-4591kzdzk000i****.public.elasticsearch.aliyuncs.com:9200}
        protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"http"}
       # trustStorePath: ${SW_SW_STORAGE_ES_SSL_JKS_PATH:"../es_keystore.jks"}
       # trustStorePass: ${SW_SW_STORAGE_ES_SSL_JKS_PASS:""}
        enablePackedDownsampling: ${SW_STORAGE_ENABLE_PACKED_DOWNSAMPLING:true} # Hour and Day metrics will be merged into minute index.
        dayStep: ${SW_STORAGE_DAY_STEP:1} # Represent the number of days in the one minute/hour/day index.
        user: ${SW_ES_USER:"elastic"}
        password: ${SW_ES_PASSWORD:"es_password"}
    Catatan

    SkyWalking menyimpan data di H2 secara default. Namun, H2 tidak mendukung penyimpanan data persisten. Oleh karena itu, Anda harus mengubah H2 menjadi Elasticsearch.

    Parameter

    Deskripsi

    selector

    Pemilih penyimpanan. Untuk contoh ini, atur nilainya menjadi elasticsearch7.

    nameSpace

    Ruang nama. Nilai parameter ini digunakan sebagai awalan untuk nama semua indeks di kluster Elasticsearch.

    clusterNodes

    Titik akhir kluster Elasticsearch. Kluster Elasticsearch tidak berada di virtual private cloud (VPC) yang sama dengan SkyWalking. Anda harus menggunakan titik akhir publik untuk mengakses kluster Elasticsearch. Untuk informasi lebih lanjut tentang cara memperoleh titik akhir publik kluster Elasticsearch, lihat Lihat informasi dasar kluster.

    user

    Nama pengguna yang digunakan untuk mengakses kluster Elasticsearch. Nama pengguna default adalah elastic.

    password

    Kata sandi yang digunakan untuk mengakses kluster Elasticsearch. Kata sandi pengguna elastic ditentukan saat Anda membuat kluster Elasticsearch. Jika Anda lupa kata sandi, Anda dapat menyetel ulang. Untuk informasi lebih lanjut tentang cara menyetel ulang kata sandi, lihat Setel ulang kata sandi akses untuk kluster Elasticsearch.

    Penting

    Tentukan hanya nama pengguna dan kata sandi. Komentari trustStorePath dan trustStorePass. Jika tidak, pesan kesalahan "NoSuchFileException:../es_keystore.jks" dilaporkan.

  3. Opsional:Ubah alamat IP atau nomor port untuk mendengarkan.

    Secara default, SkyWalking berkomunikasi dengan Elasticsearch melalui port 12800 untuk operasi RESTful API dan melalui port 11800 untuk operasi gRPC API. Alamat IP atau nomor port dapat diubah di bagian inti file application.yml. Dalam topik ini, nilai default digunakan.

    core:
      selector: ${SW_CORE:default}
      default:
        # Mixed: Receive agent data, Level 1 aggregate, Level 2 aggregate
        # Receiver: Receive agent data, Level 1 aggregate
        # Aggregator: Level 2 aggregate
        role: ${SW_CORE_ROLE:Mixed} # Mixed/Receiver/Aggregator
        restHost: ${SW_CORE_REST_HOST:0.0.0.0}
        restPort: ${SW_CORE_REST_PORT:12800}
        restContextPath: ${SW_CORE_REST_CONTEXT_PATH:/}
        gRPCHost: ${SW_CORE_GRPC_HOST:0.0.0.0}
        gRPCPort: ${SW_CORE_GRPC_PORT:11800}
  4. Opsional:Di folder webapp, modifikasi konfigurasi di file webapp.yml.

    Konfigurasi default digunakan dalam topik ini. Anda dapat memodifikasi konfigurasi berdasarkan kebutuhan bisnis Anda.

    server:
      port: 8080
    collector:
      path: /graphql
      ribbon:
        ReadTimeout: 10000
        # Point to all backend's restHost:restPort, split by ,
        listOfServers: 127.0.0.1:12800

Langkah 3: Verifikasi hasil

  1. Jalankan perintah berikut untuk memulai SkyWalking di server Linux:

    cd ../bin
    ./startup.sh
    Penting
    • Sebelum Anda memulai SkyWalking, pastikan bahwa kluster Elasticsearch berjalan normal.

    • SkyWalking Collector dan SkyWalking UI juga dimulai setelah Anda menjalankan perintah startup.sh.

    Jika SkyWalking dimulai, hasil berikut dikembalikan:

    SkyWalking OAP started successfully!
    SkyWalking Web Application started successfully!
  2. Masukkan http://<alamat IP server Linux>:8080/ di bilah alamat browser Anda.

    Access SkyWalking

    Catatan

    Jika ini pertama kalinya Anda menggunakan SkyWalking untuk terhubung ke Elasticsearch, startup lambat. Hal ini karena SkyWalking perlu membuat sejumlah besar indeks di Elasticsearch. Sebelum pembuatan selesai, halaman yang diakses kosong. Anda dapat melihat log yang disimpan di <jalur instalasi SkyWalking>logs/skywalking-oap-server.log untuk memeriksa apakah pembuatan telah selesai.

  3. Masuk ke konsol Kibana kluster Elasticsearch. Untuk informasi lebih lanjut, lihat Masuk ke Konsol Kibana. Kemudian, jalankan perintah GET _cat/indices?v untuk melihat data indeks.

    Di hasil yang dikembalikan, sejumlah besar indeks yang namanya dimulai dengan skywalking-index ada.Indexes whose names start with skywalking-index