RabbitMQ

Supported OS Linux Mac OS Windows

Intégration3.1.0

Dashboard RabbitMQ

Présentation

Ce check permet de surveiller RabbitMQ avec l’Agent Datadog. Il peut être utilisé pour :

  • Surveiller des statistiques liées aux files d’attente : la taille de file d’attente, le nombre de clients, les messages sans accusé de réception, les messages renvoyés, etc.
  • Surveiller des statistiques liées aux nœuds : processus en attente, sockets utilisés, descripteurs de fichiers utilisés, etc.
  • Surveiller la disponibilité et le nombre de connexions des vhosts.

Et plus encore.

Configuration

Installation

Le check RabbitMQ est inclus avec le package de l’Agent Datadog. Vous n’avez donc rien d’autre à installer sur votre serveur.

Configuration

Préparer RabbitMQ

Activez le plug-in de gestion RabbitMQ. L’utilisateur Agent doit au minimum disposer du tag monitoring et de ces autorisations :

AutorisationCommande
conf^aliveness-test$
write^amq\.default$
read.*

Créez un utilisateur Agent pour votre vhost par défaut avec les commandes suivantes :

rabbitmqctl add_user datadog <SECRET>
rabbitmqctl set_permissions  -p / datadog "^aliveness-test$" "^amq\.default$" ".*"
rabbitmqctl set_user_tags datadog monitoring

Ici, / correspond au host par défaut. Définissez ce paramètre sur le hostname virtuel que vous avez spécifié. Consultez la documentation relative à RabbitMQ pour en savoir plus.

Host

Pour configurer ce check lorsque l’Agent est exécuté sur un host :

Collecte de métriques
  1. Modifiez le fichier rabbitmq.d/conf.yaml dans le dossier conf.d/ à la racine du répertoire de configuration de votre Agent pour commencer à recueillir vos métriques RabbitMQ. Consultez le fichier d’exemple rabbitmq.d/conf.yaml pour découvrir toutes les options de configuration disponibles.

    Remarque : par défaut, l’Agent effectue des checks sur toutes les files d’attente, tous les vhosts et tous les nœuds, mais vous pouvez définir des listes ou des expressions régulières pour limiter ce comportement. Consultez le fichier rabbitmq.d/conf.yaml pour découvrir des exemples.

  2. Redémarrez l’Agent.

Collecte de logs

Disponible à partir des versions > 6.0 de l’Agent

  1. Pour modifier l’emplacement du fichier de log par défaut, définissez la variable d’environnement RABBITMQ_LOGS ou ajoutez ces lignes à votre fichier de configuration RabbitMQ (/etc/rabbitmq/rabbitmq.conf) :

      log.dir = /var/log/rabbit
      log.file = rabbit.log
    
  2. La collecte de logs est désactivée par défaut dans l’Agent Datadog. Vous devez l’activer dans datadog.yaml :

    logs_enabled: true
    
  3. Modifiez la section logs de votre fichier rabbitmq.d/conf.yaml pour commencer à recueillir vos logs RabbitMQ :

    logs:
      - type: file
        path: /var/log/rabbit/*.log
        source: rabbitmq
        service: myservice
        log_processing_rules:
          - type: multi_line
            name: logs_starts_with_equal_sign
            pattern: "="
    
  4. Redémarrez l’Agent.

Environnement conteneurisé

Consultez la documentation relative aux modèles d’intégration Autodiscovery pour découvrir comment appliquer les paramètres ci-dessous à un environnement conteneurisé.

Collecte de métriques
ParamètreValeur
<NOM_INTÉGRATION>rabbitmq
<CONFIG_INIT>vide ou {}
<CONFIG_INSTANCE>{"rabbitmq_api_url":"%%host%%:15672/api/","username": <NOMUTILISATEUR>, "password": <MOTDEPASSE>}
Collecte de logs

Disponible à partir des versions > 6.0 de l’Agent

La collecte des logs est désactivée par défaut dans l’Agent Datadog. Pour l’activer, consultez la section Collecte de logs avec Kubernetes.

ParamètreValeur
<CONFIG_LOG>{"source": "rabbitmq", "service": "rabbitmq", "log_processing_rules": [{"type":"multi_line","name":"logs_starts_with_equal_sign", "pattern": "="}]}

Validation

Lancez la sous-commande status de l’Agent et cherchez rabbitmq dans la section Checks.

Données collectées

Métriques

L’Agent tague les métriques rabbitmq.queue.* par nom de file d’attente et les métriques rabbitmq.node.* par nom de nœud.

Événements

Pour des raisons de performances, le check RabbitMQ limite le nombre d’exchanges, de files d’attente et de nœuds pour lesquels il recueille des métriques. Si le check se rapproche de cette limite, il envoie un événement de type warning sur votre flux d’événements.

Si vous avez besoin d’augmenter le nombre d’exchanges, de files d’attente ou de nœuds, contactez l’assistance Datadog.

Checks de service

rabbitmq.aliveness
Renvoie le statut d’un host virtuel basé sur l’API RabbitMQ API Aliveness. L’API Aliveness créera une file d’attente de test, puis publiera et lira un message de cette file d’attente. Renvoie OK si le code d’état de l’API est 200 et CRITICAL pour les autres cas.
Statuses: ok, critical

rabbitmq.status
Renvoie le statut du serveur RabbitMQ. Renvoie OK si l’Agent a pu contacter l’API et CRITICAL pour les autres cas.
Statuses: ok, critical

Dépannage

Besoin d’aide ? Contactez l’assistance Datadog.

Pour aller plus loin

Documentation, liens et articles supplémentaires utiles :

FAQ

PREVIEWING: may/embedded-workflows