ログ監視 アイテムのフィルタリングについて
いつもお世話になります。
ログ監視で一つのログに複数のホストから書き込みがあります。
情報,STRATUS_MSG_STATE_SIMPLEX,localhost.localdomain,192.168.1.70,xxxxxx,xxxxxx
情報,STRATUS_MSG_STATE_SIMPLEX,localhost.localdomain,192.168.1.80,xxxxxx,xxxxxx
現状テンプレートを作って アイテム log[C:\ALT.txt,,SHIFT_JIS]として収集はできています。
登録ホストのIPアドレスごとにフィルタしたいのですが、regexpの部分にマクロを挿入して
log[C:\ALT.txt,{HOST.IP},SHIFT_JIS] のような使い方は、できないようなので、
これに代わる手段があればご教授お願いいたします。
環境
zabbix-server 3.4.3
ホスト zabbix-agent 3.2.3
fripper - 投稿数: 495
1つのログに複数ホストから‥というのは
ある1台の監視対象ホストのローカル上(C:)に保存されているファイルに
Windowsのファイル共有等を通じて、他のホストからも同じファイルへ
ログが追記される。
やりたいこととしては、自ホストから出力されたもののみを抽出したい
‥ということでしょうか?
{HOST.IP}のマクロについては
https://www.zabbix.com/documentation/3.2/manual/appendix/macros/supported_by_location
に「アイテムキー内のパラメータ記述にも使える」と記載がありますが
注釈2として、「インタフェースを特定できないようなアイテムの場合には使えない」と
なっています
ご利用の log[] アイテムは「エージェント(アクティブ)」なので、残念ながら利用できません
対処案
少し面倒ではありますが、対象ホスト毎に、ホスト単位のユーザマクロとして
「{$IPADDR} → "192.168.1.70"」
などと定義しておいて、アイテムのキーを
「log[C:\ALT.txt,{$IPADDR},SHIFT_JIS] 」
などのようにしてしまう対応かと思います
欠点として、設定が面倒なことに加えて
「192.168.1.121」「192.168.1.12」といった形で、
別ホストの出力がマッチングに引っ掛かってしまう可能性があることです
対症療法的なアイデアですが、いかがでしょうか
kyouji-east - 投稿数: 28
fripper様
ご返答ありがとうございます
1つのログに複数のホストから...は、記載いただいたように他の複数ホストが、
同じファイルにログが追記されるような感じです。
{HOST.IP}は、「エージェント(アクティブ)」で使えないという件、了解しました。
{HOST.IP}で代入できれば、楽なのですが、ホスト単位のユーザーマクロで、対応するしかなさそうですね。
「192.168.1.121」「192.168.1.12」の部分は、アドレスの後ろに半角スペースがあるので、
それを含んでテストしてみます。
fripper様アイデアありがとうございました。