SiteScope
ログファイルモニタによるシステム運用の効率化
システムに障害が発生した場合のログ調査は非常に骨の折れる作業です。ログが膨大であれば調査が難航し、長時間を要してしまうことも珍しくありません。
障害発生時の損害を最小限に抑えるためには、問題解決に必要なログデータの早期発見がポイントです。
本ページでは、問題を早期に発見する鍵となるログ監視に利用するSiteScopeのログファイルモニタについて取り上げます。
SiteScopeのログファイルモニタとは?
ログファイルの中に、特定の文字列が含まれるログを検知し、管理者に通知します。
障害発生時の原因特定のスピードが上がるだけでなく、障害発生を事前に検知する効果もあります。
ログファイルモニタの設定
ある特定の文字列を検知するログファイル監視(基本編)と、正規表現としきい値を活用したログファイル監視(応用編)についてご紹介します。
ここでは以下のlogfile.logというログファイルを例にします。
▼logfile.logの中身
Ex83748 JOB '2BDF' - Fatal Error
Ex11786 JOB '8B34' - Warning
Ex12782 JOB '1DCB' - Delayed
Ex83748 JOB '2BDF' - Fatal Error
▼logfile.logの内容説明
上記ログファイルが意味しているのは以下の通りとします。
Ex83748 | エラーコードが83748である。 |
---|---|
JOB '2BFD' | ジョブコードが2BFDである。 |
Fatal Error | ジョブコードが2BFDである。 |
LEVEL1:ある特定の文字列を検知するログ監視(基本編)
ある特定の文字列を含む全てのログを検出する方法をご紹介します。
例えば、Exエラーコードが返された全てのログデータを検出したい場合、"Ex"を「内容の照合」(検出ワード)に指定します。
"Ex"という文字列をSiteScopeが検出すると、監視のステータスはエラーとしてSiteScopeに結果が表示されます。
ログファイルモニタ設定画面 |
LEVEL2:正規表現としきい値を活用したログ監視(応用編)
正規表現の活用
LEVEL1のように、特定の文字列ではなく、より柔軟に条件をつけたい場合は、正規表現が活用できます。
例えば、「内容の照合」に以下の文字列を入れたとします。
/Ex(\d+) JOB '(\w+) - (.*)/
つまり、Ex○○○ JOB ○○○ - ○○○という文字列が検出されると、監視のステータスをエラーとする、という指定ができます。
このように、可変のデータが含まれている一定のフォーマットに従ったログを検出することも可能です。
▼正規表現の内容説明
/ | 正規表現の開始と終了 |
---|---|
(\d+) | 整数値 |
(\w+) | 英数、下線文字列 |
(.*) | 任意の文字列 |
しきい値の定義
指定したキーワードが検出された場合、全てエラーとするのではなく、しきい値を定義しておくと、その条件に応じて「エラー」、「警告」、「良好」のステータスを返します。
例えば、「照合値のラベル」に「errcode,job,msg」と定義すると、上記の(\d+)の値をerrcodeに、(\w+)の値をjobに、(.*)の値をmsgというラベルに代入し、しきい値として利用することができます。
しきい値の設定画面で「errcode == 83748」はエラー条件として定義すると、エラーコードが83748の場合にのみエラーとして処理されます。
ログファイルモニタ設定画面 |
しきい値設定画面 |
LEVEL1では'Ex'という文字列がログ内に検出された場合は一律エラーとして処理しましたが、LEVEL2では、エラーとして扱うものを絞り込んで、必要なエラーの検知だけを行うことができます。
ログファイルモニタを活用したログの監視は、工夫次第で柔軟な監視ができます。ログ監視が適切に行われていることで、障害が発生した場合の原因特定の加速化、障害発生の事前検知という効果を得られます。