Ops Manager puede enviar las métricas de despliegue recopiladas por MongoDB Agent en formato OpenTelemetry (OTel) a un sistema de observabilidad de terceros, mientras continúa recibiéndolas. Esta función permite integrar los despliegues de MongoDB en una pila de observabilidad existente o en cualquier otra plataforma compatible con el protocolo OpenTelemetry (OTLP). No se requieren canalizaciones personalizadas, procesos auxiliares ni agentes de recopilación adicionales.
La exportación de OTel es aditiva y está desactivada por defecto. La entrega de métricas a Ops Manager no se ve alterada en absoluto: cada señal continúa transmitiéndose sin cambios por la ruta existente de Ops Manager. Cualquier fallo en la ruta de exportación de OTel, como un punto final inaccesible, se aísla para que la notificación a Ops Manager nunca se interrumpa.
Al habilitar esta función, MongoDB Agent envía métricas a través de OTLP/HTTP al punto final configurado con una cadencia configurable (el valor predeterminado es de 30 segundos). Cada ciclo envía una solicitud OTLP por proceso monitorizado, además de una solicitud para el estado del propio agente, de modo que el backend recibe varias solicitudes pequeñas por intervalo en lugar de un lote grande. El punto final puede ser uno de los siguientes:
Un recolector de OpenTelemetry, capaz de procesar métricas y enrutarlas a múltiples destinos.
Una plataforma de observabilidad que acepte OTLP de forma nativa (por ejemplo, Datadog, Grafana, Dynatrace).
Esta función se configura mediante la Configuración de automatización. El agente de MongoDB recopila las métricas exportadas en su ciclo de recopilación habitual, por lo que esta función no supone ninguna carga adicional para los procesos de MongoDB que se están monitorizando.
En qué se diferencia la exportación de OTel de la integración de Prometheus
La ruta de exportación de OTel no reemplaza directamente la integración existente con Prometheus. Mientras que la integración con Prometheus se basa en la extracción de datos (pull), y el agente de MongoDB expone un punto final /metrics que el servidor Prometheus recopila, la ruta de OTel se basa en el envío de datos (push), y el agente de MongoDB envía métricas al punto final OTLP configurado según un temporizador.
Las métricas de OTel también utilizan nombres, tipos y unidades diferentes que siguen las convenciones semánticas de OpenTelemetry para MongoDB, por lo que no puede reutilizar sus paneles de Prometheus existentes. Debe crear nuevos paneles, alertas y consultas en su plataforma de observabilidad de destino a partir de las métricas exportadas.
Requisitos previos
Antes de configurar la exportación de OTel, asegúrese de cumplir con los siguientes requisitos:
Debe habilitar la monitorización para su implementación antes de poder configurar la exportación de OTel. La exportación de OTel reutiliza las muestras que MongoDB Agent ya recopila para la monitorización. Para obtener información sobre cómo instalar MongoDB Agent y habilitar la monitorización, consulte Instalar MongoDB Agent para monitorizar o realizar copias de seguridad de las implementaciones.
Asegúrese de que su punto final OTLP sea accesible desde todos los hosts donde se ejecuta el Agente de MongoDB. El Agente de MongoDB envía las métricas directamente al punto final. Verifique las reglas de su firewall y las políticas de salida antes de habilitar esta función.
Confirma que tienes acceso
Project Automation Adminpara actualizar la configuración de automatización a través de la API de Ops Manager. Para obtener más información sobre los roles del proyecto, consulta Roles de Ops Manager. Para obtener más información sobre la API de configuración de automatización, consulta el recurso de configuración de automatización.Asegúrese de que su punto final OTLP sea compatible con OTLP/HTTP como protocolo receptor. Para obtener información sobre cómo configurar un receptor OTLP/HTTP, consulte la especificación del protocolo OpenTelemetry.
Habilitar la exportación de OTel
La exportación de OTel se configura mediante la Configuración de automatización. Todos los ajustes se almacenan en una única clave otelConfig dentro de la clave additionalParams del módulo de monitorización. Puede aplicar esta configuración mediante el flujo de configuración personalizada existente en la interfaz de Ops Manager, descrito en Configuración personalizada. También puede aplicar esta configuración mediante la API pública de Configuración de automatización.
El siguiente ejemplo muestra una entrada additionalParams que habilita la exportación OTel:
1 "additionalParams": { 2 "otelConfig": "{\"enabled\":true,\"metricsExportIntervalSec\":30,\"backends\":[{\"endpoint\":\"https://collector.example.com:4318\",\"headers\":\"Authorization=Bearer <token>\",\"caCertPath\":\"/etc/ssl/ca.pem\"}]}" 3 }
Para ver la lista completa de campos otelConfig, consulte la configuración de exportación de OpenTelemetry (OTel).
Importante
Una otelConfig mal configurada falla de forma notoria en lugar de pasar desapercibida. Si la configuración no es válida, el Agente de MongoDB impide que se inicie el módulo de monitorización. El Agente de MongoDB reintenta la configuración cada 30 segundos hasta que recibe una configuración válida. Por lo tanto, una otelConfig no válida afecta a la monitorización en su conjunto, no solo a la ruta OTel. El agente registra este fallo con el prefijo Otel: y lo muestra en el informe de estado del agente a Ops Manager.
Los cambios de configuración surten efecto la próxima vez que se reinicie el módulo de supervisión. Ops Manager activa este reinicio automáticamente cuando se modifican las propiedades de configuración de automatización correspondientes.
Advertencia
Si configura un punto final http://, el agente de MongoDB envía métricas a través de una conexión no cifrada. Ops Manager no puede detectar si un punto final es un destino de producción, por lo que no existe ninguna medida de seguridad que impida la exportación insegura en producción. Utilice un punto final https:// para implementaciones en producción.
Implementaciones de Kubernetes
Para las implementaciones gestionadas por MongoDB Controllers for Kubernetes (MCK), la exportación de OTel utiliza el mismo mecanismo de configuración de automatización. El operador se encarga de mantener la configuración de automatización y escribe los ajustes de OTel en los hosts del agente mediante actualizaciones de recursos personalizadas. No se requiere ninguna configuración específica de Kubernetes.
Métricas exportadas
Esta función exporta los grupos de métricas de la siguiente tabla a través de OTLP. Los nombres, tipos y unidades de las métricas siguen las convenciones semánticas de OpenTelemetry para MongoDB, utilizando un patrón de nomenclatura mongodb.* consistente.
Grupo métrico | Origen | Cobertura |
|---|---|---|
Server status |
| Contadores de operaciones (incluidas las replicadas), latencias de operaciones, conexiones, memoria, red, cursores, documentos insertados, actualizados, eliminados y devueltos, estadísticas de caché de WiredTiger, tickets y profundidad de la cola, recuentos de adquisición de bloqueo, espera e interbloqueo, lecturas y escrituras activas, aserciones, control de flujo, segmentación de consultas, eliminaciones de tiempo de vida (TTL), fallos de página, tiempo de actividad y estado. |
Estadísticas de la base de datos |
| Estadísticas de almacenamiento, tamaño de datos, objetos, índices y vistas por base de datos. |
Actividad de recolección |
| Tiempo agregado por operación. |
Replicación |
| Tamaño y ventana del Oplog, retraso de replicación y estado de los miembros. |
particionado | Config metadata | Recuento de fragmentos y distribución de datos entre particiones. |
Autosalud del agente | Tiempo de ejecución del agente | Tiempo de actividad, memoria y goroutines del agente de MongoDB, publicados bajo el espacio de nombres dedicado |
Esta función exporta las métricas del contador como valores acumulativos con una marca de tiempo de inicio derivada del tiempo de actividad de mongod. Un reinicio de mongod se muestra como un restablecimiento de contador estándar, por lo que los cálculos de tasa siguen siendo correctos entre reinicios.
Estancamiento y duración de la serie
El agente de MongoDB reexporta las series de contadores sin cambios mientras un proceso no está disponible temporalmente, por lo que una brecha en la colección no se interpreta erróneamente como un reinicio del contador.
MongoDB Agent exporta series puntuales, como
mongodb.health, solo mientras están actualizadas, por lo que un proceso inaccesible se queda en silencio en lugar de mantener un valor obsoleto.El agente de MongoDB descarta una serie después de 20 minutos sin una nueva muestra, y la serie desaparece de tu backend. Ten en cuenta este comportamiento al crear alertas basadas en datos faltantes.
Configura paneles de control en tu plataforma de observabilidad.
Debe crear nuevos paneles en su plataforma de observabilidad de destino a partir de las métricas exportadas. Ops Manager no incluye paneles predefinidos, y no puede reutilizar los paneles existentes creados para la integración con Prometheus, la interfaz de Ops Manager u otra integración de terceros con MongoDB.
Tenga en cuenta estas recomendaciones al configurar los paneles de control:
Cree nuevos paneles en lugar de migrar los existentes. Los nombres de las métricas que se emiten a través de OTLP siguen una convención de nomenclatura
mongodb.*que difiere de los nombres del exportador de Prometheus y de los identificadores de métricas internos de Ops Manager.Utilice los atributos de los recursos para filtrar y agrupar. Cada métrica incluye atributos que identifican el proceso monitorizado y el proyecto. Utilice estos atributos como dimensiones principales para los paneles de control, las alertas y la agrupación.
Aplique funciones detasa a las métricas de contador. Los contadores son acumulativos. Aplique funciones como
rate()oincrease(), o sus equivalentes en su plataforma, a las métricas de tipo contador.Vuelva a crear sus alertas. La exportación de OTel no transfiere las reglas de alerta existentes definidas en Prometheus, Ops Manager u otra integración de terceros. Defina nuevas reglas de alerta en su plataforma de destino utilizando los nombres de las métricas y los atributos de los recursos de OTel.
Limitaciones
Un backend por implementación. Esta función admite un único backend OTLP. Configurar más de un backend genera un error grave. Para distribuir las métricas a múltiples destinos, configure un OpenTelemetry Collector como destino de exportación y rediríjalas a más backends mediante su configuración de canalización.
Solo métricas. Esta función exporta únicamente métricas a través de OTLP. La ruta de exportación de OTel no incluye las siguientes señales, que continúan fluyendo a Ops Manager sin cambios:
Registros (entradas del generador de perfiles, registros del host y registros del agente) y trazas
Métricas del proceso de búsqueda de MongoDB
Métricas del sistema a nivel de host (CPU, memoria, disco y red)
Histogramas de latencia por recolección
No se realiza almacenamiento en búfer para destinos inaccesibles. El agente de MongoDB reintenta o descarta una exportación fallida según la política del exportador. Esta función no proporciona una cola de almacenamiento y reenvío. La entrega a Ops Manager no se ve afectada en ningún caso.