Tüm Ürünler
Search
Belge Merkezi

Managed Service for Prometheus:Access Prometheus monitoring data through HTTP API URLs

Son Güncelleme:Oct 07, 2026

Managed Service for Prometheus, izleme verilerini Alibaba Cloud konsolunun dışından sorgulamanızı sağlayan HTTP API URL'leri sunar. İki yaygın kullanım durumu şunlardır:

  • Kendi yönetiminizdeki Grafana: Metrikleri kendi Grafana örneğinizde görselleştirmek için HTTP API URL'sini bir Prometheus veri kaynağı olarak ekleyin.

  • Özel uygulamalar: Metrikleri programatik olarak almak için Prometheus uyumlu HTTP API'yi doğrudan çağırın.

Kimlik doğrulama

Managed Service for Prometheus, her biri farklı bir kimlik doğrulama yöntemi kullanan iki örnek sürümünü destekler.

Örnek sürümü Kimlik doğrulama yöntemi Kimlik bilgileri
Prometheus V1 Belirteç tabanlı (isteğe bağlı) Konsolda oluşturulan kimlik doğrulama belirteci
Prometheus V2 Temel kimlik doğrulama (zorunlu) Hesabınızın AccessKey ID ve AccessKey Secret değeri; ilişkili RAM kullanıcısının AliyunPrometheusMetricReadAccess veya AliyunCloudMonitorFullAccess iznine sahip olması gerekir
Önemli

Prometheus V2 için veri erişimi için hesabınızın AccessKey ID ve AccessKey Secret değerleri gerekir. Ayrıca ilişkili RAM kullanıcısının AliyunPrometheusMetricReadAccess veya AliyunCloudMonitorFullAccess sistem izni ne sahip olması gerekir.

Ön koşullar

Başlamadan önce aşağıdaki gereksinimlere sahip olduğunuzdan emin olun:

HTTP API URL'sini alma

  1. CloudMonitor konsoluna giriş yapın.

  2. Sol gezinme bölmesinde Managed Service for Prometheus > Instances seçeneğini seçin.

  3. Üst gezinme çubuğundan Prometheus örneğinizin bulunduğu bölgeyi seçin.

  4. Prometheus örneğinizi bulun ve Actions sütunundaki Settings seçeneğine tıklayın.

  5. Settings sekmesinde HTTP API URL'sini kopyalayın. HTTP API URL on the Settings tab

    • Grafana örneğiniz veya uygulamanız Alibaba Cloud dahili ağının dışında ise public URL'yi kullanın.

    • Grafana örneğiniz veya uygulamanız aynı Alibaba Cloud bölgesi içinde çalışıyorsa ve dahili uç noktalara erişebiliyorsa internal URL'yi kullanın.

  6. (Yalnızca Prometheus V1) Bir kimlik doğrulama belirteci oluşturmak için Generate Token seçeneğine tıklayın. Bu belirteci daha sonra kullanmak üzere kaydedin.

Önemli

Prometheus V1 örneğinde, bir belirteç oluşturduktan sonra bunu Grafana veri kaynağını yapılandırırken belirtmeniz gerekir. Belirteç olmadan Grafana, örnekten izleme verilerini okuyamaz.

Kendi yönetiminizdeki Grafana veri kaynağını yapılandırma

Veri kaynağını ekleme

  1. Yönetici olarak Grafana örneğinizde oturum açın.

  2. Connections > Data sources menüsüne gidin.

    Bu menü yalnızca Grafana yöneticileri tarafından görülebilir. Grafana 8 ve önceki sürümlerde Configuration > Data sources yolunu izleyin. Connections menüsü Grafana 9 ve sonraki sürümlerde kullanılabilir.
  3. + Add data source seçeneğine tıklayın ve ardından Prometheus öğesini seçin.

  4. Name alanına veri kaynağı için açıklayıcı bir ad girin.

  5. (HTTP bölümü altındaki) Prometheus server URL alanına daha önce kopyaladığınız HTTP API URL'sini yapıştırın.

Kimlik doğrulamayı yapılandırma

Prometheus örnek sürümünüz için aşağıdaki adımları izleyin.

Prometheus V1

Bir belirteç oluşturduysanız bunu özel bir HTTP üst bilgisi olarak ekleyin:

  1. Custom HTTP Headers bölümünde + Add header seçeneğine tıklayın.

  2. Header değerini Authorization olarak ayarlayın.

  3. Value değerini kimlik doğrulama belirtecine ayarlayın.

Custom HTTP header configuration for Prometheus V1

Prometheus V2

  1. Basic auth seçeneğini etkinleştirin.

  2. User değerini AccessKey ID'nize ayarlayın.

  3. Password değerini AccessKey Secret değerinize ayarlayın.

Basic auth configuration for Prometheus V2

Kaydetme ve test etme

Save & test seçeneğine tıklayın. Başarılı mesajı, Grafana'nın Prometheus veri kaynağına ulaşabildiğini gösterir.

Grafana'daki veri kaynağını doğrulama

  1. Grafana'da Dashboards menüsüne gidin ve New > New dashboard seçeneğine tıklayın.

  2. + Add visualization seçeneğine tıklayın ve yapılandırdığınız veri kaynağını seçin.

  3. Edit Panel sayfasında Query sekmesini açın. A bölümünde, Metrics alanına bir metrik adı girin (örneğin, arms_prometheus_target_interval_length_seconds_sum) ve gerekirse Label filters öğelerini yapılandırın.

  4. Run queries seçeneğine tıklayın.

Grafikte metrik verileri görüntüleniyorsa veri kaynağı çalışıyor demektir. Grafik görünmüyorsa API URL'sinin veya belirtecin geçerli olup olmadığını ve veri kaynağında izleme verisi bulunup bulunmadığını kontrol edin. Daha fazla yardım için bkz. Sorun giderme.

HTTP API'yi programatik olarak sorgulama

Aşağıdaki örnekler anlık sorgular için /api/v1/query uç noktasını kullanır. Aralık sorguları (/api/v1/query_range), seri meta verileri ve diğer uç noktalar için Prometheus HTTP API referansına bakın.

Prometheus V1

curl -G '<your-http-api-url>/api/v1/query' \
  -H 'Authorization: <your-token>' \
  -H 'Accept: application/json' \
  --data-urlencode 'query=arms_prometheus_target_interval_length_seconds_sum' \
  --data-urlencode 'time=1635302655' \
  --data-urlencode 'timeout=1000'

Aşağıdaki yer tutucuları gerçek değerlerle değiştirin:

Yer tutucu Açıklama Örnek
<your-http-api-url> Settings sekmesindeki HTTP API URL'si https://cn-hangzhou.arms.aliyuncs.com/...
<your-token> Konsolda oluşturulan kimlik doğrulama belirteci eyJhbGciOi...

requests kitaplığını kullanarak API'yi Python'dan da çağırabilirsiniz:

import requests

token = "your-token"
api_url = "https://your-prometheus-api-url"

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

data = response.json()
for result in data["data"]["result"]:
    print(f"Metric: {result['metric']}")
    print(f"Value: {result['value']}")
Not

token değerini 1. adımda oluşturulan kimlik doğrulama belirteciyle ve api_url değerini HTTP API URL'nizle değiştirin.

Prometheus V2

curl -G '<your-http-api-url>/api/v1/query' \
  -u '<your-accesskey-id>:<your-accesskey-secret>' \
  -H 'Accept: application/json' \
  --data-urlencode 'query=arms_prometheus_target_interval_length_seconds_sum' \
  --data-urlencode 'time=1635302655' \
  --data-urlencode 'timeout=1000'

Aşağıdaki yer tutucuları gerçek değerlerle değiştirin:

Yer tutucu Açıklama Örnek
<your-http-api-url> Settings sekmesindeki HTTP API URL'si https://cn-hangzhou.arms.aliyuncs.com/...
<your-accesskey-id> Hesabınızın AccessKey ID değeri LTAI5tXxx...
<your-accesskey-secret> Hesabınızın AccessKey Secret değeri xXxXxXx...
-u bayrağı, AccessKey ID ve AccessKey Secret değerlerini otomatik olarak Base64 Authorization: Basic üst bilgisine kodlar.

curl'a ek olarak, Python requests kitaplığı ve Temel Kimlik Doğrulama ile API'yi çağırabilirsiniz:

import requests
import time

# Obtain the HTTP API URL from the console.
api_url = 'http://cn-hangzhou.arms.aliyuncs.com:9090/api/v1/prometheus/{token}/{user_id}/{cluster_id}/{region}'

# Use the AccessKey ID as the username and the AccessKey secret as the password.
ak_id = 'your_access_key_id'
ak_secret = 'your_access_key_secret'

# Query a metric.
resp = requests.get(f'{api_url}/api/v1/query', params={'query': 'up'}, auth=(ak_id, ak_secret))
print(resp.json())

# Range query (the last 1 hour).
end = int(time.time())
start = end - 3600
resp = requests.get(f'{api_url}/api/v1/query_range', params={'query': 'up', 'start': start, 'end': end, 'step': '60s'}, auth=(ak_id, ak_secret))
print(resp.json())
Not

ak_id ve ak_secret değerlerini hesabınızın AccessKey ID ve AccessKey Secret değerleriyle değiştirin. Ayrıca api_url içindeki HTTP API URL'sini HTTP API URL'sini alma bölümünde elde ettiğiniz URL ile değiştirin. API ayrıca STS kimlik doğrulamasını destekler; bu durumda Secret formatı {secret}${STS Token} şeklindedir. Daha fazla bilgi için bkz. STS nedir?.

Sorgu parametreleri

Parametre Zorunlu Açıklama
query Evet Değerlendirilecek bir PromQL ifadesi
time Hayır Değerlendirme zaman damgası (Unix zaman damgası veya RFC 3339). Varsayılan olarak geçerli sunucu saatini kullanır
timeout Hayır Milisaniye cinsinden değerlendirme zaman aşımı

Örnek yanıt

Başarılı bir sorgu aşağıdakine benzer bir JSON yanıtı döndürür:

{
    "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***"
                ]
            }
        ]
    }
}

Sorun giderme

Belirti Olası neden Çözüm
HTTP 401 Unauthorized Geçersiz veya eksik kimlik bilgileri Belirteci (V1) veya AccessKey çiftini (V2) doğrulayın. Süresi dolmuşsa yeniden oluşturun.
HTTP 403 Forbidden Yetersiz izinler RAM kullanıcısına AliyunPrometheusMetricReadAccess veya AliyunCloudMonitorFullAccess iznini verin.
Bağlantı zaman aşımı Ağ erişilemez Grafana Alibaba Cloud dışında çalışıyorsa public HTTP API URL'sini kullanın. Aynı bölge içinde çalışıyorsa internal URL'yi kullanın.
Grafana grafiğinde veri yok Sorgulanan metrik için alınan veri yok Prometheus örneğinin hedefleri aktif olarak topladığını ve metrik adının doğru olduğunu doğrulayın.

İlgili konular