La integración de RabbitMQ recopila métricas de mensajes, como la cantidad de mensajes entregados, publicados y descartados. La integración también recopila registros de RabbitMQ y los analiza en una carga útil de JSON. El resultado incluye el ID del proceso, el nivel y el mensaje.
Para obtener más información sobre RabbitMQ, consulta la documentación de RabbitMQ.
Requisitos previos
Para recopilar la telemetría de RabbitMQ, debes instalar el agente de operaciones:
- Para las métricas, instala la versión 2.11.0 o una posterior.
- Para los registros, instala la versión 2.12.0 o una posterior.
Esta integración admite las versiones 3.8 y 3.9 de RabbitMQ.
Debes habilitar el complemento de administración de RabbitMQ mediante las instrucciones para comenzar a usarlo.
Debes configurar un usuario con la etiqueta monitoring
.
Configura el Agente de operaciones para RabbitMQ
En la guía sobre cómo configurar el agente de operaciones, agrega los elementos necesarios para recopilar la telemetría de las instancias de RabbitMQ y reinicia el agente.
Configuración de ejemplo
Los siguientes comandos crean la configuración para recopilar y transferir la telemetría de RabbitMQ y reiniciar el agente de operaciones.
# Configures Ops Agent to collect telemetry from the app and restart Ops Agent.
set -e
# Create a back up of the existing file so existing configurations are not lost.
sudo cp /etc/google-cloud-ops-agent/config.yaml /etc/google-cloud-ops-agent/config.yaml.bak
# Configure the Ops Agent.
sudo tee /etc/google-cloud-ops-agent/config.yaml > /dev/null << EOF
metrics:
receivers:
rabbitmq:
type: rabbitmq
username: usr
password: pwd
service:
pipelines:
rabbitmq:
receivers:
- rabbitmq
logging:
receivers:
rabbitmq:
type: rabbitmq
service:
pipelines:
rabbitmq:
receivers:
- rabbitmq
EOF
sudo service google-cloud-ops-agent restart
sleep 30
Configura la recopilación de registros
A fin de transferir registros desde RabbitMQ, debes crear receptores para los registros que produce RabbitMQ y, luego, crear una canalización para los receptores nuevos.
A fin de configurar un receptor para tus registros rabbitmq
, 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/rabbitmq/*.log] |
Una lista de rutas de acceso del sistema de archivos que se leerán mediante la visualización del final de cada archivo. Se puede usar un comodín (* ) en las rutas. Por ejemplo, /var/log/rabbitmq/*.log . |
record_log_file_path |
false |
Si se configura como true , la ruta 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 rabbitmq . |
|
wildcard_refresh_interval |
60s |
El intervalo en el que se actualizan las rutas de acceso de archivos comodín en include_paths. Se proporciona como una duración de tiempo que se puede analizar mediante time.ParseDuration , 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?
logName
se deriva de los ID de receptor especificados en la configuración. Los campos detallados dentro de LogEntry
son los siguientes.
Los registros rabbitmq
contienen los siguientes campos en LogEntry
:
Campo | Tipo | Descripción |
---|---|---|
jsonPayload.message |
string | Mensaje de registro, incluido el seguimiento de pila detallado cuando se proporciona |
jsonPayload.process_id |
string | El ID de proceso que emite el registro |
severity |
string (LogSeverity ) |
Nivel de entrada de registro (traducido). |
Configura la recopilación de métricas
Si deseas transferir métricas de RabbitMQ, debes crear receptores para las métricas que produce RabbitMQ y, luego, crear una canalización destinada a los receptores nuevos.
A fin de configurar un receptor para las métricas de rabbitmq
, especifica los siguientes campos:
Campo | Predeterminado | Descripción |
---|---|---|
ca_file |
Ruta al certificado de CA. Como cliente, esto verifica el certificado del servidor. Si está vacío, el receptor usa la CA raíz del sistema. | |
cert_file |
Ruta de acceso al certificado TLS que se usará para las conexiones requeridas por mTLS. | |
collection_interval |
60s |
Un valor de duración de tiempo, como 30s o 5m . |
endpoint |
http://localhost:15672 |
La URL del nodo que se debe supervisar. |
insecure |
true |
Establece si se debe usar o no una conexión TLS segura. Si se configura como false , TLS está habilitado. |
insecure_skip_verify |
false |
Establece si se debe omitir 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. | |
password |
La contraseña usada para conectarse al servidor. | |
type |
Este valor debe ser rabbbitmq . |
|
username |
El nombre de usuario usado para conectarse al servidor. |
Qué se supervisa
En la siguiente tabla, se proporciona una lista de métricas que el Agente de operaciones recopila de la instancia de RabbitMQ.
Tipo de métrica | |
---|---|
Categoría, tipo Recursos supervisados |
Etiquetas |
workload.googleapis.com/rabbitmq.consumer.count
|
|
GAUGE , INT64 gce_instance |
|
workload.googleapis.com/rabbitmq.message.current
|
|
GAUGE , INT64 gce_instance |
state
|
Panel de muestra
Para ver tus métricas de RabbitMQ, debes tener un gráfico o un panel configurado. Cloud Monitoring proporciona una biblioteca de paneles de muestra para integraciones, que contienen gráficos preconfigurados. Para obtener información sobre la instalación de estos paneles, consulta Instala paneles de muestra.
Verifica la configuración
En esta sección, se describe cómo verificar que configuraste correctamente el receptor RabbitMQ. El agente de operaciones puede tardar uno o dos minutos en comenzar a recopilar telemetría.
A fin de verificar que los registros se transfieran, ve al Explorador de registros y ejecuta la siguiente consulta para ver los registros de RabbitMQ:
resource.type="gce_instance"
log_id("rabbitmq")
Para verificar que las métricas se transfieran, ve a Explorador de métricas y ejecuta la siguiente consulta en la pestaña MQL:
fetch gce_instance
| metric 'workload.googleapis.com/rabbitmq.message.current'
| every 1m
¿Qué sigue?
Para obtener una explicación sobre cómo usar Ansible a fin de instalar el agente de operaciones, configurar una aplicación de terceros y, luego, instalar un panel de muestra, consulta el video Instala el agente de operaciones para solucionar problemas de apps de terceros.