Cluster Queue Monitoring program (AMQSCLM)

mercredi 17 juillet 2013
par Luc-Michel Demey

Le cluster MQ est une fonction disponible depuis WebSphere MQ version 5.1. Il apporte à la fois de la scalabilité à un environnement MQ, et est une brique technique dans certaines configuration en mode Haute Disponibilité.

Pour autant, le cluster MQ est souvent sous-utilisé, à la fois par méconnaissance de ses apports et de son fonctionnement, et aussi à cause d’une certaine frilosité des équipes en charge de définir l’architecture.

IBM publie régulièrement des nouvelles fonctions pour le cluster MQ. Une de ces fonctions est passée particulièrement inaperçue, il s’agit d’un utilitaire permettant de monitorer les files partagées dans le cluster, et de rerouter des messages déjà livrés vers une autre instance de la file si nécessaire.

Prenons la configuration suivante :

PNG - 40.1 ko

Les QM QMC2 et QMC3 hébergent chacun une file U1 partagée dans le cluster. Ces files U1 sont donc visibles depuis QMC1, où une application E dépose des messages.

Ces messages sont loadbalancés entre les deux instances de U1, où des applications R2 et R3 consomment ces messages.

Si QMC2 s’arrête, le mécanisme de load-balancing du cluster va cesser d’envoyer des messages vers la file U1 de QMC2, ils seront tous dirigés vers celle de QMC3. Seuls les messages déjà livrés dans la U1 de QMC2 seront "prisonniers", en attendant un redémarrage du QM ou une bascule vers un autre serveur dans la cas d’une configuration multi-instance.

Maintenant si c’est l’application R2 qui s’arrête, la situation est beaucoup plus préoccupante. En effet comme QMC2 et sa file U1
restent disponible, cette file va continuer à recevoir des messages qui ne seront pas traités.

Le "Cluster Queue Monitoring program" (nouveauté WMQ 7.1) répond à ce problème.
Il s’agit d’une application (amqsclm) livrée sous forme compilée mais également source, qui va détecter qu’aucune application ne consomme les messages de cette file.

L’outil amqsclm fonctionne en monitorant le paramètre IPPROCS de la file. S’il passe à zéro, c’est qu’aucune application n’a ouvert la file en input, et que les messages ne sont pas consommés.
Dans ce cas, l’outil modifie un des paramètres du load balacing de la file (CLWLPRTY), pour forcer les nouveaux messages vers les autres instances de la file.

Pour régler le cas des messages "prisonniers" dans la file où ils ne sont plus consommés, l’outil effectue un MQGet de ces messages, suivi d’un MQPut dans le même nom de file.
La file locale ayant un CLWLPRTY plus faible que les autres instances, les messages sont dispatchés vers les autres instances de cette file :

PNG - 46.7 ko

La même instance de amqsclm peut monitorer simultanément plusieurs files.

La documentation de cet outil est disponible dans l’Infocenter WMQ 7.1.


Brèves

2 juin - IBM Integration Bus V10.0 - Fix Pack 10.0.0.9

IBM annonce ce jour le Fix Pack 10.0.0.9 pour IBM Integration Bus V10.0.
Comme d’habitude, (...)

11 mai - IBM MQ 9.0.0.1 est disponible

IBM annonce ce jour la disponibilité de MQ version 9.0.0.1. Il s’agit de la version LTSR (Long (...)

27 mars - MQ-CPH Performance Harness

Le laboratoire IBM d’Hursley a rendu disponible sur Github un outil de simulation de charge pour (...)

1er mars - Mise à jour du SupportPack MH06 : WebSphere MQ - Trace Tools

Le MH06 est un SupportPack qui propose des outils en mode ligne qui aident à analyser les (...)

2 février - IBM MQ : désactivation de nouveaux CipherSpecs SSL/TLS

IBM Annonce que de nouveaux CipherSpecs sont considérés comme "faibles", et à ce titre seront (...)

1er février -  MQ Technical Conference v2.0.1.7

La MQ Technical Conference v2.0.1.7, organisée par Capitalware, se tiendra du 25 au 27/09/2017 (...)