質問: 現在ZabbixServer 3.0 を使用しております。 **やりたいこと** * ログ監視をしたい * /var/log/test.log にerror という文字列が書き込まれたら、それを通知する検知するようにしたい 以下の通り設定しているのですが、/var/log/test.log に「error」という文字を追加しても全く検知しない状態です。他に設定すべき項目はあるのでしょうか? **アイテムの設定は以下の通りです** * タイプ:Zabbix エージェント(アクティブ) * キー:log[/var/log/test.log,"error",,,skip,] * データ型:ログ * 更新間隔(秒):30 * ヒストリの保存期間(日):90 * それ以外の項目は、空欄。 **トリガーに関しても、条件式を以下の通りにしております。** 条件式:{対象サーバ:log[/var/log/test.log,"error",,,skip,].str("error")}>1 and {対象サーバ:log[/var/log/test.log,"error",,,skip,].nodata(10m)}=0
回答: キー: log[/var/log/test.log,"error",,,skip,] ですので、「**error**」ではなく、「**"error"**」(ダブルクォーテーション含む)に合致する場合にログ文字列を取得するのではないでしょうか。 ログ文字列を取得できているかどうかは、「最新データ」で該当アイテムの最新のチェック時刻、最新の値、ヒストリで確認できます。 また、トリガーの `str()` 関数の判定は **>1** ではなく、**=1**, **>0** あるいは **<>0** だと思います。