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

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

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

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

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

ログファイル監視とは?

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

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

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

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

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

設定例

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

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

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

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

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

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

 

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

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

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

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

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

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

終わりに

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

それでは、また!


ご意見やお問い合わせについて

この記事へのご意見やお問い合わせについては、こちら(お問い合わせフォーム)もしくは
Hinemos営業担当【hsd-sales@atomitech.jp】までご連絡ください。

※お問い合わせフォームからご連絡の場合には、お問い合わせ内容で「Hinemosについて」を選択し、
 本文の冒頭に「Hinemos研究日記_【タイトル名】」とご記載ください。
※メールアドレスへご連絡の場合には、件名を「Hinemos研究日記_【タイトル名】」でご連絡ください。