Logs d’activité WebSphere MQ

Le logiciel WebSphere MQ sur plate-forme distribuée génère deux types de logs :

  • Les logs d’activité, appelés aussi les « Error logs »
  • Les logs transactionnels, appelés aussi les « Transaction logs »

Cet article apporte quelques éléments sur les logs d’activité.

Logs d’activité

Les logs d’activité sont des fichiers AMQERRxx.LOG (avec xx = 01, 02 ou 03), que l’on trouve à plusieurs endroits de l’arborescence MQ. Ce sont des fichiers texte, lisibles, et qui contiennent des informations sur l’activité du logiciel WebSphere MQ. Ces informations sont dans la langue d’installation du logiciel, donc si vous avez installé WebSphere MQ en français, les logs d’activité sont en français !

Ces logs sont de type circulaire, le plus récent est toujours le AMQERR01.LOG

Ces logs d’activité se déclinent en 2 types :

  • Queue manager error logs
  • System error logs
    Avant MQ Version 6, il y avait également les « System queue manager error logs », localisés dans Qmgrs\@SYSTEM, mais ils ne sont plus utilisés.

Queue manager error logs

Ces logs contiennent des informations relatives à l’activité d’un Queue Manager spécifiques et sont localisés dans les arborescences suivantes :

  • <install_root>\Qmgrs\<nom_du_QM>\errors\ pour Windows
  • <install_root>/qmgrs/<nom_du_QM>/errors/ pour Unix
  • /QIBM/UserData/mqm/<nom_du_QM>/errors/ pour iSeries

Exemples de contenu d’un Queue manager error logs


05/05/2013 16:57:43 – Process(7976.1) User(MUSR_MQADMIN) Program(runmqchl.exe)
Host(FARM)
AMQ9002: Démarrage du canal ‘LMDS1.LMDS2’.

EXPLICATION :
Le canal ‘LMDS1.LMDS2’ est en cours de démarrage.
ACTION :
Aucune.


05/05/2013 16:58:14 – Process(8136.1) User(MUSR_MQADMIN) Program(runmqchl.exe)
Host(FARM)
AMQ9202: Le système hôte éloigné ‘farm (192.168.0.58) (14152)’ est indisponible.
Recommencez ultérieurement.

EXPLICATION :
La tentative d’allocation d’une conversation via TCP/IP avec le système hôte ‘farm (192.168.0.58) (14152)’ a échoué. Toutefois, cet incident peut être momentané et vous pourrez peut-être allouer une conversation TCP/IP ultérieurement.
ACTION :
Essayez d’établir une connexion un peu plus tard. Si l’incident persiste, notez les valeurs d’erreur et prenez contact avec votre administrateur système. Le code d’erreur renvoyé par TCP/IP est 10061 (X’274D’). La cause de cet incident est peut-être que ce système hôte n’a pas réussi à se connecter à l’hôte de destination. Il se peut aussi que le programme d’écoute du système hôte farm (192.168.0.58) (14152) ne fonctionne pas. Dans ce cas, effectuez les opérations appropriées pour activer le programme d’écoute du système TCP/IP, puis
recommencez.


08/05/2013 18:49:31 – Process(5484.12) User(MUSR_MQADMIN) Program(amqzlaa0.exe)
Host(FARM)
AMQ8077: L’entité ‘user01’ ne dispose pas des droits adéquats pour accéder à l’objet ‘QS2’.

EXPLICATION :
L’entité spécifiée ne peut pas accéder à l’objet requis. Les droits suivants sont nécessaires : dsp
ACTION :
Assurez-vous que le niveau adéquat a été défini pour cette entité, pour l’objet requis, ou que l’entité appartient à un groupe doté des droits d’accès requis.

System error logs

Ces logs contiennent des informations relatives à l’activité du client MQ ou spécifiques aux binaires MQ utilisés (expiration d’une version d’évaluation par exemple).

Les System error logs sont quelquefois référencés comme « early errors logs » car ils sont utilisés lorsque le nom du Queue Manager ne peut pas être déterminé.

Ces logs sont localisés dans les arborescences suivantes :

  • <install_root>\errors\ pour Windows
  • <install_root>/errors/ pour Unix
  • /QIBM/UserData/mqm/errors/ pour iSeries

Exemples de contenu d’un System error logs


19/02/2013 22:50:36 – Process(103504.1870) User(lmd) Program(mqmonntp.exe)
Host(FARM)
AMQ9202: Le système hôte éloigné ’10 (10.170.22.82) (1455)’ est indisponible.
Recommencez ultérieurement.

EXPLICATION :
La tentative d’allocation d’une conversation via TCP/IP avec le système hôte ’10 (10.170.22.82) (1455)’ a échoué. Toutefois, cet incident peut être momentané et vous pourrez peut-être allouer une conversation TCP/IP ultérieurement.
ACTION :
Essayez d’établir une connexion un peu plus tard. Si l’incident persiste, notez les valeurs d’erreur et prenez contact avec votre administrateur système. Le code d’erreur renvoyé par TCP/IP est 10060 (X’274C’). La cause de cet incident est peut-être que ce système hôte n’a pas réussi à se connecter à l’hôte de destination. Il se peut aussi que le programme d’écoute du système hôte 10 (10.170.22.82) (1455) ne fonctionne pas. Dans ce cas, effectuez les opérations appropriées pour activer le programme d’écoute du système TCP/IP, puis
recommencez.


31/05/2013 08:17:13 – Process(28812.1) User(lmd) Program(amqsputc.exe)
Host(FARM)
AMQ9520: Canal non défini pour le site éloigné.

EXPLICATION :
Sur le site éloigné, il n’y a aucune définition du canal ‘POUET’.
ACTION :
Ajoutez une définition appropriée à la liste de canaux définis correspondant aux systèmes hôte éloignés, puis relancez l’opération.

28/05/2013 22:48:52 – Process(19708.1) User(user01) Program(setmqaut.exe)
Host(FARM)
AMQ8063: Pas d’autorisation pour lancer la commande ‘setmqaut’.

EXPLICATION :
L’utilisateur ‘user01’ n’est pas autorisé à lancer la commande ‘setmqaut’. Cela peut se produire si l’utilisateur est membre du groupe Administrateurs, mais que son statut n’est pas encore activé. La commande est ignorée.
ACTION :
Ajoutez l’utilisateur au groupe de sécurité local ‘mqm’ puis relancez
l’opération.


11/10/2013 04:04:04 – Process(1708.1) User(MUSR_MQADMIN4) Program(strmqm.exe)
Host(FARM) Installation(GrosseBeta)
VRMF(7.6.0.0)
AMQ7191: Il reste 67 jour(s) d’utilisation en mode bêta pour cette copie de WebSphere MQ.

EXPLICATION :
Cette copie de WebSphere MQ dépend d’une licence limitant son utilisation dans le temps.
ACTION :
Aucune.

Taille des fichiers AMQERRxx.LOG

Historiquement, chaque fichier log faisait 256 ko, ce qui autorise 768 ko de stockage pour les évènements. Si on considère que chaque évènement consomme de l’ordre de 1500 caractères, les 3 logs circulaires peuvent stocker de l’ordre de 500 évènements.

Il est possible d’agir sur la taille d’un log unitaire.

En MQ version 5.3, la variable d’environnement MAXMQERRORLOGSIZE permettait de préciser une taille supérieure mais son fonctionnement était un peu aléatoire.

A partir de MQ version 6, il est possible de spécifier dans le « qm.ini » d’un Queue Manager une taille différente. Exemple :

QMErrorLog:
ErrorLogSize=1048576

Il est également possible de modifier cette valeur via l’explorateur WebSphere MQ, pour autant que ce dernier soit connecté en mode bindings au Queue Manager (donc pas en mode client).

A partir du panneau « Propriétés » du Queue Manager, choisir « Taille du journal des erreurs » dans l’onglet « Etendu » :

LMD_Logs_MQ_1_properties.png
LMD_Logs_MQ_1_size.png

Sur un Queue Manager en version 7.0, la taille par défaut est bien de 262144 octets, soit 256 ko.

Si vous ne voyez pas le champ « Taille du journal des erreurs », c’est probablement que votre Explorateur MQ est connecté au Queue Manager en mode client (via un canal SVRCONN).

A partir de WMQ version 7.1, la taille par défaut d’un fichier log passe de 256 ko à 2 Mo. Il est toujours possible de modifier cette valeur, soit via l’entrée ErrorLogSize dans le fichier qm.ini, soit via l’Explorateur WMQ connecté en mode bindings.

Suppression et exclusion de messages dans les logs d’activité

Pour améliorer la lisibilité des logs d’activité, il peut être intéressant de supprimer certains messages, ou de limiter leur consignation par unité de temps.

Ceci peut être réalisé en ajoutant au fichier qm.ini les lignes :

  • ExcludeMessage=msgIds
  • SuppressMessage=msgIds
  • SuppressInterval=length

ExcludeMessage donne la liste des numéros de message que l’on ne souhaite pas logger. Chaque numéro est séparé par une virgule. Les messages que l’on peut exclure sont :

  • 5973 – Distributed publish/subscribe subscription inhibited
  • 5974 – Distributed publish/subscribe publication inhibited
  • 6254 – The system could not dynamically load shared library
  • 7234 – Number of messages loaded
  • 9001 – Channel program ended normally
  • 9002 – Channel program started
  • 9202 – Remote host not available
  • 9208 – Error on receive from host
  • 9209 – Connection closed
  • 9228 – Cannot start channel responder
  • 9508 – Cannot connect to queue manager
  • 9524 – Remote queue manager unavailable
  • 9528 – User requested closure of channel
  • 9558 – Remote Channel is not available
  • 9776 – Channel was blocked by user ID
  • 9777 – Channel was blocked by NOACCESS map
  • 9782 – Connection was blocked by address
  • 9999 – Channel program ended abnormally

SuppressMessage donne la liste des numéros de message que l’on souhaite ne logger qu’une fois par intervalle, tandis que SuppressInterval représente l’intervalle en secondes. Les messages que l’on peut supprimer sont :

  • 5973 – Distributed publish/subscribe subscription inhibited
  • 5974 – Distributed publish/subscribe publication inhibited
  • 7234 – Number of messages loaded
  • 9001 – Channel program ended normally
  • 9002 – Channel program started
  • 9202 – Remote host not available
  • 9208 – Error on receive from host
  • 9209 – Connection closed
  • 9228 – Cannot start channel responder
  • 9508 – Cannot connect to queue manager
  • 9524 – Remote queue manager unavailable
  • 9528 – User requested closure of channel
  • 9558 – Remote Channel is not available
  • 9776 – Channel was blocked by user ID
  • 9777 – Channel was blocked by NOACCESS map
  • 9782 – Connection was blocked by address
  • 9999 – Channel program ended abnormally

Synthèse

Cet article permet de mieux comprendre comment contrôler les différents paramètres des logs d’activité sur WebSphere MQ.

Pour terminer, voici un exemple de qm.ini commenté :

QMErrorLog:
ErrorLogSize=2097152
ExcludeMessage=7234
SuppressMessage=9001,9002,9202,9209
SuppressInterval=300

Dans cet exemple, on dimensionne les AMQERRxx.LOG à 2 Mo, on supprime le logging du message « 7234 – Number of messages loaded », et on indique que l’on ne veut pas logger 4 autres messages (9001,9002,9202,9209) plus souvent que 5 minutes (300 secondes).

Ces modifications peuvent également être effectuées via l’explorateur WebSphere MQ connecté en mode bindings au Queue Manager.

Logs d’activité WebSphere MQ