8.3.5 ログファイル監視ジョブの注意事項

ログファイル監視ジョブの注意事項(使用する前に知っておいた方がよいこと)について説明します。

なお,ログファイル監視ジョブの動作については,マニュアル「JP1/Automatic Job Management System 2 解説 3.2.4(3) ログファイルの更新を契機に処理を実行する(ログファイル監視ジョブ)」を参照してください。

注意事項
  • ログファイル監視ジョブを実行する前に,JP1/Baseのログファイルトラップ管理サービスとJP1/Baseのイベントサービスを起動しておいてください。JP1/Baseのログファイルトラップ管理サービスとJP1/Baseのイベントサービスが起動されていない場合,ログファイル監視ジョブは,実行中の状態になっても実際には監視が行われていません。JP1/Baseのイベントサービスが起動されてから実際の監視を開始します。JP1/Baseのログファイルトラップ機能の詳細については,マニュアル「JP1/Base 運用ガイド」を参照してください。
  • ログファイル監視ジョブの動作条件,および監視できるファイルとデータは,JP1/Baseログファイルトラップ機能に依存します。
  • ログファイル監視ジョブの実行時には,ログファイル監視ジョブ単位でJP1/Baseのログファイルトラップ機能のメモリー,ディスク,およびシステム資源が必要になります。
    JP1/Baseのリソースの見積もりについては,マニュアル「JP1/Base 運用ガイド」を参照してください。
  • ジョブ実行時にマウントされたり,アンマウントされたりする環境にあるログファイルは,監視対象にしないでください。このようなファイルを監視対象にした場合,監視処理が正常に動作しなくなったり,ファイルが新規作成されたと誤認してログファイルを先頭から読み込んでしまったりするおそれがあります。
  • ログファイルの出力形式で「SEQ2」を選択した場合,ファイル検索間隔の間にファイル名の変更が2回以上行われると取得メッセージが消失してしまうので,ファイル検索間隔の指定には注意してください。
    SEQ2で監視中に名称変更したファイルの編集を実施したい場合,新たなファイルが作成されたあと,指定したファイル検索間隔の時間が経過してから行ってください。

    図8-15 「SEQ2」を選択した場合に取得メッセージが消失する例としない例

    [図データ]

  • ログファイルの出力形式で「SEQ2」を選択する場合,実行ホストに指定したホストは次の環境にしてください。
    Windowsの場合
    ・JP1/AJS2 08-00以降
    ・JP1/Base 08-10以降
    UNIXの場合
    ・JP1/AJS2 07-00以降
    ・JP1/Base 07-00以降
    これ以外の環境でジョブを実行した場合,ジョブが異常検出終了になります。
  • ファイル出力形式を「SEQ2」と定義しているジョブを,JP1/AJS2 - View 06-00~06-71の詳細設定で参照した場合,ファイル出力形式には何も表示されません。また,このときに詳細設定画面の[OK]ボタンを押すと,「SEQ2」と定義している内容が「SEQ」に上書きされるため注意してください。
  • 同じログファイル(syslogファイルを含みます)を参照するログファイル監視ジョブを複数個定義すると,ログファイルアクセス回数が増えて負荷が大きくなります。この場合,JP1/Baseのログファイルトラップサービスを使用して一つのログファイルトラップの動作定義をしておきます。そして,JP1/BaseのJP1イベント変換機能を使用して,ログファイルの更新内容をJP1イベント化し,JP1イベント化したJP1イベントを,JP1イベント受信監視ジョブで監視することをお勧めします。
  • Windowsのネットワークドライブで参照できるログファイルや,UNIXのNFSマウント上のログファイルを監視対象にしないでください。これらのファイルを監視対象にした場合,ネットワークの切断によってログファイルを監視できなくなったり,ほかのシステムで使用中かどうか判断できないためログファイルを監視できなくなったりします。
  • 次に示すファイルを監視対象にしないでください。これらのファイルを監視対象にした場合,監視処理が正常に動作しなくなることがあります。
    ・スペシャルファイル,デバイスファイル
    ・ログファイル中の1行の終了文字以外でバイナリーデータを含むレコードがあるファイル
    ・ファイル名が特定できないファイル
  • スケジューラーログを監視対象にした場合,監視中に「ajsalter -c COPY」を実行すると監視処理が正常に動作しなくなります。
  • ログファイル監視ジョブを開始したときに,監視対象のログファイルが見つけられなかった場合,監視対象のファイルが見つかるまで検索されます。そのため,監視開始から,ログファイルを見つけるまでの間に書き込まれたログデータについては,監視対象から外れている場合がありますので注意してください。
  • ログファイル監視ジョブ実行時に,オプション指定によって,ファイルがなかった場合にログファイル監視ジョブを異常終了とすることもできます。この場合は,監視開始時にファイルがないと,検索しないでログファイル監視ジョブを終了します。
  • 正規表現で指定する項目では,指定した文字列は部分一致で条件一致となります。完全一致させたい場合は,完全名を明示的に指定した正規表現を使用してください。Windowsの正規表現については,マニュアル「JP1/Base 運用ガイド」を参照してください。UNIXの正規表現については,UNIXのドキュメントを参照してください。
    JP1/Baseが前提としているLinuxでは,ログファイルトラップ機能で使用する正規表現で日本語は処理できません。そのため,JP1/AJS2のログファイル監視ジョブでも「.」(ピリオド)二つが日本語1文字に一致するなどの動作になります。正規表現については,マニュアル「JP1/Base 運用ガイド」を参照してください。
  • トラップするデータに,OR条件で複数のデータを指定したログファイル監視ジョブを起動条件で実行した場合で,ログファイルに書き込まれたログデータに指定した複数のデータが含まれているとき,一つのログデータに対して複数回,監視条件が成立します。このような場合,一つ目のデータを指定したあとのデータでは,指定したいデータをOR条件で指定し,前に指定したデータすべてをAND条件とNot条件を組み合わせて指定するようにしてください。
(例)
「Error」「Warning」「Information」「Notice」を監視する場合,次に示すように指定します。

「lftpd="Error";
 lftpd="Warning":!"Error";
 lftpd="Information":!"Error":!"Warning";
 lftpd="Notice":!"Error":!"Warning":!"Information";」

  • ログファイル名を相対パスで指定した場合,次に示すディレクトリが通常,ログファイルのカレントディレクトリとなります。
    Windowsの場合
    システムフォルダ¥system32
    UNIXの場合
    jajs_spmdコマンドの実行ディレクトリ
  • Windowsでは,多数のログファイル監視ジョブを同時に実行すると,JP1/Baseのエラーメッセージを出力し,ログファイル監視ジョブが異常終了することがあります。このような場合,マニュアル「JP1/Base 運用ガイド」を参照して,JP1/Baseのエラーメッセージの対処方法に従って対処してください。