Utilitaires
Scripts
Divers
Jeux
Rechercher
Quillevere.net
Techniques informatiques

Astuces sur ActiveMQ

22/07/2023

ActiveMQ est un broker de messages, un logiciel permettant d'assurer la persistance et la diffusion de messages à des consommateurs. Voici quelques astuces sur ce logiciel.

Purger ActiveMQ au démarrage

  • Modifiez le fichier de configuration activemq.xml
  • Repérez la ligne broker et ajoutez la propriété suivante :
    <broker .. deleteAllMessagesOnStartup="true">

Limiter le nombre de messages renvoyés par l'interface

Sur l'interface Web de ActiveMQ, un certain nombre de messages sont affichés. Vous pouvez limiter ce nombre par le paramétrage suivant :

  • Editez le fichier de configuration activemq.xml
  • Ajoutez les paramètres maxPageSize et maxBrowseSize :
    <destinationPolicy>
     <policyMap>
     <policyEntries>
     <policyEntry queue=">" maxPageSize="1200" maxBrowsePageSize="1200"/>
     </policyEntries>
     </policyMap>
     </destinationPolicy>

La valeur de queue peut être celle du nom d'une file spécifique ou ">" pour toutes les files.

La valeur donnée à maxPageSize contrôle le nombre maximal de messages affichés par page lors de la consommation.

La valeur donnée à maxBrowsePageSize contrôle le nombre maximal de messages affichés par page lors de la consultation ou du parcours des messages.

Statistiques sur le nombre de messages traités/en attente

Sur l'interface Web, la liste des files est indiquée, avec également les colonnes suivantes :

  • Enqueued : c'est le nombre de messages qui ont été ajoutés à la file d'attente depuis la dernière réinitialisation de cette statistique
  • Dequeued : c'est le nombre de messages qui ont été envoyés aux consommateurs et reconnus depuis la dernière réinitialisation de cette statistique

Ces statistiques ne sont pas forcément réinitialisées quand on redémarre le service, ni quand on purge la file.

La suppression de la file supprime ces statistiques.

Configurer une limite de quota sur une file ActiveMQ

  1. Ouvrez le fichier de configuration activemq.xml de votre instance ActiveMQ.
  2. Recherchez la définition de la file que vous voulez limiter.
  3. Ajoutez l'élément policyEntry à la définition de la file, avec l'attribut queuePrefetch définit sur 0 pour désactiver la pré-lecture de la file.
    Par exemple :
    <destinationPolicy>
     <policyMap>
     <policyEntries>
     <policyEntry queue="myQueue">
     <queuePrefetch>0</queuePrefetch>
     <limit>
     <maxDepth>10000</maxDepth>
     </limit>
     </policyEntry>
     </policyEntries>
     </policyMap>
     </destinationPolicy>
    Dans cet exemple, la limite de quota est définie sur 10000 messages pour la file myQueue.
  4. Redémarrez l'instance ActiveMQ pour prendre en compte les modifications de configuration.

Notez que la limite de quota peut être configurée en termes de nombre de messages ou de taille totale de la file, en utilisant les éléments maxDepth et maxSize respectivement.

Vous pouvez également utiliser des valeurs négatives pour spécifier des limites illimitées (par exemple, <maxDepth>-1</maxDepth>).

Scruter les logs de ActiveMQ

Les logs de ActiveMQ se trouvent dans le répertoire data. Un simple tail -f permet de les afficher en continu :

tail -f /opt/activemq-5.15.10/data/activemq.log

Utiliser Jolokia pour récupérer des informations sur ActiveMQ

Jolokia est un logiciel permettant d'exposer via des web services les paramètres et métriques de ActiveMQ. Voici comment récupérer quelques-unes d'entre-elles :

DescriptionCommande
Lister tous les paramètres disponibles (fonctions et attributs)
curl -u admin:admin -H "origin:localhost" "http://localhost:8161/api/jolokia/list/org.apache.activemq"

Nombre de consommateurs d'une file (changer la valeur de destinationName)
curl -u admin:admin -X POST -H "Content-Type: application/json" -d '{"type": "read", "mbean": "org.apache.activemq:type=Broker,brokerName=localhost,destinationType=Queue,destinationName=MA_FILE", "attribute": "ConsumerCount" }' http://localhost:8161/api/jolokia/
Lister toutes les files
curl -u admin:admin -H "Origin: localhost" http://localhost:8161/api/jolokia/read/org.apache.activemq:type=Broker,brokerName=localhost/Queues
Raffraîchir le statut de santé
curl -u admin:admin -X POST -d '{"type":"exec", "mbean":"org.apache.activemq:type=Broker,brokerName=localhost", "operation":"healthCheck"}'
Obtenir la durée de démarrage du serveur
curl -u admin:admin -H "Origin: localhost" http://localhost:8161/api/jolokia/read/org.apache.activemq:type=Broker,brokerName=localhost/Uptime
Dernière modification le 22/07/2023 - Quillevere.net

Commentaires

Aucune inscription n'est requise si vous souhaitez

Rechercher sur le site

fr en rss RSS info Informations