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 Ops Manager para enviar dados métricos sobre sua implantação para o Prometeus instância.
Pré-requisitos
Prometeu a integração está disponível em clusters gerenciados porautomação que usam o MongoDB Agent 12.0.15.7646 ou posterior. MongoDB Agent 12.0.15.7646 é lançado com o Ops Manager 6.0.7.
Tenha um Prometeus funcional instância. Para configurar uma instância de trabalho, consulte o Guia de Instalação.
(Opcional) Usar Grafana para visualizar suas métricas de Prometeus.
Procedimento
Para integrar o Ops Manager ao Prometheus:
Navegue até a Integrations página do seu projeto.
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.
(Opcional) Criptografe todas as métricas do Prometheus.
Se você habilitar essa configuração, o Ops Manager garantirá que sua instância do Prometheus use https
para raspar métricas.
Campos | Descrição |
---|---|
Caminho do arquivo da chave do certificado TLS |
Você é responsável pelo seguinte:
|
tlsCertificateKeyFilePassword | Obrigatório se o arquivo de chave do certificado estiver criptografado. |
Selecione seu método preferido de descoberta de serviço.
Método de descoberta | Descrição | ||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Este método requer o Prometeus v2.28 e posterior. Ele gera o scrap_config 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 Service Descoberta de 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 | Seu esquema de protocolo Prometheus configurado para solicitações, http ou https . Se você configurar o https , deverá especificar o tlsPemPath . |
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: "CM-Testing-mongo-metrics" scrape_interval: 10s metrics_path: /metrics scheme : https basic_auth: username: prom_user_61e6e34e93eac1632d39f457 password: V7hTyLfkjwiWQbv http_sd_configs: - url: https://cloud.mongodb.com/prometheus/v1.0/groups/61e6e34e93eac1632d39f457/discovery refresh_interval: 60s basic_auth: username: prom_user_61e6e34e93eac1632d39f457 password: V7hTyLfkjwiWQbv
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: "CM-Testing-mongo-metrics" scrape_interval: 10s metrics_path: /metrics scheme : https basic_auth: username: prom_user_61e6e34e93eac1632d39f457 password: V7hTyLfkjwiWQbv 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ê usa o Prometeus integração com seu MongoDB Atlas cluster:
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 | Sistema operacional | Tipo | Descrição |
---|---|---|---|
hardware_system_cpu_nice | Unix, darwin | Contador | Tempo gasto no modo de usuário com baixa prioridade. |
hardware_system_cpu_io_wait | Unix | Contador | Tempo aguardando a conclusão da E/S. |
hardware_system_cpu_irq | Unix | Contador | O tempo gasto na manutenção interrompe. |
hardware_system_cpu_soft_irq | Unix | Contador | Tempo gasto na manutenção do softirq. |
hardware_system_cpu_steal | Unix | Contador | Tempo gasto em outros sistemas operacionais ao executar em um ambiente virtual. |
hardware_system_cpu_guest | Unix | Contador | Tempo gasto executando uma CPU virtual para os sistemas operacionais convidados sob o controle do kernel Linux. |
hardware_system_cpu_guest_nice | Unix | Contador | Tempo gasto administrando um convidado com uma gentileza ajustada. |
hardware_system_cpu_kernel_milliseconds | Todos | Contador | Tempo gasto no modo de sistema. |
hardware_system_cpu_user_milliseconds | Todos | Contador | Tempo gasto no modo de usuário. |
hardware_disk_metrics_weighted_time_io | Unix | Contador | Tempo ponderado gasto fazendo E/S. |
hardware_disk_metrics_physical_write_count | Unix | Contador | Número de E/S de gravação física processadas. |
hardware_disk_metrics_physical_read_count | Unix | Contador | Número de E/S de leitura física processadas. |
hardware_disk_metrics_total_time | Unix | Contador | Total de vezes que este dispositivo de bloqueio estiver ativo. |
hardware_disk_metrics_idle_time | Windows | Contador | Tempo gasto na tarefa ociosa. |
hardware_disk_metrics_disk_space_free_bytes | Todos | Medidor | Espaço em disco disponível no sistema de arquivos montado. |
hardware_disk_metrics_disk_space_used_bytes | Todos | Medidor | Espaço em disco usado no sistema de arquivos montado. |
hardware_disk_metrics_read_count | Todos | Contador | Número de E/S lidas processadas. |
hardware_disk_metrics_read_time_milliseconds | Todos | Contador | Tempo total de espera para solicitações de leitura. |
hardware_disk_metrics_write_count | Todos | Contador | Número de E/S de gravação processadas. |
hardware_disk_metrics_write_time_milliseconds | Todos | Contador | Tempo total de espera para solicitações de gravação. |
hardware_process_cpu_children_user | Unix | Contador | Período programado no modo de usuário para que esse processo aguarde as crianças. |
hardware_process_cpu_children_kernel | Unix | Contador | Período agendado no modo kernel para que esse processo aguarde pelos filhos. |
hardware_process_cpu_kernel_milliseconds | Todos | Contador | Período programado no modo kernel para esse processo. |
hardware_process_cpu_user_milliseconds | Todos | Contador | Período agendado no modo de usuário para esse processo. |
hardware_system_vm_page_swap_in | Unix | Contador | Número de páginas que o sistema trocou do disco. |
hardware_system_vm_page_swap_out | Unix | Contador | Número de páginas que o sistema trocou para o disco. |
hardware_system_memory_mem_total | Unix | Medidor | RAM utilizável total (RAM física menos alguns bits reservados e o código binário do kernel). |
hardware_system_memory_mem_free | Unix | Medidor | Soma de LowFree + HighFree . |
hardware_system_memory_mem_available | Unix | Medidor | Uma estimativa de quanta memória está disponível para iniciar novos aplicativos, sem troca. |
hardware_system_memory_buffers | Unix | Medidor | Armazenamento temporário para blocos de disco brutos que não devem ser tremendamente grandes. |
hardware_system_memory_cached | Unix | Medidor | Cache na memória para arquivos lidos do disco. Isso não inclui SwapCached . |
hardware_system_memory_swap_total | Unix | Medidor | Quantidade total de espaço disponível para troca. |
hardware_system_memory_swap_free | Unix | Medidor | Quantidade total de espaço de troca não utilizado. |
hardware_system_memory_shared_mem | Unix | Medidor | Quantidade de memória consumida em sistemas de arquivos cujo conteúdo reside na memória virtual. |
hardware_system_memory_swap_free_kilobytes | Todos | Medidor | Quantidade total de espaço de troca não utilizado. |
hardware_system_memory_swap_total_kilobytes | Todos | Medidor | Quantidade total de espaço disponível para troca. |
hardware_platform_num_logical_cpus | Todos | Medidor | Número de CPUs lógicas utilizáveis pelo processo atual. |
hardware_system_network_eth0_bytes_in_bytes | Todos | Contador | Número de bytes de dados recebidos pela interface. |
hardware_system_network_eth0_bytes_out_bytes | Todos | Contador | Número de bytes de dados transmitidos pela interface. |
hardware_system_network_lo_bytes_in_bytes | Todos | Contador | Número de bytes de dados recebidos pela interface. |
hardware_system_network_lo_bytes_out_bytes | Todos | Contador | Número de bytes de dados transmitidos pela interface. |
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. |