Todos os produtos
Search
Central de documentação

Cloud Monitor:Adicionar uma fonte de dados do Prometheus no Grafana

Última atualização: Aug 19, 2026

Alibaba Cloud Managed Service for Prometheus fornece URLs de API HTTP que permitem acessar os dados de monitoramento do Prometheus pelo Grafana ou recuperar dados por meio da API do Prometheus para desenvolvimento personalizado.

Pré-requisitos

Você integrou fontes de dados ao Prometheus. Para mais informações, consulte os seguintes tópicos:

Etapa 1: Obter a URL da API HTTP

  1. Faça login no console do Cloud Monitor. Na barra de navegação à esquerda, selecione Prometheus Monitoring > Instance List para acessar a página Instance List.

  2. Na barra de navegação superior, selecione o Prometheus onde a instância do Prometheus está implantada. Localize a instância desejada e clique em Settings na coluna Actions.

  3. Na aba Settings, copie a URL da API HTTP da rede pública ou interna, conforme necessário.

    Também é possível clicar em Generate token para aumentar a segurança na leitura dos dados.

  4. Para instâncias V1 do Prometheus, caso precise melhorar a segurança da leitura de dados no Grafana, clique em Generate token para obter um token de autenticação da instância do Prometheus.

    Importante
    • Instâncias V1: Após gerar um token, configure-o ao adicionar a fonte de dados no Grafana. Caso contrário, não será possível ler os dados de monitoramento da instância do Prometheus.

    • Instâncias V2: Por padrão, é necessário usar o AccessKey ID e o AccessKey secret da sua conta para acessar os dados. O usuário RAM proprietário do AccessKey ID deve ter a AliyunPrometheusMetricReadAccess or AliyunCloudMonitorFullAccess system permission.

Etapa 2: Adicionar a fonte de dados no Grafana

Self-managed Grafana

Esta seção usa o Grafana v10.x como exemplo. Para informações sobre como adicionar uma fonte de dados em outras versões, consulte a documentação oficial do Grafana.

  1. Configure a fonte de dados do Grafana.

    1. Faça login no seu Grafana autogerenciado como administrador.

    2. No canto superior esquerdo da página, clique em no ícone de menu image e escolha Administration > Data sources.

    3. Clique em + Add new data source e selecione Prometheus como tipo de fonte de dados.

    4. Na aba Settings, insira um nome personalizado no campo Name. No campo Prometheus server URL, cole a URL da API HTTP obtida em Step 1.

    5. Configure a autenticação.

      V1 instances (optional)

      Clique em + Add header. Na seção Custom HTTP Headers, clique em +Add header, defina Header como Authorization e configure Value com o token de autenticação obtido em Step 1.

      V2 instances

      Ative Basic auth. Defina User com seu AccessKey ID e Password com seu AccessKey secret.

  2. Na parte inferior da página, clique em Save & Test.

  3. Visualize métricas do Prometheus.

    1. Faça login no seu sistema Grafana.

    2. No canto superior esquerdo da página, clique em no ícone de menu image e, em seguida, clique em Dashboards no painel de navegação à esquerda.

    3. Na página Dashboards, clique em New no canto superior direito e, depois, clique em New dashboard no menu suspenso.

    4. Clique em + Add visualization. Na página Select data source, selecione a fonte de dados criada.

    5. Na página Edit Panel, acesse a aba Query. Na seção A, insira o nome e o valor da métrica nos campos Metrics e Label filters e clique em Run queries.

      Se um gráfico da métrica for exibido, a configuração foi bem-sucedida. Caso contrário, verifique se a URL da API e o token estão corretos e se a fonte de dados contém dados de monitoramento do Prometheus.

      image

Managed Service for Grafana

O Managed Service for Grafana oferece integração com um clique para fontes de dados e painéis do Prometheus.

  1. Faça login no console do ARMS. No painel de navegação à esquerda, escolha Managed Service for Grafana > Workspace Management e clique em no ID do seu workspace.

  2. Na página Workspace Information, localize a seção Cloud Service Integration e clique em Prometheus Monitoring Service. Em seguida, encontre sua instância e clique em Integrate.

  3. Na caixa de diálogo exibida, clique em OK.

    Se estiver integrando uma instância V2 do Prometheus, insira o AccessKey ID da fonte de dados.

  4. Após a conclusão da sincronização, clique em no ícone de folder à direita.

  5. No Grafana, na aba Dashboards, clique em no nome de um painel para visualizar os painéis padrão pré-construídos para monitoramento de aplicações.

  6. No canto superior esquerdo da página, clique em no ícone de menu image e escolha Administration > Data sources para visualizar a fonte de dados de monitoramento de aplicações adicionada.

  7. Visualize métricas do Prometheus.

    1. Faça login no seu sistema Grafana.

    2. No canto superior esquerdo da página, clique em no ícone de menu image e, em seguida, clique em Dashboards no painel de navegação à esquerda.

    3. Na página Dashboards, clique em New no canto superior direito e, depois, clique em New dashboard no menu suspenso.

    4. Clique em + Add visualization. Na página Select data source, selecione a fonte de dados criada.

    5. Na página Edit Panel, acesse a aba Query. Na seção A, insira o nome e o valor da métrica nos campos Metrics e Label filters e clique em Run queries.

      Se um gráfico da métrica for exibido, a configuração foi bem-sucedida. Caso contrário, verifique se a URL da API e o token estão corretos e se a fonte de dados contém dados de monitoramento do Prometheus.

      image

Etapa 3: Recuperar dados do Prometheus

O código a seguir mostra um exemplo de solicitação para recuperar dados de monitoramento do Prometheus. Para mais informações sobre o uso da API HTTP, consulte a documentação da API HTTP do Prometheus open-source.

V1 instances

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"
}
Nota

Substitua {HTTP API URL} e {Token} pela URL da API HTTP e pelo token de autenticação obtidos em Step 1.

V2 instances

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"
}
Nota
  • Substitua {HTTP API URL} pela URL da API HTTP obtida em Step 1.

  • A API suporta autenticação STS. Se utilizar esse método, o AccessKey secret em BasicAuth deve estar no seguinte formato: {AccessKey secret}${STS Token}. Para mais informações, consulte What is STS?.

Também é possível usar Python e a biblioteca requests para chamar a API. Os exemplos a seguir mostram como consultar dados de monitoramento do Prometheus com autenticação V2 Basic Auth e V1 Token.

Instâncias 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"])

Instâncias 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"])
Nota

Substitua {http_api_url} pela URL da API HTTP obtida em Step 1 e substitua {token} pelo token de autenticação obtido em Step 1.

Exemplo de resposta:

Expandir para visualizar a resposta de exemplo

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