トリガー条件式の検知文字列に丸括弧()を指定する方法について
お世話になります。
現在、Zabbix4.0でイベントログ監視を行っているのですが、トリガーにて丸括弧を含んだ文字列をグローバル正規表現を使用せずに検知文字列として指定・検知させる方法がわからず困っています。
上記の問題を解決する方法はございますでしょうか?
環境は下記となります。
【Zabbixサーバー】バージョン4.0.10
【Zabbixエージェント】バージョン4.2.3
以下は指定・検知したい文字列例となります。
・【HOGE0011】テスト(test)
以下は実際に試した設定となります。
結果は①を除き全て条件式エラーとなります。
①についてはトリガーとしては設定できましたが、検知がされません。
【検証トリガー例】
①"【HOGE0011】テスト(test)"
②"【HOGE0011】"テスト"(test)"
③"【HOGE0011】"テスト"("test")"
④"【HOGE0011】テスト"("test")"
⑤【HOGE0011】テスト"("test")"
⑥【HOGE0011】テスト"(test)"
「監視データ」⇒「最新データ」ではアイテムが正常に値を取得していることを確認しております。
何か情報がございましたら、ご教示いただきたく存じます。
よろしくお願いいたします。
TNK - 投稿数: 4671
もう少し具体的にどのような条件式を記述されたのかを教えてくだ
さい。
トリガー関数に何を使用して、引数にどのように指定されたのです
か?
例えば、以下のような条件式で検知できたりしませんか?
{ホスト:アイテム.str("【HOGE0011】テスト(test)")}=1
DSR-1 - 投稿数: 31
TNK様
お世話になります。
いただいた情報の通りに設定した結果、指定した文字列を正常に検知いたしました。
元の条件式ではトリガー関数「iregexp」を使用しておりました。
条件式は以下となります。
【トリガー設定例】
{xxx-xxx01x:eventlog[Application,@xxxx_eventlog,,@xxxx_eventsource,,,].iregexp("【HOGE0011】テスト(test)")}=1
and
{xxx-xxx01x:eventlog[Application,@xxxx_eventlog,,@xxxx_eventsource,,,].nodata(1m)}=0
今回、「iregexp」ではなく「str」を使用することで問題解決となりましたが、
これら関数のどういった部分が問題を引き起こしていたのか
ご教示いただきたく存じ上げます。
何卒よろしくお願いいたします。
TNK - 投稿数: 4671
正規表現を使用するか否かです。
試してはいませんが、正規表現で使用する特殊文字をバックスラッ
シュなどでエスケープしなければ、その文字自体としては使用でき
なかったと思います。
DSR-1 - 投稿数: 31
TNK様
お世話になります。
トリガー関数の違いについて把握することが出来ました。
情報をご提供いただきありがとうございました。
よろしくお願いいたします。