ActiveMQ
Rapport de recherche Datadog : Bilan sur l'adoption de l'informatique sans serveur Rapport : Bilan sur l'adoption de l'informatique sans serveur

ActiveMQ

Agent Check Check de l'Agent

Supported OS: Linux Mac OS Windows

Présentation

Le check ActiveMQ recueille des métriques sur les agents, les files d’attente, les producteurs, les consommateurs, et plus encore.

Remarque : si vous utilisez une version d’ActiveMQ antérieure à la version 5.8.0, consultez les fichiers d’exemple de l’Agent 5.10.x.

Configuration

Installation

Le check ActiveMQ de l’Agent est inclus avec le package de l’Agent Datadog : vous n’avez donc rien d’autre à installer sur vos nœuds ActiveMQ.

Le check recueille des métriques via JMX, une JVM est donc nécessaire sur chaque nœud pour que l’Agent puisse faire un fork de jmxfetch. Nous vous conseillons d’utiliser une JVM fournie par Oracle.

Configuration

Host

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

  1. Vérifiez que l’accès distant à JMX est activé sur votre serveur ActiveMQ.

  2. Configurez l’Agent pour le connecter à ActiveMQ. Modifiez activemq.d/conf.yaml dans le dossier conf.d/ à la racine du répertoire de configuration de votre Agent. Consultez le fichier d’exemple activemq.d/conf.yaml pour découvrir toutes les options de configuration disponibles.

    instances:
      - host: localhost
        port: 1616
        user: username
        password: password
        name: activemq_instance
    # List of metrics to be collected by the integration
    # You should not have to modify this.
    init_config:
      conf:
        - include:
          Type: Queue
          attribute:
            AverageEnqueueTime:
              alias: activemq.queue.avg_enqueue_time
              metric_type: gauge
            ConsumerCount:
              alias: activemq.queue.consumer_count
              metric_type: gauge
            ProducerCount:
              alias: activemq.queue.producer_count
              metric_type: gauge
            MaxEnqueueTime:
              alias: activemq.queue.max_enqueue_time
              metric_type: gauge
            MinEnqueueTime:
              alias: activemq.queue.min_enqueue_time
              metric_type: gauge
            MemoryPercentUsage:
              alias: activemq.queue.memory_pct
              metric_type: gauge
            QueueSize:
              alias: activemq.queue.size
              metric_type: gauge
            DequeueCount:
              alias: activemq.queue.dequeue_count
              metric_type: counter
            DispatchCount:
              alias: activemq.queue.dispatch_count
              metric_type: counter
            EnqueueCount:
              alias: activemq.queue.enqueue_count
              metric_type: counter
            ExpiredCount:
              alias: activemq.queue.expired_count
              type: counter
            InFlightCount:
              alias: activemq.queue.in_flight_count
              metric_type: counter
    
        - include:
          Type: Broker
          attribute:
            StorePercentUsage:
              alias: activemq.broker.store_pct
              metric_type: gauge
            TempPercentUsage:
              alias: activemq.broker.temp_pct
              metric_type: gauge
            MemoryPercentUsage:
              alias: activemq.broker.memory_pct
              metric_type: gauge
    
  3. Redémarrez l’Agent.

Collecte de logs

Disponible à partir des versions > 6.0 de l’Agent

  1. 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
    
  2. Ajoutez ce bloc de configuration à votre fichier activemq.d/conf.yaml pour commencer à recueillir vos logs ActiveMQ :

    logs:
      - type: file
        path: "<ACTIVEMQ_BASEDIR>/data/activemq.log"
        source: activemq
        service: "<SERVICE_NAME>"
      - type: file
        path: "<ACTIVEMQ_BASEDIR>/data/audit.log"
        source: activemq
        service: "<SERVICE_NAME>"
    
  3. 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>activemq
<CONFIG_INIT>vide ou {}
<CONFIG_INSTANCE>{"host": "%%host%%","port":"1099"}
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": "activemq", "service": "<VOTRE_NOM_APPLICATION>"}

Validation

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

Données collectées

Métriques

activemq.queue.avg_enqueue_time
(gauge)
On average the amount of time (ms) that messages remained enqueued.
Shown as millisecond
activemq.queue.consumer_count
(gauge)
The number of consumers connected
activemq.queue.producer_count
(gauge)
The number of producers connected
activemq.queue.max_enqueue_time
(gauge)
The max the amount of time (ms) that messages remained enqueued.
Shown as millisecond
activemq.queue.min_enqueue_time
(gauge)
The min the amount of time (ms) that messages remained enqueued.
Shown as millisecond
activemq.queue.memory_pct
(gauge)
The percentage of memory currently in use
Shown as percent
activemq.queue.size
(gauge)
The amount of messages that remained queued.
Shown as message
activemq.queue.dequeue_count
(gauge)
The amount of messages that remained dequeued.
Shown as message
activemq.queue.dispatch_count
(gauge)
The amount of messages that have been dispatched.
Shown as message
activemq.queue.enqueue_count
(gauge)
The amount of messages that have been enqueued.
Shown as message
activemq.queue.expired_count
(gauge)
The amount of messages that have been expired.
Shown as message
activemq.queue.in_flight_count
(gauge)
The amount of messages that have been in flight.
Shown as message
activemq.broker.store_pct
(gauge)
The percentage of store in use.
Shown as percent
activemq.broker.temp_pct
(gauge)
The percentage of temporary in use.
Shown as percent
activemq.broker.memory_pct
(gauge)
The percentage of memory in use.
Shown as percent

Événements

Le check ActiveMQ n’inclut aucun événement.

Checks de service

activemq.can_connect :
Renvoie CRITICAL si l’Agent ne parvient pas à se connecter à l’instance ActiveMQ qu’il surveille et d’y recueillir des métriques. Si ce n’est pas le cas, renvoie OK.

Dépannage

Besoin d’aide ? Contactez l’assistance Datadog.

Pour aller plus loin

Documentation, liens et articles supplémentaires utiles :

Intégration ActiveMQ XML

Présentation

Recueillez des métriques d’ActiveMQ XML en temps réel pour :

  • Visualiser et surveiller les états d’ActiveMQ XML
  • Être informé des failovers et des événements d’ActiveMQ XML

Configuration

Installation

Le check ActiveMQ XML est inclus avec le package de l’Agent Datadog : vous n’avez donc rien d’autre à installer sur vos serveurs.

Configuration

Suivez les instructions ci-dessous pour configurer ce check lorsque l’Agent est exécuté sur un host. Consultez la section Environnement conteneurisé pour en savoir plus sur les environnements conteneurisés.

Host

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

  1. Modifiez le fichier activemq_xml.d/conf.yaml dans le dossier conf.d/ à la racine du répertoire de configuration de votre Agent avec votre url stats. Consultez le fichier d’exemple activemq_xml.d/conf.yaml pour découvrir toutes les options de configuration disponibles.

    Remarque : l’intégration ActiveMQ XML peut potentiellement générer des métriques custom, ce qui peut avoir une incidence sur votre facture. Par défaut, une limite de 350 métriques est appliquée. Si vous souhaitez utiliser davantage de métriques, contactez l’assistance Datadog.

  2. Redémarrez l’Agent.

Environnement conteneurisé

Pour les environnements conteneurisés, consultez le guide Autodiscovery avec JMX.

Validation

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

Données collectées

Métriques

activemq.queue.count
(gauge)
The number of queues.
activemq.queue.consumer_count
(gauge)
The number of consumers of a queue.
activemq.queue.dequeue_count
(gauge)
The total number of messages sent to a queue since the last restart.
Shown as message
activemq.queue.enqueue_count
(gauge)
The total number of messages removed from a queue (acknowledged by consumer) since the last restart.
Shown as message
activemq.queue.size
(gauge)
The size of a queue.
activemq.topic.count
(gauge)
The number of topics.
activemq.topic.consumer_count
(gauge)
The number of consumers of a topic.
activemq.topic.dequeue_count
(gauge)
The total number of messages sent to a topic since the last restart.
Shown as message
activemq.topic.enqueue_count
(gauge)
The total number of messages removed from a topic (acknowledged by consumer) since the last restart.
Shown as message
activemq.topic.size
(gauge)
The size of a topic.
activemq.subscriber.count
(gauge)
The number of subscribers.
activemq.subscriber.dequeue_counter
(gauge)
The number of messages sent to and acknowledged by the client.
Shown as message
activemq.subscriber.dispatched_counter
(gauge)
The number of messages sent to the client.
Shown as message
activemq.subscriber.dispatched_queue_size
(gauge)
The number of messages dispatched that are awaiting acknowledgement.
Shown as message
activemq.subscriber.enqueue_counter
(gauge)
The number of messages that matched the subscription.
Shown as message
activemq.subscriber.pending_queue_size
(gauge)
The number of messages pending delivery.
Shown as message

Événements

Le check ActiveMQ XML n’inclut aucun événement.

Checks de service

Le check ActiveMQ XML n’inclut aucun check de service.

Dépannage

Besoin d’aide ? Contactez l’assistance Datadog.

Pour aller plus loin