1. 今回 対応したい課題
IBM MQ を Instanaで監視する際のヒントです。
Instana においては、デフォルトの組込みイベント監視として、QMGRで定義されている LISTENER 全てを監視しています。

お客様によっては、IBM MQを利用する際に、デフォルトのリスナー SYSTEM.DEFAULT.LISTENER.TCP ではなく、別名のリスナーを定義して、利用されている環境もあるかと思います。
下図の例ですと、1515ポートで待ち受けるMYLISTENERを定義して、それを利用しています。

このような環境では SYSTEM.DEFAULT.LISTENER.TCP は 起動していず、常にSTOPPEDというステータスになっていますので、デフォルトのIBM MQ Listener の監視設定では、エラーが出続けてしまいます。

この記事では、① 利用している特定のLISTENER用の監視定義を作り監視を行い、 ②デフォルトのIBM MQ LISTENER 監視定義を停止することによって、実際の環境にあわせた監視へと変えていきたいと思います。
2. 監視設定の修正
2-1. 利用している特定のLISTENER用の監視定義
設定 > イベント より新規イベントを選択し、 以下のように イベントを作成します。

1 イベントの詳細
| 定義 | 設定値 | 備考 |
|---|---|---|
| 名前 | IBM MQ Listener MYLISTENER が起動していません | 通知されるイベントのタイトル |
| 説明 | 任意の文字列 | イベントの説明 |
| 問題の重大度 | クリティカル (デフォルト監視とレベルをあわせました) | クリティカル / 警告 |
2 条件
| 定義 | 設定値 | 備考 |
|---|---|---|
| ソース | 組込みメトリック | 監視データ種類 |
| エンティティ・タイプ | IBM MQ リスナー | 監視対象 |
| 時間枠 | 1秒 | |
| メトリック | 状況 | IBM MQ リスナーのステータス値を取得 |
| 集約 | avg | |
| オペレーター | ≠ (等しくない) | |
| 状況値 | 2 (RUNNING) | ステータス値は こちら |
3 スコープ ダイナミック・フォーカス・クエリーで絞り込みます
| 定義 | 設定値 | 備考 |
|---|---|---|
| 選択されているエンティティのみ (ダイナミック・フォーカス・クエリ) |
entity.ibmmq.listener.name:MYLISTENER | 特定のリスナーのみ監視 ※ |
※ デフォルトのリスナー以外だけ対象から外したいのであれば
entity.type:ibmmq.listener AND NOT entity.ibmmq.listener.name:"SYSTEM.DEFAULT.LISTNER.TCP"
という定義でもいいかもしれません。環境にあわせて設定ください。
3. デフォルトの IBM MQ LISTNER の定義を停止します
デフォルトで用意された IBM MQ Listener staus の ||のボタンをクリックして、監視を停止し グレーアウトされたことを確認します

4. 監視設定の確認
以下のコマンドで、キュー・マネージャーTESTQMのMYLISTENER を停止します
[mqm@itz-3100008gyq-iwxo bin]$ ./runmqsc TESTQM
5724-H72 (C) Copyright IBM Corp. 1994, 2023.
Starting MQSC for queue manager TESTQM.
stop listener(MYLISTENER)
1 : stop listener(MYLISTENER)
AMQ8706I: Request to stop IBM MQ Listener accepted.
新しく定義されたイベントで、 MYLISTENERの停止が検知されていることを確認します。

また、SYSTEM.DEFAULT.LISTENER.TCP の停止していても、デフォルト定義のイベントでアラートが上がらないことを確認します。
