今回はIBM i のログ、メッセージなどユーザープログラムやシステムプログラムを実行した際に出力されるログについてご紹介します。今回は全般のご紹介にとどめています。次回以降でそれぞれの具体的な使い方等をご紹介予定です。IBM iには大きく以下の3種類の管理インターフェースがありますが、今回ご紹介する様々なログ、メッセージはすべて3種類の管理インターフェース(図1)から参照することが可能です。以下の説明においては代表的なインターフェースからの操作画面を掲載しています。
▲図1. IBM i の3種類の管理インターフェース
IBM i の生成するログ、メッセージ等の一覧
図2は一般的に参照されることの多い、IBM i が生成するログ、メッセージ類の一覧です。
▲図2. IBM i の生成する代表的なログ、メッセージ
図2において、QSYS配下に出力されるものは、S/38やAS/400時代から存在しているIBM i 独自のログ、メッセージ類です。一方IFS(QSYS.LIB以外)配下に出力されるログはWAS(WebSphere Application Server)等、他のプラットフォームと互換性のあるM/WやポーティングされたOSS等が出力するものです。これらは基本的にIBM i でもその他のプラットフォームでも共通のフォーマットで出力されます。ログファイルのエンコードもEBCDICではなく他のプラットフォームと基本共通です。他のプラットフォームとの相違点はログの出力パスなどでIBM i上のプロパティファイル等から確認することが出来ます。
図2のうち図3に挙げたものはアプリケーション稼働監視目的でよく使用されます。 (その他のログ等も必要に応じて参照されることがあります。)
アプリケーション稼働監視目的でよく使用されるログ・イメージ
▲図3. アプリケーション稼働監視目的でよく使用されるログ、メッセージ
以下では各々のログ、メッセージについてご説明します。
活動監視ログ QHST
▲図4. 活動記録ログ QHST
QHST活動記録ログにはIBM i システム全般の活動状況がログされます。例としてジョブの開始・終了やIBM i OS IPL時のメッセージ、また、この後説明するQSYSOPRにも出力される、システムとして重要なメッセージもログされます。活動記録ログは以下の2種類のオブジェクトで構成されています。
- メッセージ待ち行列 QSYS/QHST *MSGQ
- ログ・バージョン・ファイル QSYS/QHSTyyddd *FILE
ログバージョンファイルは一定量に達すると履歴として書き出され複数世代に渡ってファイルが存在しています。
システム操作員メッセージ待ち行列 QSYSOPR *MSGQ
▲図5. システム操作員メッセージ待ち行列 QSYSOPR *MSGQ
システム操作員メッセージ待ち行列は以下のオブジェクトです。
- QSYS/QSYSOPR *MSGQ
システムでの主要なイベント発生時や操作員への操作・応答の要求待ちメッセージ、障害時などに出力されるメッセージの出力先となるメッセージ待ち行列です。このメッセージ待ち行列を監視することで稼働全般の確認が可能です。一般的なIBM i システムの大半ではこのQSYSOPR *MSGQを運用監視対象としています。5250画面でDSPMSG QSYSOPR コマンド等で表示する方法が一般的ですが、ツール等を組合せて監視させることもできます。
注意いただきたいのは、IPLでメッセージ待ち行例内のメッセージが初期化されてしまうことです。 (※一方でQHST活動記録ログはIPL後も全て記録されたままとなります。)
ちなみにメッセージ待ち行列はQSYSOPR以外のすべてのユーザープロフィールと5250端末デバイスにも自動的に作成され存在しています。それらにもメッセージが出力される場合があります。DSPMSG XXXX ※XXXXはユーザープロフィール名や端末デバイス名(例 DSP01, QPADEV0001,など)で表示することが出来ます。
ジョブ・ログ
▲図6. ジョブ・ログ
ジョブ・ログは5250端末ジョブ、ユーザーが投入したあらゆるジョブ(SBMJOBコマンドやIBM i 外部からのODBC/JDBC接続やプログラム実行等)やシステムが実行したあらゆるジョブのログです。ジョブの開始から終了までの一連の各操作 (や設定によってはコマンド履歴が含まれる場合もあります)・処理に関する情報が記録されています。ジョブが終了した後スプール出力として保管することも可能です。(スプール出力しないとジョブ終了後にジョブ・ログを確認することはできません)。
デフォルトでは以下の出力待ち行列 *OUTQにジョブ・ログが出力されます。
- QUSRSYS/QEZJOBLOG *OUTQ
以上説明したQHST, ジョブ・ログはIBM i OSのGO CLEANUP コマンドを実行して、保管日数を指定(調整)することが出来ます。保管日数を超過した分はシステムがクリーンアップ削除してくれます。(図7)
GO CLEANUP コマンド → 1.終結処理オプションの変更
▲図7. GO CLEANUP コマンド → 1.終結処理オプションの変更
設定内容は下記のとおりです。
自動クリーンアップの実行 | Y:クリーンアップを実行します。Nでは実行しません。 |
---|---|
クリーンアップ開始時刻 | 指定した時刻にクリーンナップを開始します。 *SCDPWROFF はGO POWERコマンドでシステムのシャットダウン(PWRDWNSYS実行)を指定している場合(図8)、シャットダウン前にクリーンアップを実行します。 |
▲図8
「保存する日数」以下の項目ではそれぞれのログの保管日数を指定します。
ユーザー・メッセージ | ユーザープロフィールに関連する*MSGQに出力されたメッセージの保管日数 |
---|---|
システム及びワークステーション | QSYSOPR *MSGQ と端末*DEVDの*MSGQのメッセージ保管日数 |
重大なシステム・メッセージ | QSYSMSG *MSGQ のメッセージ保管日数 |
ジョブ・ログ及び他のシステム出力 | デフォルトではQUSRSYS/QEZJOBLOG *OUTQ, QUSRSYS/QEZDEBUG *OUTQに出力されるスプールの保管日数 |
システム・ジャーナルおよびシステムログ | QHSTのログバージョンファイル、他システム関連ログの保管日数 |
図7 GO CLEANUPコマンドの画面でカーソルをシステム・ジャーナル及びシステム・ログの行に合わせて PF1キー(ヘルプキー)を押すと、詳細なクリーンアップ対象の説明が表示されますのでご参照ください。(図9)
▲図9. システムジャーナルおよびシステム・ログ対象のヘルプ画面
アプリケーション用メッセージ待ち行列
*MSGQ メッセージ待ち行列は上記で説明したもの以外にユーザーがCRTMSGQ コマンドで任意に作成することが可能です。通常これらは、ユーザーアプリケーションでメッセージ等を出力しアプリケーションで利用するために作成されます。これらの*MSGQにも(サイズ的には微小かもしれませんが)メッセージが溜まることがありますので定期的にクリーンアップすることをお勧めいたします。
IBMエレクトロニック・サービス・エージェント(ESA)
▲図10. IBMエレクトロニック・サービス・エージェント (ESA)
IBMエレクトロニック・サービス・エージェント (ESA)は、サーバーやストレージなどIBM製のハードウェアに無償標準で付属する、障害検知とIBMへの発報機能です。IBM i , Power SystemsにもESAは装備されています。IBM i , Power Systemsの初期導入時にESAもセットアップしておくことが一般的です。ESAを設定しておくと、例えばディスクのI/Oエラー頻度が高まった場合(障害発生前に)やIBM i OS S/Wがバグを検知した場合などにIBM に問題を報告できます。ESAは必ず導入されているお客様システムから起動され、IBMサイトへ接続しようとします。(IBMサイトからの接続要求はありません)。プロクシー経由での接続などにも対応しています。
IBM i 監視セッション機能
▲図11. IBM i 監視セッション機能
STRWCHコマンドで開始する事の出来るIBM i の監視機能です。指定したメッセージ待ち行列、ジョブ・ログ、ライセンス内部コード・ログ、プロダクト活動ログなどに設定したフィルターに合致するメッセージ等の出力をモニターできます。開始時に監視セッションIDを指定することもでき、複数の監視セッションを定義し、区別してモニターすることも可能です。
監査ジャーナル
▲図12. 監査ジャーナル
監査ジャーナルはIBM i 上での特定のユーザーによる操作や特定のオブジェクト(テーブルへのREAD/WRITE等やプログラムの変更・実行など)を指定しモニターする機能です。該当のインシデントが発生すると監査ジャーナルが出力されます。監査ジャーナルのレコードはIBM i OSコマンドやIBM iサービスのSQLで参照することが出来ます。監査ジャーナルの設定方法は改めてご紹介したいと思います。
SNMPエージェント機能
▲図13. SNMPエージェント機能
IBM iは標準でSNMPエージェントとMIBファイルを提供しています。これらを用いて外部のSNMPマネージャーにIBM i のステータスを連携し監視させることが可能です。また特定のIBM i のメッセージIDをモニターしてSNMPトラップを生成し出力することも可能です。これらについても別途改めてご紹介したいと思います。
上記以外のログ等について
以上が一般的に運用監視で用いられるログ、メッセージですが、それ以外のものについても簡単にご紹介しましょう。重要なものは改めてご紹介したいと思います。
Db2ログ(データベースジャーナル)
Oracleなど他のRDBMSでのログをDb2 for i ではジャーナルと呼びます。Db2 for i のジャーナルはデータベースレコード更新後のみ(AFTERイメージのみ)と更新前後(BEFORE/AFTERイメージ)の二つのパターンで取得できます。取得対象はライブラリー(スキーマ)やテーブル単位で指定できます。
収集サービス
IBM i で最も標準的なパフォーマンスデータ収集機能です。通常はこの収集サービスでのデータ取得でシステムの全般的なパフォーマンスの分析が可能です。図2にあるそれ以外のパフォーマンスデータ(パフォーマンストレース、詳細パフォーマンスデータ)は収集サービスよりも具体的、個別的で、パフォーマンス分析を深堀したい場合に利用することがあります。
通信トレース
IBM i とLANアダプターや通信アダプター経由で通信するデータを取得することができます。STRCMNTRCコマンドはNIC(アダプター)単位で通信データを記録することが出来ます。TRCCNNコマンドはWindowsや他のプラットフォームでも一般的なWireshark互換の通信トレースを取得できます。以下の記事をご参照ください。
https://iworldweb.info/column/serials/dekiruibmi_no3
TRCTCPAPPコマンドは、FTPやSMTPなどTCP/IPプロトコル単位で指定して通信トレースを取得することが可能で、特定のアプリケーションの問題判別などで有用です。 IBM i 上の通信トレース機能ではありませんが、ACSも通信トレース取得機能を持っています。ACSを利用する際はIBM i とACS導入クライアントの両方で通信トレースを取得することもできます。
H/Wログ、LICログ
DST画面かSTRSSTコマンドでSST画面を起動するとH/Wのエラーログ、LIC(ライセンス内部コード)のエラーログを確認できます。通常これらは何らかのエラーやH/W障害が発生した際に参照するものです。H/WエラーやLICエラーはQHSTやQSYSOPR *MSGQなどにも出力されることがあります。
筆者
日本アイ・ビー・エム株式会社 多数の執筆記事を、iWorldに寄稿中。 |