【Hinemos 監視】ログファイル監視でJavaのStackTraceを監視する

投稿日: / 更新日:

この記事は2年以上前に書かれたものです。情報が古い可能性があります。

こんにちは!
今回は、ログファイル監視についてのお話です。

ログファイル監視は、その名の通りアプリケーションにより出力された
ログファイルを監視することができる監視項目です。

このログファイル監視を使って、JavaのStackTraceを監視することが今回の目標となります。

まずは、ログファイル監視についておさらいしましょう!

1.ログファイル監視とは?

監視対象ノードのファイルに出力されるログ対してフィルタ処理を行い、
出力されたログが指定のマッチ条件と一致した場合、通知する機能です。

ログファイル監視を利用することで、アプリケーションなどが
出力するログファイルを監視し、特定のログが出力されたら通知を行うことができます。

このログファイル監視ですが、基本的には、ファイル情報タブの
「ディレクトリ」と「ファイル名(正規表現)」からどのファイルを
監視するかを設定するだけで、監視は行えます。

ただし、区切り条件を設定せずに監視を行うと、
Hinemosでは一行を一ログとして認識し、監視を実施します。

従って、JavaのStackTraceのような、複数行で意味を持つようなログを監視する場合、
ログの長さを指定する必要があります。

2.設定例

今回は、以下のようなログを監視してみます。

※ログの出力形式については、先頭に日時が出力されるように設定しています。

ログ内容についての詳しい解説は省きますが、
今回は、int型に”0.1″という小数を渡して、
“NumberFormatException”を出力しています。

こちらをログファイル監視で監視してみますが、
今回は、区切り条件が違う以下の2つの監視設定で違いを確認してみようと思います。

①区切り条件:改行コードLF

②区切り条件:先頭パターン

 

今回は、最初に”yyyy-MM-dd hh:mm:ss.fff”の形式でログが出力されているため、
この部分を先頭パターンとして正規表現で設定します。
先頭パターンの設定内容は以下の通りです。

以下が、それぞれの監視で得られた監視結果です。

①の「イベントの詳細(左図)」と「詳細メッセージ(オリジナルメッセージ)(右図)」

②の「イベントの詳細(左図)」と「詳細メッセージ(オリジナルメッセージ)(右図)」

このように改行コードLFでは、詳細メッセージを見ると分かる通り、
一行ごとに判定が行われていることが分かります。

対して、先頭パターンを使用した場合は、
StackTrace全体が判定対象となっていることが分かります。

3.終わりに

今回は、StackTraceを監視しましたが、その他の複数行に亘るログでも、
同様に出力パターンを設定することで監視可能です。

それでは、また!

Hinemos導入はアトミテックにお任せください

見積もりを依頼する

最新情報発信中

Xやメルマガでも、Hinemosの保守、
開発、導入、構築やカスタマイズ等の
お役立ち情報を発信しています。
是非ご登録ください。