- check-log プラグインは監視対象のログファイルの差分をチェックする仕様のため、監視対象とするファイルの読み込み済みの位置(バイト数)をjson形式で記録しています。
- このjsonファイルが破損すると次回のチェック時に読み込むことができずに
unexpected end of JSON input
という Unknown アラートが発報されます。
- ファイルの破損は多くの場合がサーバー再起動などによって発生しますが、最新のバージョンでは破損が起こりにくくなっているため、定期的なプラグインのアップデートをおすすめいたします。
- このアラートを解消するには原因となる破損したJSONファイルを削除する必要があります。JSONファイルは以下のようなパスに作成されます。
Linux
/var/tmp/mackerel-agent/check-log/<監視対象のファイルパス>-<hash文字列>.json
Windows
%TEMP%\check-log\<監視対象のファイルパス>-<hash文字列>.json
- 例えば Linux のホストにて
/var/log/foo.log
を監視されている場合は /var/tmp/mackerel-agent/check-log/var/log/foo.log-<hash文字列>.json
となります。
- Windows Server のホストの場合、システム環境変数の TEMP が指すディレクトリ配下に記録されます。
- 上記ファイルを削除もしくは拡張子を変更するなどして解消されるかご確認ください。