概要
Mackerelのログ監視で下記のように"
で囲まれた文字を対象にする方法をご紹介します。
{"level":"error" XXXX}
解決策
下記のように”
を.
に置き換えることでログ監視ができるようになります。
command = ["check-log", "--file", "/var/log/access.log", "--pattern", ".level.:.error."]
背景
監視対象のログファイルで、ログレベルが info
であるにもかかわらず、error
が書き込まれることがあるため、ログレベルがerror
のログのみを監視する必要がありました。
Mackerelのログ監視設定では、"
をエスケープした場合でWarningが発生し、ログ監視を行うことができませんでした。
そこで、.
を使用し、"
を使用しない設定に変更しました。
command = ["check-log", "--file", "/var/log/access.log", "--pattern", "\"level\":\"error\""]