All Products
Search
Document Center

Elasticsearch:Integrasikan aliyun-timestream dengan Prometheus dan Grafana

Last Updated:Aug 20, 2026

aliyun-timestream adalah mesin deret waktu yang dikembangkan oleh tim Alibaba Cloud Elasticsearch bersama komunitas Elastic, menggabungkan fitur-fitur dari produk deret waktu komunitas tersebut. Alibaba Cloud Elasticsearch menyediakan integrasi tanpa hambatan dengan Prometheus dan Grafana, mendukung API Prometheus Query Language (PromQL), serta memungkinkan Anda menggunakan indeks deret waktu secara langsung sebagai sumber data Prometheus di Grafana. Konfigurasi ini meningkatkan performa penyimpanan dan kueri data metrik deret waktu sekaligus mengurangi biaya. Panduan ini menjelaskan cara menggunakan mesin aliyun-timestream untuk berintegrasi dengan Prometheus dan Grafana demi observabilitas cloud-native.

Latar Belakang

Penyimpanan lokal Prometheus memiliki keterbatasan berikut:

  • Tidak ada replika data: Jika node kluster lokal gagal, Prometheus menjadi tidak dapat diakses.

  • Penyimpanan single-node: Seiring pertumbuhan volume data, Anda mungkin menghadapi bottleneck perangkat keras yang menghalangi skalabilitas.

  • Tidak ada kemampuan backup: Kehilangan data dapat terjadi jika hard disk rusak.

  • Biaya penyimpanan disk lokal tinggi: Tidak mendukung pemisahan data hot-cold.

Pengaturan Prometheus ber-availability tinggi memerlukan solusi penyimpanan remote terdistribusi dan highly available. Mesin aliyun-timestream untuk Alibaba Cloud Elasticsearch menyediakan kemampuan penyimpanan dan kueri remote untuk Prometheus. Dibangun di atas arsitektur Elasticsearch yang terdistribusi, elastis, dan highly available—yang juga mendukung backup dan pemisahan data hot-cold—aliyun-timestream merupakan pilihan unggul untuk penyimpanan remote Prometheus.

Gambar berikut menunjukkan bagaimana Alibaba Cloud Elasticsearch berintegrasi dengan Prometheus dan Grafana.ES+Prometheus+Grafana架构

Berikut cara kerjanya:

  1. Prometheus mengumpulkan data dari berbagai exporter.

  2. Prometheus menggunakan fitur remote write untuk mengirim data yang dikumpulkan ke Alibaba Cloud Elasticsearch.

  3. Anda dapat melihat data tersebut di Kibana atau Grafana.

    Catatan

    Saat menggunakan Grafana untuk mengakses data di Alibaba Cloud Elasticsearch, Anda dapat menggunakan sumber data Elasticsearch native atau sumber data Prometheus. Sumber data Prometheus memungkinkan Anda langsung melakukan kueri data di Elasticsearch menggunakan PromQL.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • Kluster Alibaba Cloud Elasticsearch yang memenuhi salah satu persyaratan versi berikut:

    • Versi kluster V7.10, versi kernel V1.8.0 atau lebih baru

    • Versi kluster V7.16 atau lebih baru, versi kernel V1.7.0 atau lebih baru

Untuk petunjuk membuat kluster, lihat Buat kluster Alibaba Cloud Elasticsearch.

Prosedur

  1. Langkah 1: Siapkan lingkungan

  2. Langkah 2: Unduh dan jalankan node_exporter

  3. Langkah 3: Unduh, konfigurasikan, dan jalankan Prometheus

  4. Langkah 4: Unduh, jalankan, dan konfigurasikan dasbor Grafana

Langkah 1: Siapkan lingkungan

  1. Buat kluster Alibaba Cloud Elasticsearch Edisi Komersial tujuan umum versi 7.16.

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

  2. Buat Instance ECS di VPC yang sama dengan instans Elasticsearch yang Anda buat di Langkah 1, dan pilih Linux sebagai sistem operasi.

    Untuk detail pembuatan Instance ECS, lihat Buat instance dengan Custom Launch. Instance ECS ini digunakan untuk mengakses kluster Alibaba Cloud Elasticsearch serta men-deploy Prometheus dan Grafana.

  3. Buat indeks deret waktu di Elasticsearch untuk menyimpan data dari Prometheus.

    1. Login ke konsol Kibana untuk kluster Alibaba Cloud Elasticsearch Anda.

      Untuk informasi lebih lanjut, lihat Login ke konsol Kibana.

    2. Di panel navigasi kiri, klik ikon 展开图标 lalu pilih Management > Dev Tools.

    3. Di console, jalankan perintah PUT _time_stream/prom_index untuk membuat indeks deret waktu bernama prom_index.

Langkah 2: Unduh dan jalankan node_exporter

node_exporter mengumpulkan berbagai metrik terkait perangkat keras dan kernel, lalu mengeksposnya agar dapat di-scrape oleh Prometheus. Untuk informasi lebih lanjut, lihat node_exporter.

  1. Hubungkan ke Instance ECS.

    Untuk informasi lebih lanjut, lihat Login ke instance Linux menggunakan password atau kunci.

    Catatan

    Dokumen ini menggunakan pengguna non-root untuk semua operasi.

  2. Unduh paket instalasi node_exporter.

    Panduan ini menggunakan node_exporter 1.3.1 sebagai contoh. Jalankan perintah berikut untuk mengunduhnya:

    wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
  3. Ekstrak paket instalasi dan jalankan node_exporter.

    tar xvfz node_exporter-1.3.1.linux-amd64.tar.gz
    cd node_exporter-1.3.1.linux-amd64
    ./node_exporter

Langkah 3: Unduh, konfigurasikan, dan jalankan Prometheus

  1. Hubungkan ke Instance ECS.

    Untuk informasi lebih lanjut, lihat Login ke instance Linux menggunakan password atau kunci.

  2. Di direktori home, unduh paket instalasi Prometheus.

    Panduan ini menggunakan Prometheus 2.36.2 sebagai contoh. Jalankan perintah berikut untuk mengunduhnya:

    cd ~
    wget https://github.com/prometheus/prometheus/releases/download/v2.36.2/prometheus-2.36.2.linux-amd64.tar.gz
  3. Ekstrak paket instalasi Prometheus.

    tar xvfz prometheus-2.36.2.linux-amd64.tar.gz
  4. Di file prometheus.yml, konfigurasikan node_exporter dan remote_write.

    cd prometheus-2.36.2.linux-amd64
    vim prometheus.yml

    Kode berikut memberikan contoh konfigurasi:

    scrape_configs:
      # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
      - job_name: 'prometheus'
    
        # metrics_path defaults to '/metrics'
        # scheme defaults to 'http'.
    
        static_configs:
        - targets: ['localhost:9090']
    
      # Configure node_exporter.
      - job_name: "node"
        static_configs:
        - targets: ["127.0.0.1:9100"]
    
    # Configure remote_write. Ensure that Prometheus can access the Elasticsearch cluster.
    remote_write:
      - url: "http://xxx:9200/_time_stream/prom_write/prom_index"
        basic_auth:
         username: elastic
         password: xxxx

    Parameter

    Deskripsi

    node_exporter

    Konfigurasikan informasi koneksi untuk node_exporter. Atur targets ke alamat akses dan port node_exporter.

    Karena panduan ini menggunakan Instance ECS yang sama untuk men-deploy Prometheus dan node_exporter, alamat IP-nya adalah 127.0.0.1 dan menggunakan port default 9100.

    remote_write

    Pengaturan koneksi untuk indeks deret waktu di kluster Alibaba Cloud Elasticsearch Anda. Anda harus mengonfigurasi parameter dasar berikut. Untuk parameter lanjutan, lihat remote_write.

    • url: URL titik akhir untuk indeks deret waktu, dalam format berikut: http://<titik_akhir_publik_atau_internal_kluster_Elasticsearch_anda>:9200/_time_stream/prom_write/<indeks_deret_waktu_anda>.

      Catatan
      • Titik akhir publik atau internal kluster Elasticsearch Anda: Temukan ini di halaman Basic Information konsol kluster Alibaba Cloud Elasticsearch Anda. Jika Instance ECS tempat Prometheus dideploy berada di VPC yang sama dengan kluster Elasticsearch Anda, gunakan titik akhir internal seperti pada contoh ini. Jika tidak, Anda harus menggunakan titik akhir publik dan mengonfigurasi Daftar putih alamat IP publik. Untuk informasi lebih lanjut, lihat Kelola Daftar putih alamat IP.

      • <indeks_deret_waktu_anda>: Nama indeks deret waktu yang menerima data dari Prometheus. Anda harus membuat indeks ini terlebih dahulu. Panduan ini menggunakan prom_index sebagai contoh.

    • username: Username untuk mengakses indeks deret waktu. Default-nya adalah elastic. Anda juga dapat menggunakan pengguna kustom, tetapi pastikan pengguna tersebut memiliki izin yang diperlukan untuk mengakses dan mengelola indeks deret waktu. Untuk informasi lebih lanjut, lihat Kelola kontrol akses dengan peran X-Pack Elasticsearch.

    • password: Password untuk pengguna yang ditentukan. Password untuk akun elastic ditetapkan saat Anda membuat kluster. Jika lupa, Anda dapat mengatur ulang. Untuk informasi lebih lanjut, lihat Atur ulang password kluster Elasticsearch.

  5. Jalankan Prometheus.

    ./prometheus
  6. Verifikasi bahwa data Prometheus sedang dikirim ke indeks deret waktu di Elasticsearch.

    Di konsol Kibana untuk kluster Alibaba Cloud Elasticsearch Anda, jalankan perintah berikut untuk verifikasi:

    • Periksa apakah indeks prom_index berisi data.

      GET _cat/indices/prom_index?v&s=i

      Hasil yang diharapkan:

      PUT _time_stream/prom_index
      
      GET _cat/indices/prom_index?v&s=i
      
      health status index                              uuid                pri rep docs.count docs.deleted store.size pri.store.size
      green  open   .ds-prom_index-2022.06.29-000001 U-y2z4j4RyWlKmxxx   1   1        178            0      5.6kb          226b
    • Konfirmasi bahwa Anda dapat melakukan kueri dan melihat data.

      GET prom_index/_search

      Hasil yang diharapkan:

      PUT _time_stream/prom_index
      GET _cat/indices/prom_index?v&s=i
      GET prom_index/_search
      
      {
        "took" : 354,
        "timed_out" : false,
        "_shards" : {
          "total" : 1,
          "successful" : 1,
          "skipped" : 0,
          "failed" : 0
        },
        "hits" : {
          "total" : {
            "value" : 3036,
            "relation" : "eq"
          },
          "max_score" : 1.0,
          "hits" : [
            {
              "_index" : ".ds-prom_index-2022.06.29-000001",
              "_type" : "_doc",
              "_id" : "kBXXroEBMnT0XiRApR78",
              "_score" : 1.0,
              "_source" : {
                "labels" : {
                  "instance" : "localhost:9090",
                  "job" : "prometheus"
                },
                "metrics" : {
                  "prometheus_remote_storage_exemplars_in_total" : 0.0,
                  "prometheus_target_scrape_pools_failed_total" : 0.0,
                  "prometheus_tsdb_data_replay_duration_seconds" : 6.66077E-4,
                  "prometheus_tsdb_wal_completed_pages_total" : 1.0,
                  "prometheus_tsdb_lowest_timestamp" : 1.656495558477E12,
                  "prometheus_tsdb_head_gc_duration_seconds_count" : 0.0,
                  "prometheus_tsdb_out_of_bound_samples_total" : 0.0,
                  "prometheus_tsdb_isolation_high_watermark" : 30.0,
                  "prometheus_tsdb_storage_blocks_bytes" : 0.0,
                  "up" : 1.0,
                  "go_gc_duration_seconds_sum" : 9.66942E-4,
                  "process_cpu_seconds_total" : 2.96,
                  "prometheus_tsdb_wal_writes_failed_total" : 0.0,
                  "prometheus_tsdb_head_max_time_seconds" : 1.656495768E9,
                  "prometheus_tsdb_head_chunks_created_total" : 455.0,
                  "prometheus_sd_kuma_fetch_duration_seconds_sum" : 0.0
                }
              }
            }
          ]
        }
      }

Langkah 4: Unduh, jalankan, dan konfigurasikan Grafana

  1. Hubungkan ke Instance ECS.

    Untuk informasi lebih lanjut, lihat Login ke instance Linux menggunakan password atau kunci.

  2. Di direktori home, unduh paket instalasi Grafana.

    Panduan ini menggunakan Grafana 9.0.2 sebagai contoh. Jalankan perintah berikut untuk mengunduhnya:

    cd ~
    wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.0.2.linux-amd64.tar.gz
  3. Ekstrak paket instalasi Grafana dan jalankan Grafana.

    tar xvfz grafana-enterprise-9.0.2.linux-amd64.tar.gz
    cd grafana-9.0.2
    ./bin/grafana-server
  4. Di browser web, buka http://<IP_publik_ECS_anda>:3000 untuk membuka halaman login Grafana. Masukkan username dan password Anda untuk mengakses konsol Grafana.

    • Saat login pertama kali, gunakan admin untuk username dan password. Anda akan diminta mengganti password.

    • Untuk menemukan alamat IP publik Instance ECS Anda, buka Konsol ECS dan temukan alamat tersebut di kolom IP Address untuk instance Anda.

    • Port default Grafana adalah 3000. Untuk mengakses port ini, tambahkan aturan inbound ke grup keamanan Instance ECS Anda. Atur port Destination ke 3000 dan Source ke alamat IP client Anda. Untuk informasi lebih lanjut, lihat Tambahkan aturan grup keamanan.

  5. Tambahkan sumber data Prometheus di Grafana.

    1. Di bilah navigasi kiri konsol Grafana, pilih Settings icon > Data sources.

    2. Di tab Data sources, klik Add data source.

    3. Di daftar Time series databases, klik Prometheus.

    4. Di tab Settings, konfigurasikan sumber data Prometheus.

      Tabel berikut menjelaskan parameter yang harus dikonfigurasi untuk contoh ini.

      Parameter

      Deskripsi

      URL

      URL titik akhir untuk indeks deret waktu, dalam format berikut: http://<titik_akhir_publik_atau_internal_kluster_Elasticsearch_anda>:9200/_time_stream/prom/<indeks_deret_waktu_anda>.

      Catatan
      • Titik akhir publik atau internal kluster Elasticsearch Anda: Temukan ini di halaman Basic Information konsol kluster Alibaba Cloud Elasticsearch Anda. Jika Instance ECS tempat Prometheus dideploy berada di VPC yang sama dengan kluster Elasticsearch Anda, gunakan titik akhir internal seperti pada contoh ini. Jika tidak, Anda harus menggunakan titik akhir publik dan mengonfigurasi Daftar putih alamat IP publik. Untuk informasi lebih lanjut, lihat Kelola Daftar putih alamat IP.

      • <indeks_deret_waktu_anda>: Nama indeks deret waktu yang menerima data dari Prometheus. Anda harus membuat indeks ini terlebih dahulu. Panduan ini menggunakan prom_index sebagai contoh.

      Basic auth

      Mengaktifkan atau menonaktifkan Basic Authentication untuk kluster. Saat diaktifkan, Anda harus menyediakan username dan password.

      User

      Username untuk mengakses indeks deret waktu. Default-nya adalah elastic. Anda juga dapat menggunakan pengguna kustom, tetapi pastikan pengguna tersebut memiliki izin yang diperlukan untuk mengakses dan mengelola indeks deret waktu. Untuk informasi lebih lanjut, lihat Kelola kontrol akses dengan peran X-Pack Elasticsearch.

      Password

      Password untuk pengguna yang ditentukan. Password untuk akun elastic ditetapkan saat Anda membuat kluster. Jika lupa, Anda dapat mengatur ulang. Untuk informasi lebih lanjut, lihat Atur ulang password kluster Elasticsearch.

    5. Klik Save & test.

      Jika konfigurasi berhasil, pesan Data source is working akan muncul.

  6. Di Grafana, buat dasbor untuk sumber data Prometheus.

    1. Di bilah navigasi kiri konsol Grafana, pilih Dashboard > New dashboard.

    2. Klik Add a new panel.

    3. Pilih data source, pilih rentang waktu, lalu klik Run queries.

      Sebagai contoh, atur Data source ke test_datastream, atur Metric ke go_gc_duration_seconds, dan atur rentang waktu ke Last 2 days.

    4. Klik Save di pojok kanan atas untuk menyimpan dasbor.

  7. Di Grafana, impor dasbor default node_exporter dan hubungkan ke sumber data Prometheus Anda untuk memantau metrik.

    1. Di bilah navigasi kiri konsol Grafana, pilih Dashboard > Import.

    2. Di kotak teks Import via grafana.com, masukkan URL dasbor https://grafana.com/grafana/dashboards/1860 atau ID 1860.

    3. Klik Load.

    4. Di halaman konfigurasi, dari daftar drop-down sumber data Prometheus, pilih sumber data yang telah Anda buat.

    5. Klik Import.

    6. Di dasbor, pilih rentang waktu di pojok kanan atas untuk melihat metrik periode tersebut.

      指标监控Dashboard

      Catatan

      Untuk informasi lebih rinci tentang Grafana, lihat Dokumentasi Grafana.

Referensi