多数のログファイルからデータを抽出できるようにしたいと考えています。抽出されたデータは、zabbix に送信されます。
例を挙げると、(巨大な) ログファイルに次のような情報が含まれているとします。
date: processed 566766 lines
date: processed 324523 lines
date: processed 546747 lines
date: processed 005643 lines
このデータをZabbixに送信できるようにしたいです。
awk を使用すると、単純に次のようなことができます
cat logfile | awk '/processed \d+ lines/ { system("zabbix command " $3) }'
私の問題は、ファイルが大きく、重複したデータが必要ないため、前回の実行が中断された場所からログ ファイルの読み取りを開始する方法を見つける必要があることです。
そのため、前回までに読み取ったポイントを記憶し、新しく追加された行のみの処理を開始する必要があります。
fetchlogを試してみたのですが、なぜかうまくいかず、メンテされていません。
増大するログ ファイルを追跡できる優れたユーティリティ、またはそれに対する Pythonic アプローチを知っていますか?
syslog-ng または rsyslog にはこれに対する何かがあったことを覚えているようですが、それらは syslog スタイルのログ専用であると思いますが、私のものは標準に従っていません。
よろしく
アレッサンドロ