Todos os produtos
Search
Central de documentação

Elasticsearch:Integrar aliyun-timestream com Prometheus e Grafana

Última atualização: Aug 19, 2026

O aliyun-timestream é um mecanismo de séries temporais desenvolvido pela equipe do Alibaba Cloud Elasticsearch em conjunto com a comunidade Elastic, incorporando recursos dos produtos de séries temporais da comunidade. O Alibaba Cloud Elasticsearch oferece integração nativa com Prometheus e Grafana, suporta APIs da Prometheus Query Language (PromQL) e permite usar um índice de séries temporais diretamente como fonte de dados do Prometheus no Grafana. Essa configuração melhora o desempenho de armazenamento e consulta de dados de métricas de séries temporais, além de reduzir custos. Este tópico explica como usar o mecanismo aliyun-timestream para integrar o Prometheus e o Grafana visando à observabilidade nativa da nuvem.

Contexto

O armazenamento local do Prometheus apresenta as seguintes limitações:

  • Ausência de réplicas de dados: se um nó do cluster local falhar, o Prometheus ficará inacessível.

  • Armazenamento em nó único: conforme o volume de dados aumenta, podem surgir gargalos de hardware que impedem o dimensionamento horizontal.

  • Falta de capacidade de backup: danos ao disco rígido podem causar perda de dados.

  • Custos elevados de armazenamento em disco local: não há suporte para separação de dados quentes e frios.

Uma configuração de alta disponibilidade do Prometheus exige uma solução de armazenamento remoto distribuída e altamente disponível. O mecanismo aliyun-timestream do Alibaba Cloud Elasticsearch fornece recursos de armazenamento remoto e consulta para o Prometheus. Baseado na arquitetura distribuída, elástica e de alta disponibilidade do Elasticsearch — que também suporta backups e separação de dados quentes e frios —, o aliyun-timestream é uma excelente opção para armazenamento remoto do Prometheus.

A figura a seguir ilustra como o Alibaba Cloud Elasticsearch se integra ao Prometheus e ao Grafana.ES+Prometheus+Grafana架构

O funcionamento ocorre da seguinte forma:

  1. O Prometheus coleta dados de vários exporters.

  2. O Prometheus usa o recurso de gravação remota para enviar os dados coletados ao Alibaba Cloud Elasticsearch.

  3. Visualize os dados no Kibana ou no Grafana.

    Nota

    Ao acessar dados no Alibaba Cloud Elasticsearch via Grafana, utilize a fonte de dados nativa do Elasticsearch ou uma fonte de dados do Prometheus. A fonte de dados do Prometheus permite consultar dados diretamente no Elasticsearch usando PromQL.

Pré-requisitos

Antes de começar, verifique se você possui:

  • Um cluster do Alibaba Cloud Elasticsearch que atenda a um dos seguintes requisitos de versão:

    • Versão do cluster V7.10, versão do kernel V1.8.0 ou posterior

    • Versão do cluster V7.16 ou posterior, versão do kernel V1.7.0 ou posterior

Para obter instruções sobre como criar um cluster, consulte Create an Alibaba Cloud Elasticsearch cluster.

Procedimento

  1. Etapa 1: Preparar o ambiente

  2. Etapa 2: Baixar e iniciar o node_exporter

  3. Etapa 3: Baixar, configurar e iniciar o Prometheus

  4. Etapa 4: Baixar, iniciar e configurar um painel do Grafana

Etapa 1: Preparar o ambiente

  1. Crie um cluster do Alibaba Cloud Elasticsearch Commercial Edition de uso geral na versão 7.16.

    Para mais informações, consulte Create an Alibaba Cloud Elasticsearch cluster.

  2. Crie uma instância ECS na mesma VPC da instância Elasticsearch criada na Etapa 1 e selecione Linux como sistema operacional.

    Para detalhes sobre a criação de uma instância ECS, consulte Create an instance with Custom Launch. Essa instância ECS servirá para acessar o cluster do Alibaba Cloud Elasticsearch e implantar o Prometheus e o Grafana.

  3. Crie um índice de séries temporais no Elasticsearch para armazenar dados provenientes do Prometheus.

    1. Faça login no console do Kibana do seu cluster do Alibaba Cloud Elasticsearch.

      Para mais informações, consulte Log on to the Kibana console.

    2. No painel de navegação à esquerda, clique em 展开图标 e escolha Management > Dev Tools.

    3. No console, execute o comando PUT _time_stream/prom_index para criar um índice de séries temporais chamado prom_index.

Etapa 2: Baixar e iniciar o node_exporter

O node_exporter coleta diversas métricas relacionadas a hardware e kernel, expondo-as para coleta pelo Prometheus. Para mais informações, consulte node_exporter.

  1. Conecte-se à instância ECS.

    Para mais informações, consulte Log on to a Linux instance by using a password or key.

    Nota

    Este tópico utiliza um usuário não root para todas as operações.

  2. Baixe o pacote de instalação do node_exporter.

    Este guia usa o node_exporter 1.3.1 como exemplo. Execute o comando abaixo para baixá-lo:

    wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
  3. Extraia o pacote de instalação e inicie o node_exporter.

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

Etapa 3: Baixar, configurar e iniciar o Prometheus

  1. Conecte-se à instância ECS.

    Para mais informações, consulte Log on to a Linux instance by using a password or key.

  2. No diretório home, baixe o pacote de instalação do Prometheus.

    Este guia usa o Prometheus 2.36.2 como exemplo. Execute o comando abaixo para baixá-lo:

    cd ~
    wget https://github.com/prometheus/prometheus/releases/download/v2.36.2/prometheus-2.36.2.linux-amd64.tar.gz
  3. Extraia o pacote de instalação do Prometheus.

    tar xvfz prometheus-2.36.2.linux-amd64.tar.gz
  4. No arquivo prometheus.yml, configure o node_exporter e o remote_write.

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

    O código a seguir apresenta um exemplo de configuração:

    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

    Parâmetro

    Descrição

    node_exporter

    Configure as informações de conexão do node_exporter. Defina targets como o endereço de acesso e a porta do node_exporter.

    Como este guia utiliza a mesma instância ECS para implantar o Prometheus e o node_exporter, o endereço IP é 127.0.0.1 e a porta padrão 9100 é usada.

    remote_write

    As configurações de conexão para o índice de séries temporais no seu cluster do Alibaba Cloud Elasticsearch. É necessário configurar os parâmetros básicos a seguir. Para parâmetros mais avançados, consulte remote_write.

    • url: A URL do endpoint para o índice de séries temporais, no seguinte formato: http://<endpoint_público_ou_interno_do_seu_cluster_Elasticsearch>:9200/_time_stream/prom_write/<seu_índice_de_séries_temporais>.

      Nota
      • Endpoint público ou interno do seu cluster Elasticsearch: encontre essa informação na página Basic Information do console do seu cluster do Alibaba Cloud Elasticsearch. Se a instância ECS onde o Prometheus está implantado estiver na mesma VPC do seu cluster Elasticsearch, use o endpoint interno, conforme este exemplo. Caso contrário, será necessário usar o endpoint público e configurar uma lista de permissões de endereços IP públicos. Para mais informações, consulte Manage IP address whitelists.

      • <seu_índice_de_séries_temporais>: nome do índice de séries temporais que recebe dados do Prometheus. Crie esse índice antecipadamente. Este guia usa prom_index como exemplo.

    • username: Nome de usuário para acessar o índice de séries temporais. O padrão é elastic. Também é possível usar um usuário personalizado, desde que ele tenha as permissões necessárias para acessar e gerenciar o índice de séries temporais. Para mais informações, consulte Manage access control with Elasticsearch X-Pack roles.

    • password: Senha do usuário especificado. A senha da conta elastic é definida durante a criação do cluster. Se você a esquecer, poderá redefini-la. Para mais informações, consulte Reset an Elasticsearch cluster password.

  5. Inicie o Prometheus.

    ./prometheus
  6. Verifique se os dados do Prometheus estão sendo enviados para o índice de séries temporais no Elasticsearch.

    No console do Kibana do seu cluster do Alibaba Cloud Elasticsearch, execute os comandos a seguir para verificar:

    • Confira se o índice prom_index contém dados.

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

      Resultado esperado:

      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
    • Confirme se é possível consultar e visualizar os dados.

      GET prom_index/_search

      Resultado esperado:

      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
                }
              }
            }
          ]
        }
      }

Etapa 4: Baixar, iniciar e configurar o Grafana

  1. Conecte-se à instância ECS.

    Para mais informações, consulte Log on to a Linux instance by using a password or key.

  2. No diretório home, baixe o pacote de instalação do Grafana.

    Este guia usa o Grafana 9.0.2 como exemplo. Execute o comando abaixo para baixá-lo:

    cd ~
    wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.0.2.linux-amd64.tar.gz
  3. Extraia o pacote de instalação do Grafana e inicie o serviço.

    tar xvfz grafana-enterprise-9.0.2.linux-amd64.tar.gz
    cd grafana-9.0.2
    ./bin/grafana-server
  4. Em um navegador web, acesse http://<IP_público_da_sua_ECS>:3000 para abrir a página de login do Grafana. Insira seu nome de usuário e senha para acessar o console do Grafana.

    • No primeiro login, use admin tanto para o nome de usuário quanto para a senha. O sistema solicitará a alteração da senha.

    • Para encontrar o endereço IP público da sua instância ECS, acesse o console do ECS e localize o endereço na coluna IP Address da sua instância.

    • A porta padrão do Grafana é 3000. Para acessá-la, adicione uma regra de entrada ao grupo de segurança da sua instância ECS. Defina a porta de Destination como 3000 e a Source como o endereço IP do seu cliente. Para mais informações, consulte Add a security group rule.

  5. Adicione uma fonte de dados do Prometheus no Grafana.

    1. Na barra de navegação à esquerda do console do Grafana, selecione Settings icon > Data sources.

    2. Na aba Data sources, clique em Add data source.

    3. Na lista Time series databases, clique em Prometheus.

    4. Na aba Settings, configure a fonte de dados Prometheus.

      A tabela a seguir descreve os parâmetros que devem ser configurados para este exemplo.

      Parâmetro

      Descrição

      URL

      URL do endpoint para o índice de séries temporais, no seguinte formato: http://<endpoint_público_ou_interno_do_seu_cluster_Elasticsearch>:9200/_time_stream/prom/<seu_índice_de_séries_temporais>.

      Nota
      • Endpoint público ou interno do seu cluster Elasticsearch: encontre essa informação na página Basic Information do console do seu cluster do Alibaba Cloud Elasticsearch. Se a instância ECS onde o Prometheus está implantado estiver na mesma VPC do seu cluster Elasticsearch, use o endpoint interno, conforme este exemplo. Caso contrário, será necessário usar o endpoint público e configurar uma lista de permissões de endereços IP públicos. Para mais informações, consulte Manage IP address whitelists.

      • <seu_índice_de_séries_temporais>: nome do índice de séries temporais que recebe dados do Prometheus. Crie esse índice antecipadamente. Este guia usa prom_index como exemplo.

      Basic auth

      Ativa ou desativa a autenticação básica para o cluster. Quando ativada, é obrigatório fornecer nome de usuário e senha.

      User

      Nome de usuário para acessar o índice de séries temporais. O padrão é elastic. Também é possível usar um usuário personalizado, desde que ele tenha as permissões necessárias para acessar e gerenciar o índice de séries temporais. Para mais informações, consulte Manage access control with Elasticsearch X-Pack roles.

      Password

      Senha do usuário especificado. A senha da conta elastic é definida durante a criação do cluster. Se você a esquecer, poderá redefini-la. Para mais informações, consulte Reset an Elasticsearch cluster password.

    5. Clique em Save & test.

      Se a configuração for bem-sucedida, a mensagem Data source is working será exibida.

  6. No Grafana, crie um painel para a fonte de dados do Prometheus.

    1. Na barra de navegação à esquerda do console do Grafana, selecione Dashboard > New dashboard.

    2. Clique em Add a new panel.

    3. Selecione a data source, escolha um intervalo de tempo e clique em Run queries.

      Por exemplo, defina Data source como test_datastream, defina Metric como go_gc_duration_seconds e configure o intervalo de tempo para Last 2 days.

    4. Clique em Save no canto superior direito para salvar o painel.

  7. No Grafana, importe o painel padrão do node_exporter e conecte-o à sua fonte de dados do Prometheus para monitorar métricas.

    1. Na barra de navegação à esquerda do console do Grafana, selecione Dashboard > Import.

    2. Na caixa de texto Import via grafana.com, insira a URL do painel https://grafana.com/grafana/dashboards/1860 ou o ID 1860.

    3. Clique em Load.

    4. Na página de configuração, na lista suspensa de fontes de dados Prometheus, selecione a fonte de dados criada anteriormente.

    5. Clique em Import.

    6. No painel, selecione um intervalo de tempo no canto superior direito para visualizar as métricas desse período.

      指标监控Dashboard

      Nota

      Para informações mais detalhadas sobre o Grafana, consulte a documentação do Grafana.

Referências