O MongoDB Ops Manager pode emitir métricas de implantação coletadas pelo MongoDB Agent no formato OpenTelemetry (OTel) para um backend de observabilidade de terceiros, enquanto o MongoDB Ops Manager continua a receber essas métricas. Esse recurso permite que você integre suas implantação do MongoDB a uma pilha de observabilidade existente ou a qualquer outra plataforma que aceite o protocolo OpenTelemetry (OTLP). Você não precisa de pipelines personalizados, processos sidecar ou agentes de coleção adicionais.
A exportação OTel é aditiva e está desativada por padrão. A entrega de métricas para o Ops Manager não é alterada de forma alguma: cada sinal continua a ser transportado no caminho existente do Ops Manager sem alterações. Qualquer falha no caminho de exportação do OTel, como um ponto de extremidade inacessível, é isolada para que o envio de relatórios para o Ops Manager nunca seja interrompido.
Quando você habilita esse recurso, o MongoDB Agent envia métricas via OTLP/HTTP para o ponto de extremidade configurado em uma cadência configurável (o padrão é 30 segundos). Cada ciclo envia uma solicitação OTLP por processo monitorado, além de uma solicitação para a integridade do próprio agente, para que seu backend receba várias solicitações pequenas por intervalo em vez de um lote grande. Seu ponto de extremidade pode ser um dos seguintes:
Um Collector do OpenTelemetry, que pode processar métricas e encaminhá-las para vários destinos.
Uma plataforma de observabilidade que aceita OTLP nativamente (por exemplo, DataDog, Grafana, Dynatrace).
Você configura este recurso por meio da Configuração de automação. O MongoDB Agent coleta as métricas exportadas em seu ciclo de coleção existente, portanto, esse recurso não impõe carga adicional em seus processos MongoDB monitorados.
Como a exportação OTel difere da integração com o Prometheus
O caminho de exportação OTel não é um substituto direto para a integração com o Prometheus existente. Enquanto a integração com o Prometheus é baseada em pull, e o MongoDB Agent expõe um ponto de extremidade /metrics que seu servidor Prometheus coleta. O caminho OTel é baseado em push, e o MongoDB Agent envia métricas para o ponto de extremidade OTLP configurado em um temporizador.
As métricas do OTel também usam nomes, tipos e unidades diferentes que seguem as convenções semânticas do OpenTelemetry para o MongoDB, portanto, você não pode reutilizar seus dashboards do Prometheus existentes. Você deve criar novos dashboard, alerta e query em sua plataforma de observabilidade de destino em relação às métricas exportadas.
Pré-requisitos
Antes de configurar a exportação OTel, certifique-se de atender aos seguintes requisitos:
Você deve habilitar o monitoramento para sua implantação antes de configurar a exportação OTel. A exportação OTel reutiliza as amostras que o MongoDB Agent já coleta para monitoramento. Para aprender como instalar o MongoDB Agent e habilitar o monitoramento, consulte Instale o MongoDB Agent para monitorar ou fazer backup de implantações.
Certifique-se de que seu ponto de extremidade OTLP esteja acessível a partir de cada hospedar onde o MongoDB Agent é executado. O MongoDB Agent envia métricas diretamente para o ponto de extremidade. Verifique suas regras de firewall e políticas de saída antes de habilitar este recurso.
Confirme se você tem
Project Automation Adminacesso para atualizar a configuração de automação por meio da API do MongoDB Ops Manager. Para aprender mais sobre as funções do projeto, consulte funções do Ops Manager. Para aprender sobre a API de configuração de automação, consulte Recurso de configuração de automação.Certifique-se de que seu ponto de extremidade OTLP suporte OTLP/HTTP como um protocolo de receptor. Para aprender sobre como configurar um receptor OTLP/HTTP, consulte a especificação do OpenTelemetry protocolo.
Habilitar exportação OTel
Você configura a exportação OTel por meio da Configuração de automação. Todas as configurações estão contidas em uma única chave otelConfig sob o additionalParams do módulo de monitoramento. Você pode aplicar esta configuração por meio do fluxo de configuração personalizada existente na interface do MongoDB Ops Manager, descrito em Configurações personalizadas. Você também pode aplicar esta configuração por meio da API de Configuração de Automação pública API.
O exemplo a seguir mostra uma entrada additionalParams que habilita a exportação OTel:
"additionalParams": { "otelConfig": "{\"enabled\":true,\"metricsExportIntervalSec\":30,\"backends\":[{\"endpoint\":\"https://collector.example.com:4318\",\"headers\":\"Authorization=Bearer <token>\",\"caCertPath\":\"/etc/ssl/ca.pem\"}]}"}Para a lista completa de campo otelConfig, consulte Configurações de exportação do OpenTelemetry (OTel).
Importante
Um otelConfig configurado incorretamente falha ruidosamente em vez de ser ignorado silenciosamente. Se a configuração for inválida, o MongoDB Agent impedirá que o módulo de monitoramento seja iniciado. O MongoDB Agent tenta novamente a configuração a cada 30 segundos até receber uma configuração válida. Portanto, um otelConfig inválido afeta o monitoramento como um todo, não apenas o caminho OTel. O agente faz log dessa falha com um prefixo Otel: e a apresenta no relatório de status do agente para o MongoDB Ops Manager.
As alterações de configuração entram em vigor na próxima vez que o módulo de monitoramento for reiniciado. O MongoDB Ops Manager aciona essa reinicialização automaticamente quando você altera as propriedades relevantes da Configuração de Automação.
Aviso
Se você configurar um ponto de extremidade http://, o MongoDB Agent enviará métricas por uma conexão não criptografada. O MongoDB Ops Manager não consegue detectar se um ponto de extremidade é um destino de produção, portanto, não há proteção que impeça a exportação insegura em produção. Use um ponto de extremidade https:// para implantações de produção.
Implantações do Kubernetes
Para implantações gerenciadas pelo MongoDB Controllers for Kubernetes (MCK), a exportação OTel usa o mesmo mecanismo de Configuração de Automação. O operador mantém a Configuração de Automação. O operador grava suas configurações OTel nos hospedar do agente por meio de atualizar de recursos personalizados. Você não precisa de nenhuma configuração separada específica do Kubernetes.
Métricas exportadas
Este recurso exporta os grupos de métricas na tabela a seguir via OTLP. Os nomes, tipos e unidades das métricas seguem as convenções semânticas do OpenTelemetry para o MongoDB, usando um padrão de nomenclatura mongodb.* consistente.
Grupo de métricas | Fonte | cobertura |
|---|---|---|
Server status |
| Contadores de operação (incluindo replicados), latência de operação, conexões, memória, rede, cursor, documentos inseridos, atualizar, excluir e retornados, estatísticas de cache do WiredTiger, ticket e profundidade de fila, contagens de aquisição de bloqueio, espera e deadlock, leituras e gravar ativas, asserts, controle de fluxo, direcionamento de query, excluir de time-to-live (TTL), falhas de página, tempo de atividade e integridade. |
Estatísticas do banco de dados |
| Estatísticas de armazenamento, tamanho de dados, objeto, índice e visualização por banco de dados. |
Atividade da coleção |
| Tempo agregado por operação. |
Replicação |
| Tamanho e janela do oplog, atraso de replicação e integridade do nó. |
Fragmentação | Config metadata | Contagens de partes e distribuição de dados entre shards. |
Autossaúde do agente | Tempo de execução do agente | Tempo de atividade, memória e goroutines do MongoDB Agent, publicados sob o namespace |
Este recurso exporta métricas de contador como valores cumulativos com um carimbo de data/hora de início derivado do tempo de atividade de mongod. Uma reinicialização de mongod é exibida como uma redefinição de contador padrão, para que os cálculos de taxa permaneçam corretos entre as reinicializações.
Obsolescência e tempo de vida da série
O MongoDB Agent reexporta séries de contadores inalteradas enquanto um processo está temporariamente inacessível, para que uma lacuna na coleção não seja interpretada erroneamente como uma redefinição de contador.
O MongoDB Agent exporta séries temporais de ponto no tempo, como
mongodb.health, apenas enquanto estão atualizadas, de modo que um processo inacessível fica silencioso em vez de manter um valor obsoleto.O MongoDB Agent descarta uma série após 20 minutos sem uma nova amostra, e a série desaparece do seu backend. Considere esse comportamento ao criar alertas baseados em dados ausentes.
Configurar dashboards na sua Plataforma de Observabilidade
Você deve criar novos dashboard na sua plataforma de observabilidade de destino em relação às métricas exportadas. O MongoDB Ops Manager não envia dashboard pré-criados e você não pode reutilizar dashboard existentes criados para a integração com o Prometheus, a interface do MongoDB Ops Manager ou outra integração de terceiros do MongoDB.
Considere esta orientação ao configurar dashboards:
Crie novos dashboards em vez de migrar os existentes. Os nomes das métricas emitidos via OTLP seguem uma convenção de nomenclatura
mongodb.*que difere dos nomes do exportador do Prometheus e dos identificadores internos de métricas do MongoDB Ops Manager.Use atributos de recurso para filtragem e agrupamento. Cada métricas carrega atributos de recurso que identificam o processo monitorar e o projeto. Use esses atributos como as dimensões primárias para painéis de dashboard, alertas e agrupamento.
Aplicar funções de taxa a métricas de contador. Os contadores são cumulativos. Aplicar funções como
rate()ouincrease(), ou seus equivalentes em sua plataforma, a métricas do tipo contador.Recrie seus alertas. A exportação OTel não transfere as regras de alerta existentes definidas no Prometheus, MongoDB Ops Manager ou outra integração de terceiros. Defina novas regras de alerta na sua plataforma de destino com base nos nomes das métricas OTel e nos atributos de recurso.
Limitações
Um backend por implantação. Este recurso suporta exatamente um backend OTLP. Configurar mais de um backend resulta em um erro crítico. Para distribuir métricas para vários destinos, configure um OpenTelemetry Collector como seu destino de exportação e roteie para mais backends por meio de sua configuração de pipeline.
Apenas métricas. Este recurso exporta apenas métricas via OTLP. O caminho de exportação do OTel não inclui os seguintes sinais, que continuam a fluir para o MongoDB Ops Manager inalterados:
Logs (entradas do profiler, logs do hospedar e logs do agente) e traces
Métricas de processo do MongoDB Search
Métricas do sistema no nível do hospedar (CPU, memória, disco e rede)
Histogramas de latência por coleção
Sem buffer para destinos inacessíveis. O MongoDB Agent tenta novamente ou descarta uma exportação com falha de acordo com a política do exportador. Esse recurso não oferece fila de armazenamento e encaminhamento. A entrega ao MongoDB Ops Manager não é afetada em todos os casos.