All Products
Search
Document Center

Cloud Monitor:Tambahkan sumber data Prometheus di Grafana

Last Updated:Aug 20, 2026

Alibaba Cloud Managed Service for Prometheus menyediakan URL API HTTP yang memungkinkan Anda mengakses data pemantauan Prometheus dari Grafana atau mengambil data menggunakan API Prometheus untuk pengembangan kustom.

Prasyarat

Anda telah mengintegrasikan sumber data dengan Prometheus. Untuk informasi selengkapnya, lihat topik berikut:

Langkah 1: Dapatkan URL API HTTP

  1. Masuk ke Konsol Cloud Monitor. Di bilah navigasi kiri, pilih Prometheus Monitoring > Instance List untuk membuka halaman Instance List.

  2. Di bilah navigasi atas, pilih Prometheus tempat instans Prometheus dideploy. Temukan instans target dan klik Settings di kolom Actions.

  3. Di tab Settings, salin URL API HTTP untuk jaringan publik atau internal sesuai kebutuhan.

    Anda juga dapat mengklik Generate token untuk meningkatkan keamanan pembacaan data.

  4. Untuk instans Prometheus V1, jika Anda perlu meningkatkan keamanan pembacaan data di Grafana, klik Generate token untuk mendapatkan token otentikasi untuk instans Prometheus tersebut.

    Penting
    • Instans V1: Setelah membuat token, Anda harus mengonfigurasikannya saat menambahkan sumber data di Grafana. Jika tidak, data pemantauan tidak dapat dibaca dari instans Prometheus.

    • Instans V2: Secara default, Anda harus menggunakan ID AccessKey dan rahasia AccessKey akun Anda untuk mengakses data. Pengguna RAM yang memiliki ID AccessKey tersebut harus memiliki izin sistem AliyunPrometheusMetricReadAccess atau AliyunCloudMonitorFullAccess.

Langkah 2: Tambahkan sumber data di Grafana

Grafana yang Dikelola Sendiri

Bagian ini menggunakan contoh Grafana v10.x. Untuk informasi tentang penambahan sumber data di versi lain, lihat dokumentasi resmi Grafana.

  1. Konfigurasikan sumber data Grafana.

    1. Masuk ke Grafana yang Anda kelola sendiri sebagai administrator.

    2. Di pojok kiri atas halaman, klik ikon menu image dan pilih Administration > Data sources.

    3. Klik + Add new data source dan pilih Prometheus sebagai jenis sumber data.

    4. Di tab Settings, masukkan nama kustom di bidang Name. Di bidang Prometheus server URL, tempel URL API HTTP yang Anda peroleh di Langkah 1.

    5. Konfigurasikan otentikasi.

      Instans V1 (opsional)

      Klik + Add header. Di bagian Custom HTTP Headers, klik +Add header, atur Header menjadi Authorization, dan atur Value ke token otentikasi yang diperoleh di Langkah 1.

      Instans V2

      Aktifkan Basic auth. Atur User ke ID AccessKey Anda dan Password ke rahasia AccessKey Anda.

  2. Di bagian bawah halaman, klik Save & Test.

  3. Kueri metrik Prometheus.

    1. Masuk ke sistem Grafana Anda.

    2. Di pojok kiri atas halaman, klik ikon menu image lalu klik Dashboards di panel navigasi kiri.

    3. Di halaman Dashboards, klik New di pojok kanan atas, lalu klik New dashboard di menu drop-down.

    4. Klik + Add visualization. Di halaman Select data source, pilih sumber data yang telah Anda buat.

    5. Di halaman Edit Panel, buka tab Query. Di bagian A, masukkan nama dan nilai metrik di bidang Metrics dan Label filters, lalu klik Run queries.

      Jika grafik untuk metrik tersebut muncul, berarti pengaturan berhasil. Jika tidak, pastikan URL API dan token sudah benar serta sumber data berisi data pemantauan Prometheus.

      image

Managed Service for Grafana

Managed Service for Grafana menyediakan integrasi satu-klik untuk sumber data Prometheus dan dasbor.

  1. Masuk ke Konsol ARMS. Di panel navigasi kiri, pilih Managed Service for Grafana > Workspace Management, lalu klik ID ruang kerja Anda.

  2. Di halaman Workspace Information, temukan bagian Cloud Service Integration dan klik Prometheus Monitoring Service. Lalu, temukan instans Anda dan klik Integrate.

  3. Di kotak dialog yang muncul, klik OK.

    Jika Anda mengintegrasikan instans Prometheus V2, Anda harus memasukkan ID AccessKey untuk sumber data tersebut.

  4. Setelah sinkronisasi selesai, klik ikon folder di sebelah kanan.

  5. Di Grafana, pada tab Dashboards, klik nama dasbor untuk melihat dasbor default bawaan untuk pemantauan aplikasi.

  6. Di pojok kiri atas halaman, klik ikon menu image dan pilih Administration > Data sources untuk melihat sumber data pemantauan aplikasi yang telah ditambahkan.

  7. Kueri metrik Prometheus.

    1. Masuk ke sistem Grafana Anda.

    2. Di pojok kiri atas halaman, klik ikon menu image lalu klik Dashboards di panel navigasi kiri.

    3. Di halaman Dashboards, klik New di pojok kanan atas, lalu klik New dashboard di menu drop-down.

    4. Klik + Add visualization. Di halaman Select data source, pilih sumber data yang telah Anda buat.

    5. Di halaman Edit Panel, buka tab Query. Di bagian A, masukkan nama dan nilai metrik di bidang Metrics dan Label filters, lalu klik Run queries.

      Jika grafik untuk metrik tersebut muncul, berarti pengaturan berhasil. Jika tidak, pastikan URL API dan token sudah benar serta sumber data berisi data pemantauan Prometheus.

      image

Langkah 3: Ambil data Prometheus

Kode berikut menunjukkan contoh permintaan untuk mengambil data pemantauan Prometheus. Untuk informasi selengkapnya tentang penggunaan API HTTP, lihat dokumentasi API HTTP Prometheus open-source.

Instans V1

GET {HTTP API URL}/api/v1/query
Accept: application/json
Content-Type: application/json
Authorization: {Token}
{
  "query":"arms_prometheus_target_interval_length_seconds_sum",
  "time":"1635302655",
  "timeout":"1000"
}
Catatan

Ganti {HTTP API URL} dan {Token} dengan URL API HTTP dan token otentikasi yang Anda peroleh di Langkah 1.

Instans V2

GET {HTTP API URL}/api/v1/query
Accept: application/json
Content-Type: application/json
Authorization: Basic <base64Encode(<AccessKey ID:AccessKey secret>)>
{
  "query":"arms_prometheus_target_interval_length_seconds_sum",
  "time":"1635302655",
  "timeout":"1000"
}
Catatan
  • Ganti {HTTP API URL} dengan URL API HTTP yang Anda peroleh di Langkah 1.

  • API mendukung otentikasi STS. Jika Anda menggunakan metode ini, rahasia AccessKey dalam BasicAuth harus dalam format berikut: {AccessKey secret}${STS Token}. Untuk informasi selengkapnya, lihat Apa itu STS?.

Anda juga dapat menggunakan Python dan library requests untuk memanggil API. Contoh berikut menunjukkan cara melakukan kueri data pemantauan Prometheus dengan otentikasi V2 Basic Auth dan V1 Token.

Instans V2 (Basic Auth)

import base64
import requests

access_key_id = "<AccessKey ID>"
access_key_secret = "<AccessKey secret>"
http_api_url = "{http_api_url}"

credentials = f"{access_key_id}:{access_key_secret}"
auth_header = base64.b64encode(credentials.encode()).decode()

headers = {
    "Accept": "application/json",
    "Content-Type": "application/json",
    "Authorization": f"Basic {auth_header}"
}

response = requests.get(
    f"{http_api_url}/api/v1/query",
    params={"query": "up"},
    headers=headers
)

result = response.json()
print(result["status"])
print(result["data"]["result"])

Instans V1 (Token)

import requests

http_api_url = "{http_api_url}"
token = "{token}"

headers = {
    "Accept": "application/json",
    "Content-Type": "application/json",
    "Authorization": token
}

response = requests.get(
    f"{http_api_url}/api/v1/query",
    params={"query": "up"},
    headers=headers
)

result = response.json()
print(result["status"])
print(result["data"]["result"])
Catatan

Ganti {http_api_url} dengan URL API HTTP yang Anda peroleh di Langkah 1, dan ganti {token} dengan token otentikasi yang Anda peroleh di Langkah 1.

Tanggapan contoh:

Buka untuk melihat tanggapan contoh

{
    "status": "success",
    "data": {
        "resultType": "vector",
        "result": [
            {
                "metric": {
                    "__name__": "arms_prometheus_target_interval_length_seconds_sum",
                    "instance": "localhost:9335",
                    "interval": "15s",
                    "job": "_arms-prom/kubelet/1"
                },
                "value": [
                    1635302655,
                    "146655.24420603***"
                ]
            },
            {
                "metric": {
                    "__name__": "arms_prometheus_target_interval_length_seconds_sum",
                    "instance": "localhost:9335",
                    "interval": "30s",
                    "job": "_arms-prom/kubelet/1"
                },
                "value": [
                    1635302655,
                    "879810.747346***"
                ]
            },
            {
                "metric": {
                    "__name__": "arms_prometheus_target_interval_length_seconds_sum",
                    "instance": "localhost:9335",
                    "interval": "20s",
                    "job": "_arms-prom/kubelet/1"
                },
                "value": [
                    1635302655,
                    "73320.13578499***"
                ]
            }
        ]
    }