La integración de MongoDB recopila sobre todo métricas de bases de datos, como la cantidad de operaciones y objetos, así como el uso de recursos. La integración también recopila registros y los analiza en una carga útil de JSON. El resultado incluye campos para el contexto, el componente, el nivel y el mensaje.
Para obtener más información sobre MongoDB, consulta la documentación de MongoDB.
Requisitos previos
Para recopilar la telemetría de MongoDB, debes instalar el agente de operaciones:
- Para las métricas, instala la versión 2.19.0 o una posterior.
- Para los registros, instala la versión 2.10.0 o una posterior.
Esta integración es compatible con las versiones 2.6, 3.x, 4.x, 5.0 y 6.0 de MongoDB.
Configura el agente de operaciones para MongoDB
Sigue la guía para configurar el Agente de operaciones, agrega los elementos necesarios para recopilar telemetría de las instancias de MongoDB y reinicia el agente.
Configuración de ejemplo
Los siguientes comandos crean la configuración para recopilar y transferir la telemetría de MongoDB:
Para que estos cambios se apliquen, debes reiniciar el Agente de operaciones:
Linux
- Para reiniciar el agente, ejecuta el siguiente comando en la instancia:
sudo systemctl restart google-cloud-ops-agent
- Para confirmar que el agente se haya reiniciado, ejecuta el siguiente comando y
verifica que los componentes “Agente de métricas” y “Agente de Logging” se hayan iniciado:
sudo systemctl status "google-cloud-ops-agent*"
Windows
- Conéctate a la instancia a través de RDP o una herramienta similar y accede a Windows.
- Haz clic con el botón derecho en el ícono de PowerShell y selecciona Ejecutar como administrador para abrir una terminal de PowerShell con privilegios de administrador.
- Para reiniciar el agente, ejecuta el siguiente comando de PowerShell:
Restart-Service google-cloud-ops-agent -Force
- Para confirmar que el agente se haya reiniciado, ejecuta el siguiente comando y
verifica que los componentes “Agente de métricas” y “Agente de Logging” se hayan iniciado:
Get-Service google-cloud-ops-agent*
Configura la recopilación de registros
Para transferir registros desde MongoDB, debes crear un receptor para los registros que produce MongoDB y, luego, crear una canalización para el receptor nuevo.
A fin de configurar un receptor para tus registros mongodb, especifica los siguientes campos:
| Campo | Predeterminado | Descripción |
|---|---|---|
exclude_paths |
Una lista de patrones de ruta de acceso del sistema de archivos que se excluirán del conjunto que coincide con include_paths. |
|
include_paths |
[/var/log/mongodb/mongod.log*] |
Es una lista de rutas de acceso del sistema de archivos que se leerán con la visualización de cada archivo. En las rutas de acceso, se puede usar un comodín (*). Por ejemplo, /var/log/mongodb/*.log. |
record_log_file_path |
false |
Si se establece en true, la ruta de acceso al archivo específico desde el que se obtuvo el registro aparece en la entrada de registro de salida como el valor de la etiqueta agent.googleapis.com/log_file_path. Cuando se usa un comodín, solo se registra la ruta de acceso del archivo del que se obtuvo el registro. |
type |
Este valor debe ser mongodb. |
|
wildcard_refresh_interval |
60s |
Es el intervalo en el que se actualizan las rutas de acceso a los archivos comodín en include_paths. Se proporciona como una duración, por ejemplo, 30s o 2m. Esta propiedad puede ser útil en el caso de una capacidad de procesamiento de registro alta en la que los archivos de registro se rotan más rápido que el intervalo predeterminado. |
¿Qué se registra?
El logName se deriva de los IDs del
receptor especificados en la configuración. Los campos detallados en
LogEntry
son los siguientes.
Los registros mongodb contienen los siguientes campos en LogEntry:
| Campo | Tipo | Descripción |
|---|---|---|
jsonPayload.attributes |
objeto (opcional) | Un objeto que contiene uno o más pares clave-valor para cualquier atributo adicional proporcionado |
jsonPayload.component |
string | Categorización del mensaje de registro. Puedes encontrar una lista completa en la documentación de MongoDB. |
jsonPayload.context |
string | |
jsonPayload.ctx |
string | El nombre del subproceso que emite la instrucción de registro. |
jsonPayload.id |
número | ID de registro |
jsonPayload.message |
string | Mensaje de registro |
jsonPayload.severity |
string | Nivel de entrada de registro |
severity |
string (LogSeverity) |
Es el nivel de entrada de registro (traducido). |
Configura la recopilación de métricas
Para transferir métricas desde MongoDB, debes crear un receptor para las métricas que produce MongoDB y, luego, crear una canalización destinada al receptor nuevo.
Este receptor no admite el uso de varias instancias en la configuración, por ejemplo, para supervisar varios extremos. Todas estas instancias escriben en las mismas series temporales, y Cloud Monitoring no tiene forma de distinguirlas.
Para configurar un receptor destinado a las métricas de mongodb, especifica los siguientes
campos:
| Campo | Predeterminado | Descripción |
|---|---|---|
ca_file |
Es la ruta de acceso al certificado de la AC. Como cliente, esto verifica el certificado del servidor. Si está vacío, el receptor usa la AC raíz del sistema. | |
cert_file |
Es la ruta de acceso al certificado TLS que se usará para las conexiones que requiere mTLS. | |
collection_interval |
60s |
Un valor de duración de tiempo, como 30s o 5m. |
endpoint |
localhost:27017 |
El nombre de host, la dirección IP o el socket de dominio UNIX. Se puede especificar un puerto como <hostname>:<port>. Si no se especifica ningún puerto, se usará el valor predeterminado 27017. |
insecure |
true |
Establece si se debe usar o no una conexión TLS segura. Si se establece en false, se habilita TLS. |
insecure_skip_verify |
false |
Determina si se debe omitir o no la verificación del certificado. Si insecure se configura como true, no se usa el valor insecure_skip_verify. |
key_file |
Ruta de acceso a la clave TLS que se usará para las conexiones requeridas por mTLS, por ejemplo, la clave que se usa en --tlsCertificateKeyFile. |
|
password |
Contraseña para la autenticación con la instancia de MongoDB. Es obligatoria si se configura username. |
|
type |
Este valor debe ser mongodb. |
|
username |
Nombre de usuario para la autenticación con la instancia de MongoDB. Es obligatoria si se configura password. |
Qué se supervisa
En la siguiente tabla, se proporciona una lista de métricas que el Agente de operaciones recopila de la instancia de MongoDB.
| Tipo de métrica | |
|---|---|
| Categoría, tipo Recursos supervisados |
Etiquetas |
workload.googleapis.com/mongodb.cache.operations
|
|
CUMULATIVE, INT64gce_instance |
type
|
workload.googleapis.com/mongodb.collection.count
|
|
GAUGE, INT64gce_instance |
database
|
workload.googleapis.com/mongodb.connection.count
|
|
GAUGE, INT64gce_instance |
databasetype
|
workload.googleapis.com/mongodb.cursor.count
|
|
GAUGE, INT64gce_instance |
|
workload.googleapis.com/mongodb.cursor.timeout.count
|
|
GAUGE, INT64gce_instance |
|
workload.googleapis.com/mongodb.data.size
|
|
GAUGE, INT64gce_instance |
database
|
workload.googleapis.com/mongodb.database.count
|
|
GAUGE, INT64gce_instance |
|
workload.googleapis.com/mongodb.document.operation.count
|
|
GAUGE, INT64gce_instance |
databaseoperation
|
workload.googleapis.com/mongodb.global_lock.time
|
|
CUMULATIVE, INT64gce_instance |
|
workload.googleapis.com/mongodb.index.access.count
|
|
GAUGE, INT64gce_instance |
collectiondatabase
|
workload.googleapis.com/mongodb.index.count
|
|
GAUGE, INT64gce_instance |
database
|
workload.googleapis.com/mongodb.index.size
|
|
GAUGE, INT64gce_instance |
database
|
workload.googleapis.com/mongodb.memory.usage
|
|
GAUGE, INT64gce_instance |
databasetype
|
workload.googleapis.com/mongodb.network.io.receive
|
|
GAUGE, INT64gce_instance |
|
workload.googleapis.com/mongodb.network.io.transmit
|
|
GAUGE, INT64gce_instance |
|
workload.googleapis.com/mongodb.network.request.count
|
|
GAUGE, INT64gce_instance |
|
workload.googleapis.com/mongodb.object.count
|
|
GAUGE, INT64gce_instance |
database
|
workload.googleapis.com/mongodb.operation.count
|
|
CUMULATIVE, INT64gce_instance |
operation
|
workload.googleapis.com/mongodb.operation.time
|
|
CUMULATIVE, INT64gce_instance |
operation
|
workload.googleapis.com/mongodb.session.count
|
|
GAUGE, INT64gce_instance |
|
workload.googleapis.com/mongodb.storage.size
|
|
CUMULATIVE, INT64gce_instance |
database
|
Verifica la configuración
En esta sección, se describe cómo verificar que hayas configurado de forma correcta el receptor de MongoDB. El agente de operaciones puede tardar uno o dos minutos en comenzar a recopilar telemetría.
Para verificar que los registros de MongoDB se envíen a Cloud Logging, haz lo siguiente:
-
En la consola de Google Cloud , accede a la página Explorador de registros:
Accede al Explorador de registros.
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.
- Ingresa la siguiente consulta en el editor y, luego, haz clic en Ejecutar consulta:
resource.type="gce_instance" log_id("mongodb")
Para verificar que las métricas de MongoDB se envíen a Cloud Monitoring, haz lo siguiente:
-
En la consola de Google Cloud , accede a la página leaderboard Explorador de métricas:
Acceder al Explorador de métricas
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.
- En la barra de herramientas del panel del compilador de consultas, selecciona el botón cuyo nombre es code MQL o code PromQL.
- Verifica que PromQL esté seleccionado en el botón de activación Lenguaje. El botón de activación de lenguaje se encuentra en la misma barra de herramientas que permite dar formato a la consulta.
- Ingresa la siguiente consulta en el editor y, luego, haz clic en Ejecutar consulta:
{"workload.googleapis.com/mongodb.memory.usage", monitored_resource="gce_instance"}
Ver panel
Para ver tus métricas de MongoDB, debes tener configurado un gráfico o un panel. La integración de MongoDB incluye uno o más paneles. Cualquier panel se instala de forma automática después de que configuras la integración y de que el agente de operaciones comienza a recopilar datos de métricas.
También puedes obtener vistas previas estáticas de los paneles sin instalar la integración.
Para ver un panel instalado, haz lo siguiente:
-
En la consola de Google Cloud , accede a la página Paneles
:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.
- Selecciona la pestaña Lista de paneles y, luego, la categoría Integraciones.
- Haz clic en el nombre del panel que quieras ver.
Si configuraste una integración, pero el panel no se instaló, comprueba que el Agente de operaciones se esté ejecutando. Cuando no hay datos de métricas para un gráfico en el panel, la instalación del panel falla. Una vez que el Agente de operaciones empieza a recopilar métricas, el panel se instalará por ti.
Para obtener una vista previa estática del panel, haz lo siguiente:
-
En la consola de Google Cloud , accede a la página Integraciones
:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.
- Haz clic en el filtro de la plataforma de implementación Compute Engine.
- Ubica la entrada para MongoDB y haz clic en Ver detalles.
- Selecciona la pestaña Paneles para ver una vista previa estática. Si el panel está instalado, haz clic en Ver panel para acceder a este.
Para obtener más información sobre los paneles de Cloud Monitoring, consulta Paneles y gráficos.
Para obtener más información sobre el uso de la página Integraciones, consulta Administra integraciones.
Instala políticas de alertas
Las políticas de alertas le indican a Cloud Monitoring que te notifique cuando ocurren condiciones especificadas. La integración de MongoDB incluye una o más políticas de alertas para que uses. Puedes ver y también instalar estas políticas de alertas desde la página Integraciones en Monitoring.
Para ver las descripciones de las políticas de alertas disponibles y, luego, instalarlas, haz lo siguiente:
-
En la consola de Google Cloud , accede a la página Integraciones
:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.
- Ubica la entrada para MongoDB y haz clic en Ver detalles.
- Selecciona la pestaña Alertas. En esta pestaña, se proporcionan descripciones de las políticas de alertas disponibles y una interfaz para instalarlas.
- Instala las políticas de alertas. Las políticas de alertas deben
saber a dónde deben enviar notificaciones acerca de la
activación de la alerta, por lo que requieren que proporciones información para la instalación.
Para instalar políticas de alertas, haz lo siguiente:
- En la lista de políticas de alertas disponibles, elige las que quieras instalar.
En la sección Configurar notificaciones, elige uno o más canales de notificaciones. Tienes la opción de inhabilitar el uso de los canales de notificaciones, pero si lo haces, las políticas de alertas se activarán de forma silenciosa. Puedes comprobar su estado en Monitoring, pero no recibirás notificaciones.
Para obtener más información sobre los canales de notificaciones, consulta Administra canales de notificaciones.
- Haz clic en Crear políticas.
Para obtener más información sobre las políticas de alertas en Cloud Monitoring, consulta Introducción a las alertas.
Para obtener más información sobre el uso de la página Integraciones, consulta Administra integraciones.
¿Qué sigue?
Para obtener una explicación sobre cómo usar Ansible con el objetivo de instalar el Agente de operaciones, configurar una aplicación de terceros y, luego, instalar un panel de muestra, mira el video Instala el Agente de operaciones para solucionar problemas de aplicaciones de terceros.