監視ログファイルの設定をすると、独自テキストログなどに異常事象をロギングしている製品を監視できます。監視対象としたロギングファイルにテキストが追加されると、イベントが発生したとみなされます。
Systemwalker Centric Managerのエージェントを導入した場合と導入していない場合の機能差については、“Systemwalker Centric Manager 解説書”の“Systemwalker Centric Managerのエージェントを導入していないサーバ/クライアントの監視”を参照してください。
クラスタシステムの共有ディスク上のログファイルを監視する場合の設定手順については、以下に示す各マニュアルの“共有ディスクのログファイルを監視する場合”を参照してください。
(ただし、クラスタ運用を実施している運用管理サーバにおいては、共有ディスク、ローカルディスクともにログファイル監視は使用できません。)
Systemwalker Centric Manager クラスタ適用ガイド UNIX編
Systemwalker Centric Manager クラスタ適用ガイド Windows編
監視ログファイルの設定(ローカルディスク上のログファイルを監視するための設定)では、以下の項目を設定します。
設定する項目 | 内容 | 設定画面 |
---|---|---|
[ファイル監視一覧] | 監視ログファイルについて、メッセージに付加するラベル、エラー種別、文字コード、監視ファイル名で表示します。 | [監視ログファイル設定] |
[ラベル、エラー種別を付加する] | [ファイル監視一覧]に監視ログファイルを追加し、独自テキストログなどに異常事象をロギングしている製品を監視できます。 | [監視ログファイル設定](追加) |
[ラベル、エラー種別を付加する] | [ファイル監視一覧]に登録されている監視ログファイルのメッセージに付加するラベル、エラー種別、文字コード、監視ファイル名を更新します。 | [監視ログファイル設定](更新) |
監視ログファイルの設定はポリシー設定でも、ローカル設定でも設定可能なため、以下のように後から設定した内容が有効になります。
ポリシー設定により設定後、ローカル設定を行った場合は、ローカル設定で定義が置き換わります。
ローカル設定により設定後、ポリシー設定を行った場合は、ポリシー設定で定義が置き換わります。
このため、監視ログファイルの設定を変更する場合は、ローカル設定、ポリシー設定のどちらか一方を利用してください。
手順
[イベント監視の条件定義]ウィンドウで[環境設定]メニューから[監視ログファイル設定]を選択します。
→[監視ログファイル設定]画面が表示されます。
[監視ログファイル設定]ダイアログボックスにおいて、[追加]ボタンまたは[更新]ボタンをクリックします。
→[監視ログファイル設定(追加)]または[監視ログファイル設定(更新)]画面が表示されます。
通常ログファイルに書き込まれる文字列は、イベント監視の条件定義で詳細な定義が可能となる形式『ラベル: エラー種別: メッセージ』となっていないため、定義された「ラベル」、「エラー種別」を付加したものをイベントとして扱っています。
アプリケーションがログファイルに出力したメッセージが「ラベル: エラー種別: メッセージ」となっている場合、アプリケーションが出力した情報を有効に利用するため、「ラベル、エラー種別を付加しない」設定にしてください。
【UNIX版の場合】
定義画面でUTF-8固有文字、または、全角文字を指定すると、以下の現象となります。
UTF-8固有文字が含まれている文字列(パス名)は、定義できません。また、[参照]ボタンをクリックしディレクトリ一覧を表示したときに、UTF-8固有文字が含まれる場合、正しく表示されません。
全角文字を使用した場合、EUC環境と比較して指定可能文字数が減少します。
監視ログファイル定義のCSV入出力コマンド(mpopfmcsv)で定義を行ってください。UTF-8固有文字を指定した場合は、定義はできますが、定義画面では正しく表示されません。
ただし、本コマンドはポリシー設定では使用できません。
監視ログファイルの監視間隔を指定する
ファイルを監視する間隔を、[通信環境定義詳細]画面(イベント監視の動作環境画面)で設定します。インストール時には30秒で設定されています。監視ログファイルの監視間隔については、[ポリシー]メニューから[監視]-[イベント監視の動作環境(全体)]で行います。
ファイル名が途中で変わるログファイルの監視
監視ファイル名格納ファイルを作成する
監視ファイル名格納ファイルに実際に監視するログファイル名を登録します。
監視ファイル名格納ファイルを更新するツールの作成とスケジューリングをします。
自動でファイル名の変更を実施する場合に設定します。詳細については、“監視ファイル名格納ファイルの更新ツールの作成とスケジューリング”を参照してください。
監視対象ファイルを登録します。
設定ダイアログボックスを表示し、監視ログファイル名を追加します。
監視ファイル名格納ファイル
実際に監視するべきログファイル名を登録するファイルです。
ファイル名の最後を「.+@」という名前にして、[監視ログファイル設定]に登録してください。このファイルの1行目に実際に監視を行うファイル名を記述します。
監視ファイル名格納ファイルの格納場所は任意です。
監視ファイル名格納ファイルに記述されたファイルの監視はSystemwalkerの再起動、または監視開始コマンド実行時に有効となります。
監視ファイル名格納ファイルは、バックアップリストアや移行の対象外です。
監視ファイル名格納ファイルの形式については、“Systemwalker Centric Manager リファレンスマニュアル”の“監視ファイル名格納ファイル”を参照してください。
監視ファイル名格納ファイルの更新ツールの作成とスケジューリング
自動で監視対象ファイル名を変更する場合、監視ファイル名格納ファイルを更新するツールの作成とスケジューリングを行ってください。
作成したツール(シェルスクリプト/バッチファイル)は、スケジューリング(crontab/タスクのスケジュールなどへの登録)してください。
監視ファイル名格納ファイルを変更した場合
以下の操作を実施してください。
項番 | 操作 | ファイル監視の状態 |
---|---|---|
1) | 以下のコマンドを使用して、ログファイル監視を一時停止します。 | ファイル監視機能が一時的にすべて停止します。 |
2) | 監視対象ファイル名を変更します(監視ファイル名格納ファイルを編集します)。 | |
3) | 以下のコマンドを使用して、ログファイル監視を再開します。 | 1)で一時的に停止していたファイル監視機能を再開します。 |
監視ファイル名格納ファイルの編集方法については、“監視ファイル名格納ファイル”を参照してください。
opafmonext(ログファイル監視拡張コマンド)の詳細は、“Systemwalker Centric Manager リファレンスマニュアル”を参照してください。
使用手順例:毎日0時にログファイルが切り替わるアプリケーションのローカルディスク上のログファイルを監視する定義を追加する場合
監視ファイル名格納ファイルを作成します。
【Windows版】
c:\app\app_log.+@ |
【UNIX版】
/app/logfile.+@ |
監視ファイル名格納ファイルの1行目にアプリケーションのログファイル名を記述します。
【Windows版】
c:\log\app_LOG041224.txt |
【UNIX版】
/app/app/log041224.txt |
[イベント監視の条件定義]画面の[環境設定]メニューの[監視ログファイル設定]に監視ファイル名格納ファイルを追加し、必要に応じてサービスを再起動します。
以下の作業を行うシェルスクリプト/バッチファイルを作成します。
ファイル監視の一時停止
監視ファイル名格納ファイルの書き換え
ファイル監視の再開
4.で作成したシェルスクリプト/バッチファイルをスケジューリングします。
その際、少し余裕を見て毎日0時15分に上記シェルスクリプト/バッチファイルが動作するようにしておきます。
以上で、毎日0時に監視対象ファイルが切り替わるログファイルを監視することができます。
UNIX用シェルスクリプトの例
上記の手順(3.)のシェルスクリプトの作成例を記載します。
毎日変更されるログ | /app/applog1.+@ |
毎月1日に変更されるログ | /app/applog3.+@ |
#!/bin/sh /opt/systemwalker/bin/opafmonext -p # daily echo `date '+/log/app1_LOG%y%m%d.txt'` > /app/applog1.+@ echo `date '+/log/app2_LOG%y%m%d.txt'` > /app/applog2.+@ # monthly day=`date '+%d'` if [ $day = "01" ] then echo `date '+/log/app3_LOG%y%m.txt'` > /app/applog3.+@ fi /opt/systemwalker/bin/opafmonext -s
上記シェルをcrontabに日付変更後動作するように登録します。
Windows用バッチファイルの例
上記の手順(3.)のバッチファイルの作成例を記載します。
毎日変更されるログ | c:\app\applog1.+@ |
毎月1日に変更されるログ | c:\app\applog3.+@ |
@echo off SET YY=%DATE:~2,2% SET MM=%DATE:~5,2% SET DD=%DATE:~8,2% opafmonext -p rem daily echo c:\log\app1_LOG%YY%%MM%%DD%.txt > c:\app\applog1.+@ echo c:\log\app2_LOG%YY%%MM%%DD%.txt > c:\app\applog2.+@ rem monthly if "%DD%" == "01" ( echo c:\log\app3_LOG%YY%%MM%.txt > c:\app\applog3.+@ ) opafmonext -s
ファイル監視機能の一時停止/再開
ファイル監視機能を一時的に停止し、監視を再開するコマンドを以下に示します。ファイル監視機能を一時停止しても、シスログ/イベントログ監視等は停止しません。
共有ディスクログファイル監視で本機能を使用する場合、監視一時停止、開始コマンドは運用系システムで実行してください。
ログファイル監視 | 共有ディスク | 備考 | |
---|---|---|---|
ファイル監視機能を一時的に停止 | opafmonext -p | opashrfmonext -p | 本オプションはSystemwalker動作中のみ有効 |
opafmonext -x | opashrfmonext -x | ||
一時停止していたファイル監視を再開 | opafmonext -s | opashrfmonext -s | 本オプションはSystemwalker一時停止中(-p、-xオプション)のみ有効 |
どのファイルを監視しているかの確認 | opafmonext -f <filename> | opashrfmonext -f <filename> | 本オプションはSystemwalker動作中のみ有効 |
一時停止機能(-pオプション)を実行すると、監視対象ファイルの読み込み処理が行われます。監視対象ファイルに大量にログが出力されている場合、読み込み処理がすぐには終わらず一時停止に時間がかかる場合があります。この場合、「- x」オプションを指定することで、一時停止時の読み込み処理を行わずに一時停止することができます。
ファイル監視機能の運用について
本機能はログファイル監視機能、共有ディスクログファイル監視機能のどちらに対しても有効ですが、コマンドは別なものを使用するため、各オプションが有効な範囲はそれぞれの機能に対してだけ有効です。
情報初期化対象のファイルに監視の一時停止を行ってから、初期化されるまでの間に書き込まれた内容は監視(通知)されません。それ以外のファイルについては監視再開時に読み込まれます。
監視ファイル名格納ファイルの格納場所は任意です。ただし、ログファイル監視機能で使用する場合は、共有ディスク以外の場所に、共有ディスクファイル監視機能で使用する場合は、共有ディスク上に格納してください。
監視ファイル名格納ファイルに記述されたファイルの監視はSystemwalkerの再起動、または監視開始コマンド実行時に有効となります。
監視ファイル名格納ファイルは、バックアップリストアや移行の対象外です。
監視の一時停止は60分間で終了します。
リモートシステムのログファイル監視は、サポートしていません。リモートシステムのログファイルを監視対象からはずしてください。
ポリシー配付の対象となるノード、またはポリシー配付の対象となるフォルダ配下のノードの中で、以下の条件を満たすノードが存在する場合、[ラベル]、[エラー種別]を付加しない監視ログファイル設定を行うことができません。
Systemwalker Centric ManagerのバージョンがV11より古いノード
なお、すでに[ラベル]、[エラー種別]を付加しない監視ログファイルの設定を行ったフォルダに上記条件のノードが追加された場合、フォルダ指定でのポリシー定義を行うことはできません。
ノード指定で設定を行うか、フォルダ指定で行う場合は、[ラベル]、[エラー種別]を付加しない監視ログファイルの設定を削除してください。
Solaris 10以降のシステムでSolaris zone機能を使用している場合、アプリケーションが動作しているzoneのSystemwalker Centric Managerでログの監視を行ってください。
UNIX版のSystemwalker Centric Managerでは、メッセージの最後に改行コードが含まれたメッセージとなります。このため、イベント監視の条件定義の特定する条件にメッセージを特定する場合、改行コードがあるものとして定義してください。特定する条件に、「表示されているメッセージテキスト」+「最終文字であることを示す正規表現$」を指定すると一致しないため注意が必要です。
ただし、共有ディスクのログファイルの場合は、メッセージの最後に改行コードは含まれません。
監視のしくみについて
ログファイルを定期的に確認し、ログファイルの増加分を監視します。ログ増加分から改行までを1メッセージとして切り出します。また、ログファイルのサイズが減少した場合、ファイルが一度クリアされた後、再度メッセージが追加されたと判断し、すべてのファイルの内容を増分として処理します。
一度に大量のログを出力するログファイルは設定しないでください。設定すると、Systemwalker Centric Managerの各プロセスのCPU使用率が高くなり、メッセージが発生してからSystemwalkerコンソールへ表示されるまでに時間がかかることがあります。
【正しい監視の例】
以下の場合、message6を新規メッセージとして処理します。
追加前 | 追加後 |
---|---|
message1 | message1 |
以下の場合、message6からmessage9を新規メッセージとして処理します。
追加前 | 追加後 |
---|---|
message1 | message6 |
【正しい監視ができない例】
以下の場合、サイズが変化しないため、message2は、新規メッセージにはなりません。
追加前 | 追加後 |
---|---|
message1 | message2 |
以下の場合、MESSAGE1001ではなく、001を新規メッセージとして処理します。
追加前 | 追加後 |
---|---|
message1 | MESSAGE1 |
以下の場合、messageABCD ではなく、Cより新規メッセージとして処理し、文字列の途中から監視されます。
ファイルサイズには改行コードが含まれているため、監視は「C」からになります。また、Windowsの場合は改行コードが2バイトであるため、監視は「D」からになります。
追加前 | 上書き後 | 通知結果 |
---|---|---|
message1 | messageABCD | UNIXの場合:CD |
メッセージ発生日時は、ログファイルからメッセージを読み込んだ日時となります。また、ログファイルの増分を監視する間隔は、[通信環境定義詳細]-[動作設定]ダイアログボックスの[ファイル監視間隔]の定義に従います。初期値は30秒です。
監視の動作
監視対象ファイルを定義から削除した後、再度ログファイル監視設定に同じファイルを追加した場合、新規のファイルが定義されたと認識し、ファイルの内容がすべて処理されます。
マウントしてつながれるディスク上のファイルに、アンマウントの状態で参照ができない場合(注)、ファイルサイズは0バイトとして扱われます。そのため、再マウント後の監視ではファイルの先頭から監視され、ログの再読み込みが行われる可能性があります。そのため、監視は正しくできません。
注)
一時的にファイルが存在しない、ファイルが見つからない状況でも、ファイルサイズは0バイトとして扱われ、それ以降は先頭から監視します。
改行だけの行がログファイルに出力、監視された場合、メッセージが空白のメッセージ(ラベル+エラー種別だけのメッセージ)として扱われます。
ファイルサイズの大きなログファイルを監視対象に追加する場合、ファイルの先頭から監視を開始するため、監視を完了するまでに時間がかかり、大量のメッセージが発生する可能性があります。
Linux for Intel64版を除くUNIX版では、ログファイルのファイルサイズが2GBを超えた場合、そのログファイルは監視できなくなります。2GBを超えた場合は、以下に示すログファイルのリセット手順を実施してください。
監視対象のログファイルをリセットする手順は以下のとおりです。(運用を止めずに実施する)
監視対象のログをリセット(ファイル削除・ファイル内容を消去)して、ファイルサイズを「0バイト」にする。
[ファイル監視間隔]の時間以上待ち、ログファイルが「0バイト」になったことをSystemwalker Centric Managerに認識させる。
ログの書き込みを再開する。
2.の処理により、ログの書き込みを再開した後はファイルの先頭よりログは監視されます。
/etc/syslog.confまたは/etc/rsyslog.confに定義されたファイル(/var/adm/messagesなど)を、監視ログファイルとして指定しないでください。
シスログのメッセージは、Systemwalker Centric Managerに直接通知されます。このため、シスログのメッセージをログファイル監視に指定すると、同一メッセージが二重に処理されることになります。
Windows版の場合、ログを書き出すアプリケーションがログファイルの共有を許していない場合には、そのログファイルを監視することはできません。
改行コードまでを1メッセージとして処理します。
Systemwalkerでは、監視ログファイル設定で「ラベル、エラー種別を付加する」設定を行った場合、ログファイルに出力されたメッセージを以下の形式に変換して監視します。区切り文字は、「: 」(コロン+空白)です。ラベルおよびエラー種別を付加した合計の長さが2047バイト以下になるようにしてください。付加情報を含めた長さが2048バイト以上となる場合は、2047バイトを1メッセージとし残りは新しいメッセージとして処理します。
ラベル: エラー種別: メッセージ
ラベル: [監視ログファイル設定]画面で設定した[ラベル]名
エラー種別: [監視ログファイル設定]画面で設定した[エラー種別]
メッセージ: ログファイルに書き込まれたメッセージ
変換されたメッセージの構造を以下に示します。
インストールされているシステムの文字コードと異なる文字コードのファイルを監視する場合、システムの文字コードに変換する前と変換した後それぞれで、「ラベル: エラー種別: メッセージ」の合計の長さが、2047バイト以下になるようにしてください。システムの文字コードに変換する前、変換した後で2048バイト以上となる場合、2048バイトを超えたメッセージの一部が欠落する場合があります。
NULLコード(0x00)などのバイナリデータを含むファイルは監視できません。バイナリエディタでファイルを開いた場合に0x00等のバイナリデータが含まれる場合は取り除いてください。また、ファイルにバイナリデータが出力されない様にアプリケーション側でも対処してください。
インストールレス型エージェントで監視する場合、OSの文字コードと、監視対象のログファイルの文字コードは、必ず一致させてください。文字コードが一致しない場合は監視できません。
[監視ログファイル設定]の[ラベル]名には、以下の文字列を使用しないでください。[ラベル]名に下記文字列を指定した場合、メッセージ監視(フィルタリング)が正しくできない場合があります。
INFO、情報、Information
WARNING、警告、Warning
ERROR、エラー、Error
HALT、停止、Stop
クラスタ運用を実施している運用管理サーバにおいて、ローカルドライブ上のログファイル監視は使用できないため、ログファイル監視の設定をはずしてください。
Windows版の場合、アプリケーションがログファイルをクローズすることなくログを書き続ける場合、ディスク上のログファイルサイズの更新が遅延し、それに伴い、Systemwalker Centric Managerでの監視が遅延することがあります。この場合、コマンド「type ログファイル名」を定期的に実行することで回避される場合があります。
監視対象のファイル名は変わらないが、ファイルが途中で違う名前で退避されるファイルの監視について
以下のように監視対象のファイルは同じ名前であっても、更新中のファイルが途中で違う名前で退避される場合があります。
1. 通常動作中 :ファイル名がfilenameのファイルを更新 2. ファイルの退避 :ファイル名がfilenameからfilename.0に変名 3. ファイルの再作成:ファイル名がfilenameのファイルが空になる 4. 通常動作に戻る :ファイル名がfilenameのファイルを更新
この場合、2)3)4)の間で以下の例のようにSystemwalkerで監視できないメッセージが出てきます。
例)
Systemwalker Centric Managerのファイル監視間隔が30秒の場合の例です。
【パターン1】
─────────────────────────────────── 監視対象ファイル Systemwalker Centric Manager (ファイル名はfilename) ─────────────────────────────────── ↓ │ 1)下記メッセージが追加される │ メッセージ1 │30秒 メッセージ2 │ メッセージ3 ↓ │ 2)下記メッセージを監視 │ メッセージ1 │ メッセージ2 ↓ メッセージ3 3)下記メッセージが追加される │ メッセージ4 │ 4)ファイル名が下記の様に変名される │30秒経過 filename⇒filename.0 │ ↓ 5)メッセージ4が監視対象にならない。
【パターン2】
─────────────────────────────────── 監視対象ファイル Systemwalker Centric Manager (ファイル名はfilename) ─────────────────────────────────── ↓ │ 1)下記メッセージが追加される │ メッセージ1 │30秒 メッセージ2 │ メッセージ3 ↓ │ 2)下記メッセージを監視 │ メッセージ1 │ メッセージ2 ↓ メッセージ3 3)ファイル名が下記の様に変名される │ filename⇒filename.0 │ 4)下記メッセージが追加される │30秒経過 メッセージ4 │ メッセージ5 │ メッセージ6 │ メッセージ7 ↓ 5)下記メッセージが監視対象 にならない メッセージ4 メッセージ5 メッセージ6
このようなファイルを監視する場合、監視対象ファイルを更新するアプリケーションがファイルを操作する各タイミングで、opafmonext(ログファイル監視拡張コマンド)を実行することで監視が可能になります。
1. 通常動作中 :ファイル名がfilenameのファイルを更新 2. ファイルの退避 :ログファイル監視を一時停止させる opafmonext -p ファイル名がfilenameからfilename.0に変名 3. ファイルの再作成:ファイル名がfilenameのファイルが空になる ログファイル監視が持つ監視対象ファイルの処理済みメッセージ情報を初期化する。 opafmonext -r ファイル名 ログファイル監視を再開する。 opafmonext -s 4. 通常動作に戻る :ファイル名がfilenameのファイルを更新