Integrar com Prometeus
Nesta página
Prometheus coleta métricas de destinos configurados em determinados intervalos, avalia expressões de regras, exibe os resultados e pode acionar alertas quando observa condições específicas.
Nossa integração permite que você configure o Atlas para enviar dados métricos sobre seu sistema para o Prometeus instância.
Limitações
O Atlas for Government não suporta o Prometeus integração.
Pré-requisitos
A integração do Prometheus está disponível somente em clusters do
M10+
.Tenha uma instância funcional do Prometheus. Para configurar uma instância de trabalho, consulte o Guia de Instalação.
Adicione o IP do dispositivo que hospeda sua instância do Prometheus àlista de acesso IPdo .
Observação
Se você adicionar
0.0.0.0/0
à Lista de acesso IP, que permite o acesso ao cluster de qualquer lugar na Internet pública, o Atlas desativará a integração com o Prometheus.Se o
0.0.0.0/0
já estiver na lista de acesso de IP, o Atlas impedirá você de configurar a integração Prometheus.(Opcional) Usar Grafana para visualizar suas métricas de Prometeus.
Procedimento
Para configurar uma integração do Atlas com Prometheus:
No Atlas, visite a Project Integrations página .
Se ainda não estiver exibido, selecione a organização que contém o projeto desejado no Menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.
Ao lado do menu Projects, expanda o menu Options e clique em Integrations.
A página Integrações de projeto é exibida.
Insira seu nome de usuário e senha preferidos.
As credenciais de autenticação Prometheus são projetadas especificamente para uso com a integração Prometheus no MongoDB Atlas. O Atlas usa essas credenciais apenas para acessar o endpoint de descoberta do Prometheus e raspar as métricas do Prometheus dos nós do Atlas. Eles são estritamente limitados a essas funções e não têm permissões ou recursos adicionais além de acessar e coletar dados de monitoramento.
Importante
Copie seu nome de usuário e senha em um local seguro. Você não pode acessar a senha depois de sair dessa tela.
Selecione seu método preferido de descoberta de serviço.
Método de descoberta | Descrição | |||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Este método requer Prometheus v2.28 e posteriores. Ele gera automaticamente o scrape_config que é parte do seu arquivo de configuração para descobrir alvos em um endpoint HTTP.
| ||||||||||||||||||||||||||||||||||
Este método permite que o Prometheus leia documentos YAML ou JSON para configurar os destinos dos quais extrair. Você é responsável por fornecer os alvos fazendo uma solicitação à API de descoberta e armazenando seus resultados em um arquivo Para fazer a solicitação, substitua o texto do placeholder em uma das abas a seguir ou crie seu próprio script em outro idioma.
Se você precisar instalar a
|
Para saber mais sobre a API de descoberta, consulte Retornar as últimas segmentações para Prometeus.
Visualize as métricas do cluster no Prometheus.
Copie o trecho gerado no scrape_configs seção do seu arquivo de configuração e substitua o texto do espaço reservado.
Para obter um exemplo do arquivo de configuração em qualquer um dos métodos, consulte Configurações de exemplo.
Reinicie sua instância Prometheus.
Na sua instância do Prometheus, clique em
Status
na barra de navegação superior e clique emTargets
para ver as métricas de sua implantação.
Configurações de exemplo
A seguir, mostramos exemplos do arquivo de configuração quando você usa o método HTTP SD ou Descoberta de serviço de arquivo .
O arquivo de configuração em ambos os métodos contém os seguintes campos:
Campo | Descrição |
---|---|
scrape_interval | Tempo que indica a frequência de raspagem dos alvos. Esta configuração suporta um tempo mínimo de 10s. |
job_name | Etiqueta legível por humanos atribuída a métricas raspadas. |
metrics_path | Caminho do recurso HTTP que indica onde buscar métricas dos destinos. |
scheme | Esquema de protocolo que você deseja configurar para solicitações. |
basic_auth | Cabeçalho de autorização para usar em cada solicitação de raspagem. |
Descoberta de HTTP Service
O método de descoberta de HTTP Service também contém o campo http_sd_configs
com os seguintes subcampos:
Campo | Descrição |
---|---|
url | URL a partir da qual Prometheus obtém os alvos. |
refresh_interval | Hora que indica quando fazer query novamente do endpoint. |
basic_auth | Credenciais a serem usadas para autenticação no servidor API. |
global: scrape_interval: 15s scrape_configs: - job_name: "Cloud-Testing-mongo-metrics" scrape_interval: 10s metrics_path: /metrics scheme : https basic_auth: username: prom_user_618d48e05277a606ed2496fe password: fSIMUngfTmOTVEB4 http_sd_configs: - url: https://cloud.mongodb.com/prometheus/v1.0/groups/618d48e05277a606ed2496fe/discovery refresh_interval: 60s basic_auth: username: prom_user_618d48e05277a606ed2496fe password: fSIMUngfTmOTVEB4
Descoberta de serviço de arquivo
O método Descoberta de Serviço de Arquivo também contém o campo file_sd_configs
com o seguinte subcampo:
Campo | Descrição |
---|---|
files | Lista que contém os arquivos dos quais extrair os alvos de raspagem de métricas. |
global: scrape_interval: 15s scrape_configs: - job_name: "Cloud-Testing-mongo-metrics" scrape_interval: 10s metrics_path: /metrics scheme : https basic_auth: username: prom_user_618d48e05277a606ed2496fe password: fSIMUngfTmOTVEB4 file_sd_configs: - files: - /usr/local/etc/targets.json
Métricas de desempenho disponíveis para Prometeus
As seguintes métricas estão disponíveis quando você utiliza a integração Prometheus com seu cluster Atlas:
Rótulos de métrica do MongoDB
Cada métrica MongoDB contém os seguintes rótulos:
etiqueta | Descrição |
---|---|
group_id | Sequência única de dígitos hexadecimais que identifica o projeto. |
org_id | Sequência única de dígitos hexadecimais que identifica a organização. |
cl_role | Rótulo legível por humanos que define a função do cluster. |
cl_name | Etiqueta legível por humanos que identifica o cluster. |
rs_nm | Etiqueta legível por humanos que identifica o conjunto de réplicas. |
rs_state | Número que indica o estado do conjunto de réplicas. |
process_port | Porta na qual o processo é executado. |
Métricas de informação do MongoDB
mongodb_info
é um medidor que sempre tem o valor de 1
. Essa métrica contém todos os rótulos de métrica do MongoDB e também os seguintes rótulos:
etiqueta | Descrição |
---|---|
mongodb_version | String que representa as versões principais, secundárias e de patch. |
replica_state_name | String que indica o status do membro do conjunto de réplicas. |
process_type | String que indica o processo em execução. Seus valores podem ser mongod , mongos ou config . |
Métricas de hardware
Observação
Você também pode visualizar descrições de cada métrica de hardware no navegador de expressão Prometheus.
Nome | Tipo | Descrição |
---|---|---|
hardware_disk_metrics_disk_space_free_bytes | Medidor | Espaço em disco disponível no sistema de arquivos montado. |
hardware_disk_metrics_disk_space_used_bytes | Medidor | Espaço em disco usado no sistema de arquivos montado. |
hardware_disk_metrics_read_count | Contador | Número de E/S lidas processadas. |
hardware_disk_metrics_read_time_milliseconds | Contador | Tempo total de espera para solicitações de leitura. |
hardware_disk_metrics_sectors_read | Contador | Número de setores lidos. |
hardware_disk_metrics_sectors_written | Contador | Número de setores escritos. |
hardware_disk_metrics_total_time_milliseconds | Contador | Total de vezes que este dispositivo de bloqueio estiver ativo. |
hardware_disk_metrics_weighted_time_io_milliseconds | Contador | Tempo ponderado gasto fazendo E/S. |
hardware_disk_metrics_write_count | Contador | Número de E/S de gravação processadas. |
hardware_disk_metrics_write_time_milliseconds | Contador | Tempo total de espera para solicitações de gravação. |
hardware_platform_num_logical_cpus | Medidor | Número de CPUs lógicas utilizáveis pelo processo atual. |
hardware_process_cpu_children_kernel_milliseconds | Contador | Período agendado no modo kernel para que esse processo aguarde pelos filhos. |
hardware_process_cpu_children_user_milliseconds | Contador | Período programado no modo de usuário para que esse processo aguarde as crianças. |
hardware_process_cpu_kernel_milliseconds | Contador | Período programado no modo kernel para esse processo. |
hardware_process_cpu_user_milliseconds | Contador | Período agendado no modo de usuário para esse processo. |
hardware_system_cpu_guest_milliseconds | Contador | Tempo gasto executando uma CPU virtual para os sistemas operacionais convidados sob o controle do kernel Linux. |
hardware_system_cpu_guest_nice_milliseconds | Contador | Tempo gasto administrando um convidado com uma gentileza ajustada. |
hardware_system_cpu_idle_milliseconds | Contador | Tempo gasto na tarefa ociosa. |
hardware_system_cpu_io_wait_milliseconds | Contador | Tempo aguardando a conclusão da E/S. |
hardware_system_cpu_irq_milliseconds | Contador | O tempo gasto na manutenção interrompe. |
hardware_system_cpu_kernel_milliseconds | Contador | Tempo gasto no modo de sistema. |
hardware_system_cpu_nice_milliseconds | Contador | Tempo gasto no modo de usuário com baixa prioridade (legal). |
hardware_system_cpu_soft_irq_milliseconds | Contador | Tempo gasto de manutenção softirqs . |
hardware_system_cpu_steal_milliseconds | Contador | Tempo gasto em outros sistemas operacionais ao executar em um ambiente virtual. |
hardware_system_cpu_user_milliseconds | Contador | Tempo gasto no modo de usuário. |
hardware_system_memory_buffers_kilobytes | Medidor | Armazenamento temporário para blocos de disco brutos que não devem ser tremendamente grandes. |
hardware_system_memory_cached_kilobytes | Medidor | Cache na memória para arquivos lidos do disco. Isso não inclui SwapCached . |
hardware_system_memory_mem_available_kilobytes | Medidor | Uma estimativa de quanta memória está disponível para iniciar novos aplicativos, sem troca. |
hardware_system_memory_mem_free_kilobytes | Medidor | Soma de LowFree + HighFree . |
hardware_system_memory_mem_total_kilobytes | Medidor | RAM utilizável total (RAM física menos alguns bits reservados e o código binário do kernel). |
hardware_system_memory_shared_mem_kilobytes | Medidor | Quantidade de memória consumida em sistemas de arquivos cujo conteúdo reside na memória virtual. |
hardware_system_memory_swap_free_kilobytes | Medidor | Quantidade total de espaço de troca não utilizado. |
hardware_system_memory_swap_total_kilobytes | Medidor | Quantidade total de espaço disponível para troca. |
hardware_system_network_eth0_bytes_in_bytes | Contador | Número de bytes de dados recebidos pela interface. |
hardware_system_network_eth0_bytes_out_bytes | Contador | Número de bytes de dados transmitidos pela interface. |
hardware_system_network_lo_bytes_in_bytes | Contador | Número de bytes de dados recebidos pela interface. |
hardware_system_network_lo_bytes_out_bytes | Contador | Número de bytes de dados transmitidos pela interface. |
hardware_system_vm_page_swap_in | Contador | Número de páginas que o sistema trocou do disco. |
hardware_system_vm_page_swap_out | Contador | Número de páginas que o sistema trocou para o disco. |
Rótulos de métrica de hardware
Cada métrica de hardware contém os seguintes rótulos:
etiqueta | Descrição |
---|---|
group_id | Sequência única de dígitos hexadecimais que identifica o projeto. |
org_id | Sequência única de dígitos hexadecimais que identifica a organização. |
process_port | Porta na qual o processo é executado. |
disk_name | Etiqueta legível para humanos que identifica o disco. |