Coletando métricas usando a escrita remota do Prometheus
É possível configurar a gravação remota do Prometheus para coletar métricas de ambientes em que um agente do Monitoring não está disponível e enviá-las para uma instância do Monitoring.
É possível coletar métricas de:
- Um servidor Prometheus existente.
- Tarefas efêmeras ou em lote que podem não existir por tempo suficiente para serem extraídas por um agente do Monitoring.
- Hosts Windows e outros sistemas operacionais em que o agente do Monitoring não está disponível
- Arquiteturas não baseadas em x86, geralmente vistas em ambientes IoT ou em computação de borda.
- Cargas de trabalho não conteinerizadas, como NGNIX, aplicativos customizados, RabbitMQ e outras.
É possível monitorar as métricas que são coletadas usando a gravação remota do Prometheus por meio da IU da web do Monitoring. Também é possível usar o PromQL para consultar os dados usando a linguagem de consulta padrão do Prometheus.
Configurando a gravação remota do Prometheus
É possível configurar seu servidor Prometheus para realizar a gravação remota em uma Monitoring instância. Por exemplo,
-
Você pode configurar o servidor Prometheus que é executado em um cluster Kubernetes de diferentes maneiras. Dependendo de como você o instalou, é possível escolher qualquer uma das seguintes opções para configurar o recurso de gravação remota do Prometheus para enviar métricas a uma IBM Cloud Monitoring instância:
-
Configure um servidor do Prometheus que é gerenciado pelo Prometheus Operator
-
Configure um servidor do Prometheus usando o Helm
-
Configure um servidor Prometheus por meio de um Kubernetes ConfigMap
Para obter mais informações, consulte Coletando métricas usando a gravação remota do Prometheus.
-
Prometheus v2.25 e versões anteriores
Para o Prometheus v2.25 e versões anteriores, deve-se configurar a seção remote_write em seu arquivo de configuração prometheus.yml da seguinte maneira:
global:
external_labels:
[ <labelname>: <labelvalue> ... ]
remote_write:
- url: "https://<INGESTION_URL>/prometheus/remote/write"
bearer_token: "<MONITOR_API_TOKEN>"
em que
<MONITOR_API_TOKEN>contém o token de autorização. Para obter mais informações, consulte Trabalhando com tokens da API do Monitor..<INGESTION_URL>indica o ponto final de ingestão. Deve-se definir esse valor para o terminal de ingestão da região em que a Monitoring instância está disponível. Para obter mais informações, consulte Terminais
Prometheus versão 2.26 e versões mais recente
Para o Prometheus v2.25 e versões anteriores, deve-se configurar a seção remote_write em seu arquivo de configuração prometheus.yml da seguinte maneira:
global:
external_labels:
[ <labelname>: <labelvalue> ... ]
remote_write:
- url: "https://<INGESTION_URL>/prometheus/remote/write"
authorization:
credentials: "<MONITOR_API_TOKEN>"
em que
<MONITOR_API_TOKEN>contém o token de autorização. Para obter mais informações, consulte Trabalhando com tokens da API do Monitor..<INGESTION_URL>indica o ponto final de ingestão. Deve-se definir esse valor para o terminal de ingestão da região em que a Monitoring instância está disponível. Para obter mais informações, consulte Terminais
Gerenciando métricas coletadas por meio de gravação remota
Por padrão, ao configurar seu servidor Prometheus para gravação remota em uma instância do Monitoring, todas as métricas são coletadas e incluem um rótulo remote_write: true para identificá-las facilmente.
Controlando as métricas enviadas
É possível gerenciar e controlar as métricas que você coleta e envia para uma Monitoring instância. Para selecionar quais séries e rótulos coletar e para reduzir o número de séries ativas que são enviadas para a Monitoring instância, é possível
definir as configurações para rotular novamente usando o bloco write_relabel_configs na sua seção remote_write section.
Por exemplo, para coletar métricas de um namespace my-namespace, é possível incluir o seguinte:
remote_write:
- url: https://<INGESTION_URL>/prometheus/remote/write
authorization:
credentials_file: /etc/secrets/<SECRET_NAME>
write_relabel_configs:
- action: keep
regex: my-namespace
source_labels:
- namespace
Rotulando métricas pelo servidor do Prometheus
É possível especificar rótulos customizados que são enviados com cada série temporal coletada por um servidor do Prometheus usando o bloco external_labels no global.
É possível usar esses rótulos para filtrar e definir o escopo das métricas que são monitoradas por meio de painéis na Monitoring IU.
Por exemplo, se tiver dois servidores do Prometheus diferentes configurados para gravação remota em uma Monitoring instância, será possível incluir um rótulo externo para identificar cada servidor:
# Prometheus server 1
global:
external_labels:
provider: prometheus1
remote_write:
- url: ...
# Prometheus server 2
global:
external_labels:
provider: prometheus2
remote_write:
- url: ...
Limites de taxa
A tabela a seguir lista os limites de taxa padrão por instância:
| Taxa | Limite | Informações |
|---|---|---|
| Gravações paralelas | 100 solicitações simultâneas | |
| Pontos de dados por minuto (DPM) | 1 milhão | O número de pontos de dados que são enviados depende da frequência com que as métricas são enviadas. Por exemplo, um intervalo de extração de 10 segundos enviará mais DPM do que um intervalo de 60 segundos |
| Número de gravações por minuto | 10.000 |
Terminais de ingestão para gravação remota
IBM Cloud Monitoring descontinuou o suporte ao cliente do Prometheus de terminais no formulário https://ingest.<region> e https://ingest.private.<region> e os substituiu por novos terminais em 31 de maio
de 2024. O fim do suporte para os endpoints antigos é 31 de agosto de 2024. Após essa data, os endpoints antigos deixarão de funcionar. Os clientes que usam o Prometheus Remote Write precisam migrar para usar os novos endpoints até 31 de agosto
de 2024 para continuar usando o Prometheus Remote Write.
A tabela a seguir lista os terminais de Monitoring ingestão públicos que você pode configurar para coletar as métricas por meio da gravação remota do Prometheus:
A ingestão de gravação remota usa a porta TCP 443
| Região | Terminal |
|---|---|
Dallas (US-South) |
https://ingest.us-south.monitoring.cloud.ibm.com/prometheus/remote/write Descontinuadohttps://ingest.prws.us-south.monitoring.cloud.ibm.com/prometheus/remote/write |
Frankfurt (EU-DE) |
https://ingest.eu-de.monitoring.cloud.ibm.com/prometheus/remote/write Descontinuadohttps://ingest.prws.eu-de.monitoring.cloud.ibm.com/prometheus/remote/write |
Londres (EU-GB) |
https://ingest.eu-gb.monitoring.cloud.ibm.com/prometheus/remote/write Descontinuadohttps://ingest.prws.eu-gb.monitoring.cloud.ibm.com/prometheus/remote/write |
Madrid (EU-ES) |
https://ingest.eu-es.monitoring.cloud.ibm.com/prometheus/remote/write Descontinuadohttps://ingest.prws.eu-es.monitoring.cloud.ibm.com/prometheus/remote/write |
JP-OSA |
https://ingest.jp-osa.monitoring.cloud.ibm.com/prometheus/remote/write Descontinuadohttps://ingest.prws.jp-osa.monitoring.cloud.ibm.com/prometheus/remote/write |
BR-SAO |
https://ingest.br-sao.monitoring.cloud.ibm.com/prometheus/remote/write Descontinuadohttps://ingest.prws.br-sao.monitoring.cloud.ibm.com/prometheus/remote/write |
Sydney (AU-SYD) |
https://ingest.au-syd.monitoring.cloud.ibm.com/prometheus/remote/write Descontinuadohttps://ingest.prws.au-syd.monitoring.cloud.ibm.com/prometheus/remote/write |
Tóquio (JP-TOK) |
https://ingest.jp-tok.monitoring.cloud.ibm.com/prometheus/remote/write Descontinuadohttps://ingest.prws.jp-tok.monitoring.cloud.ibm.com/prometheus/remote/write |
CA-TOR |
https://ingest.ca-tor.monitoring.cloud.ibm.com/prometheus/remote/write Descontinuadohttps://ingest.prws.ca-tor.monitoring.cloud.ibm.com/prometheus/remote/write |
Washington (US-EAST) |
https://ingest.us-east.monitoring.cloud.ibm.com/prometheus/remote/write Descontinuadohttps://ingest.prws.us-east.monitoring.cloud.ibm.com/prometheus/remote/write |
A tabela a seguir lista os pontos de extremidade de ingestão privados do Monitoring que você pode configurar para coletar métricas via Prometheus Remote Write:
| Região | Terminal |
|---|---|
Dallas (US-South) |
https://ingest.private.us-south.monitoring.cloud.ibm.com/prometheus/remote/write Descontinuadohttps://ingest.prws.private.us-south.monitoring.cloud.ibm.com/prometheus/remote/write |
Frankfurt (EU-DE) |
https://ingest.private.eu-de.monitoring.cloud.ibm.com/prometheus/remote/write Descontinuadohttps://ingest.prws.private.eu-de.monitoring.cloud.ibm.com/prometheus/remote/write |
Londres (EU-GB) |
https://ingest.private.eu-gb.monitoring.cloud.ibm.com/prometheus/remote/write Descontinuadohttps://ingest.prws.private.eu-gb.monitoring.cloud.ibm.com/prometheus/remote/write |
Madrid (EU-ES) |
https://ingest.private.eu-es.monitoring.cloud.ibm.com/prometheus/remote/write Descontinuadohttps://ingest.prws.private.eu-es.monitoring.cloud.ibm.com/prometheus/remote/write |
JP-OSA |
https://ingest.private.jp-osa.monitoring.cloud.ibm.com/prometheus/remote/write Descontinuadohttps://ingest.prws.private.jp-osa.monitoring.cloud.ibm.com/prometheus/remote/write |
BR-SAO |
https://ingest.private.br-sao.monitoring.cloud.ibm.com/prometheus/remote/write Descontinuadohttps://ingest.prws.private.br-sao.monitoring.cloud.ibm.com/prometheus/remote/write |
Sydney (AU-SYD) |
https://ingest.private.au-syd.monitoring.cloud.ibm.com/prometheus/remote/write Descontinuadohttps://ingest.prws.private.au-syd.monitoring.cloud.ibm.com/prometheus/remote/write |
Tóquio (JP-TOK) |
https://ingest.private.jp-tok.monitoring.cloud.ibm.com/prometheus/remote/write Descontinuadohttps://ingest.prws.private.jp-tok.monitoring.cloud.ibm.com/prometheus/remote/write |
CA-TOR |
https://ingest.private.ca-tor.monitoring.cloud.ibm.com/prometheus/remote/write Descontinuadohttps://ingest.prws.private.ca-tor.monitoring.cloud.ibm.com/prometheus/remote/write |
Washington (US-EAST) |
https://ingest.private.us-east.monitoring.cloud.ibm.com/prometheus/remote/write Descontinuadohttps://ingest.prws.private.us-east.monitoring.cloud.ibm.com/prometheus/remote/write |
Limitações
O recurso de gravação remota do IBM Cloud Monitoring Prometheus tem as seguintes limitações:
-
As métricas são enviadas para uma instância podem ser acessadas no Explore, mas não são compatíveis com a árvore de escopo.
-
Somente rótulos coletados na origem podem ser usados para filtrar as métricas.
-
Os metadados de uma métrica não são enviados por uma gravação remota.
-
As métricas que tem um nome que termina com
_total,_sumou_countsão armazenadas como contadores, caso contrário, são gerenciadas como calibradores. -
É possível configurar as unidades no painel manualmente.
-
Não é possível combinar métricas com diferentes amostras em um painel, por exemplo, de 10 segundos com 1 minuto.
Considere configurar o intervalo de extração para 10 s para que você possa combinar as métricas de gravação remota do Prometheus com as Monitoring métricas do agente.