[UNIX、Linux、Windows、IBM i]

診断メッセージ・ロギング

IBM® MQ の診断メッセージログは、 IBM MQ システムのさまざまなコンポーネントが、 IBM MQ の構成や実行時の状態の変更や問題に関する診断メッセージを報告するための仕組みです。

これらのログは、 IBM MQ エラー・ログと呼ばれることもありますが、エラー・メッセージだけでなく、 IBM MQ 情報メッセージや警告メッセージも常に含まれています。 これらのログに報告する IBM MQ の 3 つの主要コンポーネントは、以下のとおりです。
  • キュー・マネージャー
  • IBM MQクライアント
  • IBM MQ システムの残りの部分
IBM MQ は、 診断メッセージ・サービスと呼ばれるさまざまな方法で診断メッセージの報告をサポートします。これにより、この情報を記録およびコンシュームするための調整されたアプローチが可能になります。
  • AMQERRnn ログ・ファイル
  • JSON 形式のログ・ファイル
  • [AIX]JSON 形式の Syslog

IBM MQ による JSON 出力は、JSON ログまたは Syslog レコードの個々の行が有効な JSON オブジェクトを表すように、単一行の JSON オブジェクトとしてフォーマット設定されます。 ログの全体は、単一の JSON オブジェクトとしてカプセル化されません。

次の図は、キュー・マネージャー、 IBM MQ クライアント、および IBM MQ システムが、説明されている方法を使用して診断メッセージを すべて 報告できることを示しています。

図1: IBM MQ のさまざまな部分が診断メッセージを報告する方法
この図は、 IBM MQ システムのさまざまな部分が診断メッセージを報告する方法を示しています。

IBM MQ 診断ログの構成方法:

診断ログは、qm.iniファイル内のスタンザを使用して、それを必要とするIBM MQコンポーネントに応じて、スタンザを使用して定義およびカスタマイズされます。 それぞれ固有のロギング・エンドポイントが、ini ファイル内の独自のスタンザ・ヘッディングの下で、カスタマイズと共に定義されます。 カスタマイズには以下のことが含まれます。
  • ロールオーバーが発生する前に循環させるログ・ファイルのサイズ (Syslog には適用されない)
  • ログ・メッセージの重大度に基づくフィルター処理
  • 特定のメッセージ・コードの抑止
IBM MQ は、3 つのタイプのロギング・エンドポイントのいずれかまたはすべてに書き込むように構成できます。これにより、特定のログ・スタンザが特定の役割を果たすことができます。 同様に、複数のファイル・サービスも定義できます。 以下に例を示します。
  • JSON 形式を使用すると、ローカル環境および Cloud 環境内で自動化ツールを介して容易に解析できるようになります。
  • Syslog 出力により、 IBM MQ コンポーネントは、システム上の他の製品に合わせて、診断情報を共通の OS ロギング・ロケーションに統合することができます。
  • 重大度に基づいてフィルター処理されるログ・エンドポイントでは、例えば、システム内の重大エラーのみを特定のログ・ファイルに記録できます。

構成されている診断ロギングのスタイルに関係なく、IBM MQシステム・ログ・ディレクトリー(/var/mqm/errors/AMQERRnn.log)および特定のキュー・マネージャー・ログ・ディレクトリー(/var/mqm/qmgrs/<qmgr_name>/errors/AMQERRnn.log)の下に保持されている従来の診断ファイルは、使用されるその他のロギング構成に加えて、常に書き込まれます。

キューマネージャの場合のみ、Diagnostic message service stanzasの属性を指定することで、これらの必須ログのオプション設定を行うことができます。

さまざまなスタンザ領域

追加のスタンザは、 IBM MQのさまざまな領域に適用できます。
Qmgr(qm.ini)
キュー・マネージャーによって生成されるログ・メッセージに適用されます。
System(mqs.ini)
システムによって生成されるログ・メッセージに適用されます。 このオプションは、キュー・マネージャーがそれ自体のログにアクセスまたは書き込みできない場合を除き、キュー・マネージャーに固有ではありません。
Templates(mqs.ini)
テンプレートとしての1つ以上のスタンザ。キュー・マネージャーが作成されるときにqm.iniにコピーされます。
Client(mqclient.ini)
クライアント操作に適用されます (例えば、リモート・キュー・マネージャーへのクライアント・モードでの runmqsc)。

JSON 形式のログと従来形式のログの間の変換

mqrc コマンドが拡張され、JSON と従来の形式のログとの間、および異なる言語間で多数の変換が可能になりました。