Мониторинг IBM Websphere MQ

Я пытался получить некоторую статистику производительности из IBM WebSphere MQ для мониторинга с помощью Hyperic HQ Spring Source.

Я ищу скорость постановки и удаления сообщений, а также глубину очереди нескольких локальных очередей, чтобы гарантировать, что сообщения доставляются и потребляются нашим локальным приложением.

Первоначально пытались получить данные с помощью счетчиков производительности WMI и Windows, однако кажется, что на одном из наших серверов счетчики недоступны ни для одной из локальных очередей (просто загрузка временных очередей), а на другом счетчики доступны, но не всегда возвращает значение правильно, хотя WMI.

Я пробовал PCF (используя MQIA_MSG_DEQ_COUNT), который не предоставил запрошенный счетчик. MQSC (с использованием DISPLAY QUEUE & DISPLAY QSTATUS), который, похоже, не поддерживает скорость очереди - только предоставляет дату и время получения / размещения последнего сообщения.

У кого-нибудь есть идея, как заставить работать WMI и счетчики производительности или как альтернативу WMI, которая предоставила бы мне нужную статистику?


person Phil Greenland    schedule 28.03.2011    source источник


Ответы (1)


Что касается MQIA_MSG_DEQ_COUNT, вы должны знать, что команда RESET_QUEUE_STATISTICS, которая возвращает этот атрибут, - это то, что я люблю называть «квантово-физическим свойством WMQ», потому что акт наблюдения за значением сбрасывает значение. Это нормально, если вы единственный, кто интересуется значением, и у вас есть только одна цепочка запросов. Но если у вас одновременно выполняется несколько запросов, все они сбрасывают счетчик на ноль при каждом запросе, каждый наступает на номера другого. Этот аспект делает RESET_QUEUE_STATISTICS ограниченное использование для отладки в реальном времени и не подходит для надежного сбора статистики.

Альтернативой является использование функции учета и статистики MQ. Чтобы заставить QMgr создавать сообщения учета и статистики, необходимо включить их либо в QMgr, либо для каждой очереди. Инструкции по их включению находятся в разделе руководства Статистика очереди.

Обратите внимание, что статистика отправляется в очередь событий, и ее необходимо извлекать и анализировать. Справочная документация по синтаксическому анализу сообщений о событиях находится в Данные сообщения статистики очереди. В исходном формате есть пример программы с именем amqsmon, показывающий, как получать и форматировать сообщения статистики. Скомпилированная версия также предоставляется для предоставления удобочитаемого списка таких сообщений.

После того, как вы включите статистику по интересующим очередям и у вас будет способ анализировать сообщения, просто укажите парсером соответствующую очередь событий и соберите статистику. Пример вывода amqsmon с доступной статистикой:

   RecordType: QueueStatistics
   QueueManager: 'saturn.queue.manager'
   IntervalStartDate: '2005-04-30'
   IntervalStartTime: '15.09.02'
   IntervalEndDate: '2005-04-30'
   IntervalEndTime: '15.39.02'
   CommandLevel: 600
   ObjectCount: 3
   QueueStatistics:
     QueueName: 'LOCALQ'
     CreateDate: '2005-03-08'
     CreateTime: '17.07.02'
     QueueType: Predefined
     QueueDefinitionType: Local
     QMinDepth: 0
     QMaxDepth: 18
     AverageQueueTime: [29827281, 0]
     PutCount: [26, 0]
     PutFailCount: 0
     Put1Count: [0, 0]
     Put1FailCount: 0
     PutBytes: [88, 0]
     GetCount: [18, 0]
     GetBytes: [52, 0]
     GetFailCount: 0
     BrowseCount: [0, 0]
     BrowseBytes: [0, 0]
     BrowseFailCount: 1
     NonQueuedMsgCount: 0
     ExpiredMsgCount: 0
     PurgedMsgCount: 0

Этот и другие примеры приведены в руководстве в разделе, озаглавленном, вполне уместно, примеры amqsmon.

person T.Rob    schedule 29.03.2011
comment
Спасибо, Роб, это была одна из альтернатив, которую я рассматривал. В итоге я использовал пакет поддержки (MS0B), который предоставляет набор классов PCF для Java, которые я интегрировал в плагин Hyperic. Затем, включив мониторинг очереди для требуемых очередей, я запрашиваю последнее сообщение, чтобы получить время, чтобы проверить, что сообщения доставляются и извлекаются из очереди, что все, что мне действительно интересно в данный момент. Я не был уверен, какие накладные расходы на производительность может вызвать включение статистики очереди. Спасибо за информацию о статистике очереди сброса + хе-хе квантово-физическое свойство WMQ. Фил - person Phil Greenland; 31.03.2011
comment
Срок действия сообщения - это свойство обмена сообщениями «Кошка Шредингера» - оно может существовать в обоих состояниях, пока вы его не получите. - person T.Rob; 31.03.2011