質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Zabbix

モニタリングツール

Q&A

1回答

115閲覧

zabbixでのトリガー条件の設定方法(発動後、一定時間ごとに検知したい)

jujuju

総合スコア0

Zabbix

モニタリングツール

0グッド

0クリップ

投稿2025/04/24 04:00

実現したいこと

zabbixのトリガー条件で、障害状態と判定後、一定時間ごとにその状態が続いているかを判断したい

発生している問題・分からないこと

ログファイルを監視し、特定文字列(ERROR)が現れたら障害状態として、その後は一定時間ごとにチェックするようなトリガーを設定することが可能でしょうか?
一度出現すると、解消するまで頻繁に出力されるため、都度の検知ではなく、初回検出後は、例えば10分ごとにその間に検知していたら、障害状態の継続としてメール通知などとしたいです。
※メール通知自体は設定済です

該当のソースコード

find(/host/logrt["dir\.*_Log.txt"],,,"ERROR")=1 and ここに指定するイメージ

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

なかなかやりたいことがヒットしませんでした

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

トリガーの設定ではなく、通知(トリガーアクション)の設定で一定時間ごとにくり返し通知する方法はどうでしょうか。

(トリガーアクション設定) 実行内容: ステップ: 1-0 ステップの間隔: 10m

これで「障害」が継続している間、10分ごとに通知されます。

そして、トリガーの条件に nodata() を入れて、10分間、特定文字列が現れなかったら「正常」に戻るようにします。

(トリガー設定) find(/host/logrt["dir\.*_Log.txt"],,,"ERROR")=1 and nodata(/host/logrt["dir\.*_Log.txt"],10m)=0

ただし、nodata() のチェック間隔が 30秒固定なので、「正常」に戻るのは 10分00秒〜10分30秒の範囲になり、通知が 1回増えるかもしれません。


(追記)
アイテムを logrt["dir.*_Log.txt","ERROR"] と特定文字列のみに限定しないと、それ以外のログで nodata() の判定が邪魔されてしまいます。
ログをすべて取得したいのであれば、トリガー用と全取得用の 2つのアイテムを用意するといいと思います。

投稿2025/04/25 07:18

編集2025/04/26 01:28
TaichiYanagiya

総合スコア12193

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jujuju

2025/04/25 09:23

ありがとうございます。 すぐに確認できませんので、来週試してみます。 取り急ぎありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問