Lors de l'utilisation de ActiveMQ, si vous tombez sur l'erreur suivante : "Getting Worried {org.apache.activemq.FreeDiskSpaceLeft: WARNING Store limit is 29597 mb, whilst the data directory: /kahadb only has 13414 mb of usable space", voici une explication sur le sujet.
ActiveMQ est un broker de messages, un logiciel permettant d'assurer la persistance et la diffusion de messages à des consommateurs. Jolokia est un logiciel permettant d'exposer via des web services les paramètres et métriques de ActiveMQ.
Le message "Getting Worried {org.apache.activemq.FreeDiskSpaceLeft: WARNING Store limit is XXX mb, whilst the data directory: /kahadb only has YYY mb of usable space" peut remonter lors de l'appel à l'API Jolokia sur la santé du serveur ActiveMQ. Cette alerte est non bloquante (le service continue d'être assuré) mais il indique que l'espace de stockage est censé être de telle taille alors qu'il ne reste plus que tel espace disponible sur le disque.
Si le statut est OK, l'API renvoie un JSON similaire à celui-ci :
Si le statut est en alerte, l'API renvoie un JSON similaire à celui-ci :
Pour corriger l'alerte, vous avez plusieurs possibilités :
Dans ce dernier cas, il est nécessaire de comprendre comment est géré le stockage des messages.
La configuration par défaut définit une allocation des données temporaires de 50 Go (tempUsage) et une allocation des données persistantes de 100 Go (storeUsage). Elle est visible en éditant le fichier <activemq>/conf/activemq.xml :
La valeur de memoryUsage représente la limite de mémoire utilisée par ActiveMQ par rapport à la mémoire allouée à la machine virtuelle Java (JVM) d'ActiveMQ. La valeur de percentOfJvmHeap est utilisée pour calculer dynamiquement cette limite.
La valeur storeUsage indique la taille maximale des messages persistants. Lorsque cette limite est atteinte, un avertissement peut être généré pour indiquer que la capacité de stockage est presque épuisée.
La valeur tempUsage indique la taille maximale des fichiers temporaires et des messages non persistants (qui, malgré leur nom, peuvent être écrits sur disque si besoin, afin d'éviter de saturer la mémoire).
Il convient donc d'ajuster ces valeurs à l'espace disque disponible. S'il n'y a pas de messages non persistants, la valeur attribuée à tempUsage peut être réduite :
RSS | Informations |