JP1Baseその四(テキストログの監視)

 監視といえばログ監視。今回はそのログ監視について。

JP1/Base のイベントサービスでは,ログメッセージおよびイベントログをJP1 イベントに変換して管理できます。JP1/Base で使用できるイベント変換を次に示します。
ログファイルトラップ
アプリケーションプログラムのログファイルに出力される情報をJP1 イベントに変
換します。
イベントログトラップ(Windows 限定)
Windows のイベントログに出力される情報をJP1 イベントに変換します。
なお,バージョン8 以前のJP1/Cm2/NNM またはバージョン7.5 以前のHP NNM が管
理するSNMP トラップをJP1 イベントに変換する場合は,「付録I SNMP トラップを
変換する」を参照してください。

 最後のSNMPトラップは、OSによってはJP1/Baseが対応していないので無視。JP1/IM - EGforNNMiで何とかするものだと考えたほうが良さそう。

 基本は、ログファイルトラップ動作定義ファイルを作成し、監視するログファイルの出力形式(単調増加ファイルか、いくつかのファイルを循環的に使用するのかなど)と,JP1 イベントに変換したいログデータの条件(テキスト一致条件)を指定 -> ログファイルトラップ管理デーモン/サービス起動コマンド(jevlogstart)を実行。という流れ。ちなみに停止は(想像がつくでしょうが)jevlogstop。

 注意点は
・JP1イベントのメッセージに登録できるのはデフォルト511バイト以下(オプション起動で1023バイトまで)。それを超えると切り捨てられる
・ログファイル、ログファイルトラップ動作定義ファイル、jevlogstartコマンド実行時のロケールを統一する必要がある
・以下の種類のログファイルは監視できない

  • 毎回ファイルの先頭からログ情報が記録されるファイル
  • ラップアラウンドファイル(WRAP1)のうち、データが書き込まれても日時が更新されないファイル、およびデータが書き込まれないのに日時が更新されるファイル
  • ログファイル中の1行の終了文字以外でバイナリーデータを含むレコードがあるファイル
  • プロセスID など,ファイル名にその時々に応じて値が変わるものを含み、ログファイル名を特定できないファイル
  • 他コンピュータのファイルを,ファイル共有などでアクセスした場合,ネットワークの障害や遅延の際は動作を保証できない
  • 常に1行だけ出力されるログファイル
  • 排他されるファイル
  • JP1/Base がサポートしていない言語で出力されるファイル

 1プロセスで監視できるファイル数の推奨値は
Windowsの場合>
(a + m)+(b + n) <= 508
a:監視するログファイルの総数(同一ファイルでも加算する)
b:JP1/AJS のログファイル監視ジョブで監視するログファイルの総数(同一ファイルでも加算する)
m:jevlogstart コマンドの実行数
n:JP1/AJS のログファイル監視ジョブの実行数
UNIXの場合>
基本は100。ただし実際はカーネルパラメータで設定した同時オープン可能なファイル数に依存。まぁ最近のUNIXならデフォルトで大丈夫な気もするが……。

 Windowsのイベントログ監視もできるそうですが、今回は割愛。