Как можно перечислить локальные очереди диспетчера очередей IBM WebSphere MQ?
Вопрос
Я пытаюсь написать простой инструмент для мониторинга состояния диспетчера очередей.Одна из вещей, которую я хотел бы отслеживать, - это текущая глубина очереди в каждой очереди.Однако мне не удалось найти способ программно перечислить все очереди в конкретном диспетчере очередей.Предоставляет ли какой-либо из MQ API такую функциональность?Я бы предпочел сделать это с помощью C, но если это возможно только с привязками другого языка, я бы, по крайней мере, хотел знать это.
Решение
Несколько образцов C на Капитальное программное обеспечение.Поищите те, которые используют интерфейс MQAI.Там нет ничего, что перечисляло бы очереди, но все программы MQAI используют сообщения в формате программируемых команд (PCF).Перечисление списка очередей является PCF-эквивалентом DIS Q(*).
Вы также захотите ознакомиться с руководством PCF в Инфоцентр
Попытался добавить это в качестве комментария, но ссылки были размечены не так, как ожидалось:
Так или иначе, вы попадаете в команды PCF, если делаете это удаленно.Вы можете запускать команды скрипта MQSC удаленно, если установите WMQ- клиент и использовать SupportPac MO72 чтобы преобразовать их в PCF, если хотите, но в QMgr это в конечном счете PCF.Я выполняю много централизованных запросов и отчетов по WMQ с помощью скриптов, которые перебирают список QMGRS и выполняют MO72.Однажды я использовал CGI и написал веб-интерфейс поверх MO72.
Кстати, SupportPac MO71 будет выполняться мониторинг того типа, который вы описываете.Он скомпилирован на C, поэтому для него требуется установленный WMQ-клиент, но он может быть настроен для мониторинга глубины очередей и даже имеет мини-веб-сервер, так что многие люди могут использовать один и тот же экземпляр MO71.
Другие советы
Вам следует рассмотреть возможность использования GH Tester, инструмента автоматизации тестирования промежуточного программного обеспечения, разработанного компанией Green Hat:http://www.greenhat.com