ユーザパラメータを使用してログの差分を得る方法について
いつもお世話になっております。
ユーザパラメータを使用して、同じファイル名のログの差分を得るアイテムを登録したいと考えております。
例えば、/var/log/messages に直近1分間で出力されたログのみを取得するようなイメージで
UserParameter=diff.log[*],~~~~~~~~~
※直近何分間とするかはアイテムの更新間隔で指定したいと考えていますが必須ではありません。
という形でデータ型は「テキスト」として取り込みたいのですが、よいコマンドライン、スクリプト等、ご教授頂けますと幸いです。
ZABBIXとは少し離れた質問だと思いますが、よろしくお願い致します。
fripper - 投稿数: 495
こんなのはいかがでしょうか?
軽く書いてみました@添付ファイル
初回は、指定ファイルの全内容を出力し、その時点でのファイルサイズを、作業ファイルへ記録します
2回め以降は、作業ファイルに保存されているサイズ情報よりも増えた内容部分のみを出力し、
その後、作業ファイルの記録サイズ情報を更新します
前回のチェック時点での「報告済ファイルサイズ情報」を保持しておかなければ、差分報告ができないので
それ用のファイルをアイテム個別に作成してしまうことになりますが、
1000 を超えるようなファイルを監視しない限りは大丈夫でしょう(楽観的
かかし - 投稿数: 52
fripper様
早速の返信有難う御座います。
期待通りの結果です!
有難う御座います!
ログ監視でエラーキーワードで検知した際、この情報をメール通知内に差し込みたくて苦戦していました。
fripper - 投稿数: 495
時間あたりの発生量が多い場合や、
対象のログがローテートされてしまった場合など、
そのような場合の想定をしていませんので
おかしな動作をしてしまうと思いますの
ご承知置きをお願いします