ActiveMQ

Supported OS Linux Windows Mac OS

Intégration3.0.0

Présentation

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

Remarque : ce check prend également en charge ActiveMQ Artemis (future version 6 d’ActiveMQ) et transmet les métriques sous l’espace de nommage activemq.artemis. Consultez metadata.csv pour découvrir la liste complète des métriques fournies par cette intégration.

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

Implémentation

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 à partir de JMX via JMXFetch. Une JVM est donc nécessaire sur chaque nœud pour que l’Agent puisse exécuter JMXFetch. Datadog vous conseille 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. La liste des métriques recueillies par défaut est disponible dans le fichier metrics.yaml.

    init_config:
      is_jmx: true
      collect_default_metrics: true
    
    instances:
      - host: localhost
        port: 1616
        user: username
        password: password
        name: activemq_instance
    
  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 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.artemis.address.bytes_per_page
(gauge)
(Artemis only) Number of bytes used by each page for this address.
Shown as byte
activemq.artemis.address.number_of_messages
(rate)
(Artemis only) The sum of messages on queue(s), including messages in delivery.
Shown as message
activemq.artemis.address.pages_count
(gauge)
(Artemis only) Number of pages used by this address.
Shown as page
activemq.artemis.address.routed_messages
(rate)
(Artemis only) Number of messages routed to one or more bindings, as a rate.
Shown as message
activemq.artemis.address.size
(gauge)
(Artemis only) Number of estimated bytes being used by all the queue(s) bound to this address; used to control paging and blocking.
Shown as byte
activemq.artemis.address.unrouted_messages
(rate)
(Artemis only) Number of messages not routed to any bindings, as a rate.
Shown as message
activemq.artemis.address_memory_usage
(gauge)
(Artemis only) Memory used by all the addresses on broker for in-memory messages.
Shown as byte
activemq.artemis.address_memory_usage_pct
(gauge)
(Artemis only) Memory used by all the addresses on broker as a percentage of the global-max-size.
Shown as percent
activemq.artemis.connection_count
(gauge)
(Artemis only) Number of clients connected to this server.
Shown as connection
activemq.artemis.disk_store_usage_pct
(gauge)
(Artemis only) Percentage of total disk store used.
Shown as percent
activemq.artemis.max_disk_usage
(gauge)
(Artemis only) Maximum limit for disk use in percentage.
Shown as percent
activemq.artemis.queue.consumer_count
(gauge)
(Artemis only) Number of consumers consuming messages from this queue.
activemq.artemis.queue.max_consumers
(gauge)
(Artemis only) Maximum number of consumers allowed on this queue at any one time.
activemq.artemis.queue.message_count
(gauge)
(Artemis only) Number of messages currently in this queue (includes scheduled, paged, and in-delivery messages), as a rate.
Shown as message
activemq.artemis.queue.messages_acknowledged
(rate)
(Artemis only) Number of messages acknowledged from this queue since it was created, as a rate.
Shown as message
activemq.artemis.queue.messages_added
(rate)
(Artemis only) Number of messages added to this queue since it was created, as a rate.
Shown as message
activemq.artemis.queue.messages_expired
(rate)
(Artemis only) Number of messages expired from this queue since it was created, as a rate.
Shown as message
activemq.artemis.queue.messages_killed
(rate)
(Artemis only) Number of messages removed from this queue since it was created due to exceeding the max delivery attempts, as a rate.
Shown as message
activemq.artemis.total_connection_count
(rate)
(Artemis only) Number of clients which have connected to this server since it was started, as a rate.
Shown as connection
activemq.artemis.total_consumer_count
(rate)
(Artemis only) Number of consumers consuming messages from all the queues on this server, as a rate.
activemq.artemis.total_message_count
(rate)
(Artemis only) Number of messages in all queues on the server, as a rate.
Shown as connection
activemq.artemis.total_messages_acknowledged
(rate)
(Artemis only) Number of messages acknowledged from all the queues on this server since it was started, as a rate.
Shown as connection
activemq.artemis.total_messages_added
(rate)
(Artemis only) Number of messages sent to this server since it was started, as a rate.
Shown as connection
activemq.broker.memory_pct
(gauge)
The percentage of memory in use.
Shown as percent
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.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.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.queue.max_enqueue_time
(gauge)
The max 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.min_enqueue_time
(gauge)
The min the amount of time (ms) that messages remained enqueued.
Shown as millisecond
activemq.queue.producer_count
(gauge)
The number of producers connected.
activemq.queue.size
(gauge)
The amount of messages that remained queued.
Shown as message
Les noms des métriques associées à ActiveMQ Artemis comportent l’indicateur artemis. Toutes les autres métriques transmises correspondent à la version classique d’ActiveMQ.

Événements

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

Checks de service

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

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

Implémentation

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 la configuration dans un environnement conteneurisé.

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.

Collecte de logs
  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_xml.d/conf.yaml ou 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é

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.consumer_count
(gauge)
The number of consumers of a queue.
activemq.queue.count
(gauge)
The number of queues.
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.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
activemq.topic.consumer_count
(gauge)
The number of consumers of a topic.
activemq.topic.count
(gauge)
The number of topics.
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.

É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

PREVIEWING: may/unit-testing