概要
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\""]