La New Relic integración en el host RabbitMQ informa datos métricos y de configuración de su servicio RabbitMQ, incluidas métricas importantes relacionadas con el clúster, vhosts, colas, intercambios y consumidores.
Compatibilidad y requisitos
Nuestra integración es compatible con:
- RabbitMQ versión 3.0 o superior para datos métricos.
- RabbitMQ versión 3.7 o superior para datos de inventario.
Antes de instalar la integración, asegúrese de cumplir con los siguientes requisitos:
Complemento de administración RabbitMQ configurado.
Herramienta de línea de comando RabbitMQ, Rabbitmqctl, en el
PATH
del usuario raíz.Si RabbitMQ no se ejecuta en Kubernetes o Amazon ECS, debe instalar el agente de infraestructura en un host que ejecute RabbitMQ. De lo contrario:
- Si se ejecuta en Kubernetes, consulte estos requisitos.
- Si se ejecuta en ECS, consulte estos requisitos.
Instalar y activar
Para instalar la integración RabbitMQ, siga las instrucciones para su entorno:
Notas adicionales:
Advanced:
integración también están disponibles en formato tarball para permitir la instalación fuera de un administrador de paquetes.
On-host integrations do not automatically update.
Para obtener mejores resultados, actualice periódicamente el paquete de integración y el agente de infraestructura.
Importante
Esta integración puede monitor solo una instancia del servidor RabbitMQ por host.
¿Te ha ayudado este documento con la instalación?
Configurar la integración
La configuración de formato YAML de una integración es donde puede colocar las credenciales de inicio de sesión requeridas y configurar cómo se recopilan los datos. Las opciones que cambie dependen de su configuración y preferencia.
Hay varias formas de configurar la integración, dependiendo de cómo se instaló:
- Si está habilitado a través de Kubernetes: consulte Supervisar servicios que se ejecutan en Kubernetes.
- Si está habilitado a través de Amazon ECS: consulte Servicios de monitorización que se ejecutan en ECS.
- Si está instalado en el host: edite la configuración en el archivo de configuración YAML de la integración,
rabbitmq-config.yml
.
Para ver una configuración de ejemplo, consulte Archivo de configuración de ejemplo.
El archivo de configuración tiene configuraciones comunes aplicables a todas las integraciones como interval
, timeout
, inventory_source
. Para leer todo sobre estas configuraciones comunes, consulte nuestro documento Formato de configuración .
Importante
Si todavía utiliza nuestros archivos de configuración/definición legacy, consulte este documento para obtener ayuda.
Las configuraciones específicas relacionadas con RabbitMQ se definen usando la sección env
del archivo de configuración. Estas configuraciones controlan la conexión a su instancia RabbitMQ, así como otras configuraciones y características de seguridad. La lista de configuraciones válidas se describe en la siguiente sección de este documento.
Cluster environments
En entornos de clúster, la integración recopila métrica de todo el clúster con una sola instancia de la integración conectada a un nodo. Esta instancia debe usar METRICS=true
y INVENTORY=true
. Para el resto de los nodos, solo se debe recopilar Inventario usando METRICS=false
y INVENTORY=true
. Para obtener más información sobre estos, consulte configuración de instancia.
Si está ejecutando un entorno de clúster en Kubernetes, debe implementar RabbitMQ como StatefulSet y configurar el agente para consultar todas las métricas del pod RabbitMQ. Establezca la condición de coincidencia de detección automática en el archivo de configuración en este valor:
discovery: command: exec: /var/db/newrelic-infra/nri-discovery-kubernetes match: podName: rabbitmq-0
Importante
La integración tiene una limitación en la cantidad de colas que se pueden recopilar. Si el número de colas supera las 2000, después de la aplicación de los filtros de cola, la integración no informará ninguna de ellas. Ofrecemos una solución alternativa que preservará todas las métricas, pero deshabilitará el registro de entidades. Para aplicar la solución, agregue la siguiente variable de entorno al archivo de configuración:
integrations:- name: nri-rabbitmq env: # Integration configuration parameters. METRICS: true DISABLE_ENTITIES: true QUEUES_MAX_LIMIT: "0"
Configuración de la instancia RabbitMQ
La integración RabbitMQ recopila información tanto métrica (M) como de inventario (I). Consulte la columna Applies To a continuación para encontrar qué configuraciones se pueden usar para cada colección específica:
' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
Configuración | Descripción | Por defecto | Se aplica a |
---|---|---|---|
HOSTNAME | Nombre de host o IP del complemento de administración RabbitMQ. | host local | M/I |
PORT | Número de puerto del complemento de administración RabbitMQ. | 15672 | M/I |
USERNAME | Usuario que se está conectando al complemento de administración RabbitMQ. | N/A | M/I |
PASSWORD | Contraseña para conectarse al complemento de administración RabbitMQ. | N/A | M/I |
TIMEOUT | Tiempo de espera en segundos para finalizar la conexión con RabbitMQ extremo. | 30 | M/I |
MANAGEMENT_PATH_PREFIX | Prefijo de gestión de RabbitMQ. | N/A | M/I |
USE_SSL | Opción de conectarse mediante SSL. | false | M/I |
CA_BUNDLE_DIR | Ubicación del certificado SSL en el host. | N/A | M/I |
CA_BUNDLE_FILE | Ubicación del certificado SSL en el host. | N/A | M/I |
NODE_NAME_OVERRIDE | Anula el nombre del nodo local en lugar de recuperarlo de RabbitMQ. | N/A | M/I |
CONFIG_PATH | Ruta absoluta al archivo de configuración de RabbitMQ. | N/A | M/I |
QUEUES | Nombres de cola para recopilar en el formato de una matriz JSON de cadenas. Si el nombre de una cola coincide exactamente (distingue entre mayúsculas y minúsculas) con uno de estos, se recopilará. Ejemplo:
| N/A | I |
QUEUES_REGEXES | Nombres de cola para recopilar en el formato de una matriz JSON de cadenas REGEX. Si el nombre de una cola coincide con uno de estos, se recopilará. Ejemplo:
| N/A | M/I |
EXCHANGES | Intercambie nombres para recopilarlos en el formato de una matriz JSON de cadenas. Si el nombre de un intercambio coincide exactamente (distingue entre mayúsculas y minúsculas) con uno de estos, se recopilará. | N/A | M/I |
EXCHANGES_REGEXES | Intercambia nombres para recopilarlos en el formato de una matriz JSON de cadenas REGEX. Si el nombre de un intercambio coincide con uno de estos, se recopilará. | N/A | M/I |
VHOSTS | Nombres de Vhost para recolectar en el formato de una matriz JSON de cadenas. Si un nombre de vhost coincide exactamente (distingue entre mayúsculas y minúsculas) con uno de estos, se incluirá. Esto también afecta únicamente a las entidades recopiladoras que pertenecen a los vhosts especificados. | N/A | M/I |
VHOSTS_REGEXES | Nombres de Vhost para recopilar en el formato de una matriz JSON de cadenas REGEX. Si un nombre de vhost coincide con uno de estos, se recopilará el vhost y cualquier entidad que pertenezca a este vhost. | N/A | M/I |
METRICS | Establezca en | false | |
INVENTORY | Configúrelo en | false | |
EVENTS | Establezca en | false | |
DISABLE_ENTITIES | Configure si se crean entradas de inventario para la entidad durante la recopilación métrica. Solo se debe utilizar como solución alternativa para recopilar grandes cantidades de colas. | false | |
QUEUES_MAX_LIMIT | Define la cantidad máxima de colas que se pueden procesar; si se alcanza este número, se eliminarán todas las colas. Si se define como '0' no se aplican límites, se usa con DISABLE_ENTITIES=true para evitar aumento de memoria en el agente. | 2000 |
Los valores para estas configuraciones se pueden definir de varias maneras:
- Agregando el valor directamente en el archivo de configuración. Esta es la forma más común.
- Reemplazar los valores de las variables de entorno usando la notación
{{}}
. Esto requiere el agente de infraestructura v1.14.0+. Leer más aquí. - Usando la gestión de secretos. Utilícelo para proteger información confidencial, como contraseñas, que se expondrán en texto sin formato en el archivo de configuración. Para obtener más información, consulte Gestión de secretos.
Etiquetas/atributo personalizado
Las variables de entorno se pueden utilizar para controlar los ajustes de configuración, como su , y luego se pasan al agente de infraestructura. Para obtener instrucciones sobre cómo utilizar esta característica, consulte Configurar el agente de infraestructura. Puedes decorar aún más tu métrica usando etiquetas. Las etiquetas le permiten agregar valor de pares principales de atributos a su métrica que luego puede usar para consultar, filtrar o agrupar su métrica.
Nuestro archivo de configuración de muestra predeterminado incluye ejemplos de etiquetas pero, como no son obligatorias, puede eliminar, modificar o agregar nuevas de su elección.
labels: env: production role: rabbitmq
Configuración de ejemplo
Aquí hay un archivo de configuración de ejemplo:
Para obtener más información sobre la estructura general de la configuración de integración en el host, consulte Configuración.
Buscar y utilizar datos
Los datos de este servicio se informan a un dashboard de integración.
métricas se adjuntan a estos tipos de eventos:
Puede consultar estos datos para fines de resolución de problemas o para crear gráficos y paneles personalizados.
Para obtener más información sobre cómo encontrar y utilizar sus datos, consulte Comprender los datos de integración.
Datos métricos
La integración RabbitMQ recopila el siguiente atributo de datos métricos. Cada nombre de métrica tiene como prefijo un indicador de categoría y un punto, como cola. o nodo..
Evento de muestra de RabbitMQ vhost
Estos atributos están adjuntos al tipo de evento RabbitmqVhostSample
:
Nombre | Descripción |
---|---|
| Número de conexiones actuales en el estado bloqueadas. |
| Número de conexiones actuales en el estado de bloqueo. |
| Número de conexiones actuales en el estado cerradas. |
| Número de conexiones actuales en el estado de cierre. |
| Número de conexiones actuales en el flujo estatal. |
vhost.connectionsOpening | Número de conexiones actuales en la apertura estatal. |
vhost.connectionsRunning | Número de conexiones actuales en el estado en funcionamiento. |
vhost.connectionsStarting | Número de conexiones actuales en el estado inicial. |
vhost.conexionesTotal | Número de conexiones actuales a un vhost Rabbitmq determinado. |
vhost.connectionsTuning | Número de conexiones actuales en el estado de sintonización. |
Evento de muestra del nodo RabbitMQ
Estos atributos están adjuntos al tipo de evento RabbitmqNodeSample
:
Nombre | Descripción |
---|---|
node.averageErlangProcessesWaiting | Número promedio de procesos de Erlang esperando para ejecutarse. En RabbitMQ esto se ve como |
| Alarma de disco de nodo (0 o 1). 0 muestra que la alarma no se disparó y 1 muestra que la alarma sí se disparó. En RabbitMQ esto se ve como |
| Espacio libre en disco actual en bytes. En RabbitMQ esto se ve como |
| El recuento total de descriptores de archivos. En RabbitMQ esto se ve como |
| El recuento total de descriptores de archivos utilizados. En RabbitMQ esto se ve como |
| Número de descriptores de archivos utilizados como sockets. En RabbitMQ esto se ve como |
| Número total de descriptores de archivos disponibles como sockets. En RabbitMQ esto se ve como |
| Alarma de memoria del host (0 o 1). 0 muestra que la alarma no se disparó y 1 muestra que la alarma sí se disparó. En RabbitMQ esto se ve como |
| Memoria utilizada en bytes. En RabbitMQ esto se ve como |
| Número de particiones de red vistas por nodo. En RabbitMQ esto se ve como |
| Límite del proceso de Erlang. En RabbitMQ esto se ve como |
| Procesos Erlang utilizados. En RabbitMQ esto se ve como |
| Nodo en ejecución (0 o 1). 0 muestra que el nodo no se está ejecutando y 1 muestra que el nodo se está ejecutando. En RabbitMQ esto se ve como |
Evento de muestra de intercambio RabbitMQ
Estos atributos están adjuntos al tipo de evento RabbitmqExchangeSample
:
Nombre | Descripción |
---|---|
| Número de enlaces para un intercambio específico. |
| Recuento de mensajes publicados desde un canal en este intercambio. En RabbitMQ esto se ve como |
| Tasa de mensajes publicados desde un canal en este intercambio por segundo. En RabbitMQ esto se ve como |
| Recuento de mensajes publicados desde este intercambio en una cola. En RabbitMQ esto se ve como |
| Tasa de mensajes publicados desde este intercambio en una cola por segundo. En RabbitMQ esto se ve como |
Evento de muestra de cola RabbitMQ
Estos atributos están adjuntos al tipo de evento RabbitmqQueueSample
:
Nombre | Descripción |
---|---|
| Número de enlaces para una cola específica. |
| Número de consumidores activos que pueden recibir inmediatamente cualquier mensaje enviado a la cola. En RabbitMQ esto se ve como |
| Número de consumidores por cola. En RabbitMQ esto se ve como consumidor. |
| La proporción de tiempo que el consumidor de una cola puede recibir mensajes nuevos (utilización por segundo). En RabbitMQ esto se ve como Esta métrica solo está disponible en RabbitMQ versión 3.3 o superior. |
| Bytes consumidos por el proceso Erlang asociado con la cola. En RabbitMQ esto se ve como |
| Recuento de mensajes listos para ser entregados a los clientes. En RabbitMQ esto se ve como |
| Tasa de mensajes listos para ser entregados a los clientes por segundo. En RabbitMQ esto se ve como |
| Recuento de mensajes por cola entregados a clientes pero aún no reconocidos. En RabbitMQ esto se ve como |
| Tasa de mensajes por cola entregados a clientes pero aún no reconocidos por segundo. En RabbitMQ esto se ve como |
| Recuento de mensajes entregados a clientes y confirmados por cola. En RabbitMQ esto se ve como |
| Tasa de mensajes entregados a clientes y confirmados por segundo por cola. En RabbitMQ esto se ve como |
| Recuento de mensajes entregados en modo de reconocimiento al consumidor por cola. En RabbitMQ esto se ve como |
| Tasa de mensajes entregados en modo de reconocimiento al consumidor por cola por segundo. En RabbitMQ esto se ve como |
| Recuento de mensajes publicados por cola. En RabbitMQ esto se ve como |
| Tasa de mensajes publicados por segundo por cola. En RabbitMQ esto se ve como |
| Recuento del subconjunto de mensajes en modo de reconocimiento que tenían el indicador de reenvío establecido por cola. En RabbitMQ esto se ve como |
| Tasa del subconjunto de mensajes en modo de reconocimiento que tenían el indicador reentregado establecido por cola por segundo. En RabbitMQ esto se ve como |
| Suma de mensajes entregados en modo de reconocimiento al consumidor, en modo sin reconocimiento al consumidor, en modo de reconocimiento en respuesta a basic.get y en modo sin reconocimiento en respuesta a basic.get. por cola. En RabbitMQ esto se ve como |
| Tasa por segundo de la suma de mensajes entregados en modo de reconocimiento al consumidor, en modo sin reconocimiento al consumidor, en modo de reconocimiento en respuesta a basic.get y en modo sin reconocimiento en respuesta a basic.get por cola. En RabbitMQ esto se ve como |
| Recuento del total de mensajes en la cola. En RabbitMQ esto se ve como |
| Tasa de mensajes totales en cola. En RabbitMQ esto se ve como |
Metadatos del sistema
Otros metadatos incluyen:
Nombre | Descripción |
---|---|
| La versión del servidor RabbitMQ. Ejemplo: 3.6.7. |
| La versión del complemento de administración RabbitMQ. Por ejemplo: 3.6.7. |
Datos de inventario
La integración captura el parámetro de configuración de RabbitMQ en el archivo /etc/rabbitmq/rabbitmq.conf
. los datos de inventario solo se capturan en RabbitMQ versión 3.7 o superior; Los datos de inventario aparecerán en la páginaInventory de la UI de infraestructura, bajo la fuente config/rabbitmq
.
Advertencia
Tenga en cuenta que cualquier información confidencial que ingrese en el archivo rabbit.conf
aparecerá en la página Inventory en la UI de infraestructura. Esto incluye elementos como los siguientes de AWS:
cluster_formation.aws.secret_key,cluster_formation.aws.access_key_id
Resolución de problemas
Consejos para la resolución de problemas:
Comprueba el código fuente
Esta integración es software de código abierto. Eso significa que puedes explorar su código fuente y enviar mejoras, o crear tu propia bifurcación y compilarla.