[1.6.8]アクションのコンディション指定が効かない
いつも大変お世話になっております。
特定のログ監視(Appl_A)について、夜間のバッチ実行時のみ、
アクションを無効にしたいと考えています。
以下のように、コンディションを設定し、
"Logfile Appl_A error"のイベントを発生させました。
本来、アクション(1)のみ実行されるはずが、
アクション(2)も実行されてしまいました。
【アクション(1)】
トリガー = "Logfile Appl_A error"
トリガーの深刻度 = "軽度の障害"
トリガーの値 = "障害"
期間 期間外 "1-7,02:00-03:00"
【アクション(2)】
トリガー <> "Logfile Appl_A error"
トリガーの深刻度 = "軽度の障害"
トリガーの値 = "障害"
※期間はデフォルトの24/7。
設定に誤りがありましたら、教えていただけますでしょうか。
TNK - 投稿数: 4740
"Logfile Appl_A error"のイベントを発生させた際に、別のトリガーも発生してしまうような条件が無いか再度御確認下さい。
トリガーとかイベントの画面で何か表示されていませんか?
cinnamon - 投稿数: 18
ご回答ありがとうございます。
[監視データ]>[トリガー] でグループおよびホストに「全て」を指定して確認しましたが、テストで発生させた以外トリガーは見当たりませんでした。
なお、イベント履歴には以下のように表示されていました。
エスカレーションは設定していませんが、実行されたアクションが2つカウントされています。
kodai - 投稿数: 1341
障害が発生している時間が20:45:29ですから、アクション(1)とアクション(2)はともに条件にマッチしているので、アクションが2つ実行されるのが正常な動きに見えます。
トリガーLogfile Appl_A errorについて夜間の2:00〜3:00にアクションを実行されたくないのであれば、アクション(1)の設定だけ行えば期待される結果になるんじゃないかと思います。
cinnamon - 投稿数: 18
アクション(2)の条件には、「トリガー <> "Logfile Appl_A error"」(トリガー"Logfile Appl_A error"以外)が含まれているので、アクション(2)がマッチしているとは言えないと思います。
条件の指定方法が間違っているのでしょうか。
やりたいことは、以下のとおりです。
アクション(1)
トリガー"Logfile Appl_A error" 夜間2:00-3:00以外監視
アクション(2)
トリガー"Logfile Appl_A error"以外 常に監視
KAZ - 投稿数: 1085
cinnamonさん
横から失礼します。
検出した際のログはどの様なものだったか詳細を教えて頂けますか?
cinnamon - 投稿数: 18
KAZ様
返信が遅くなりまして申し訳ありません。
詳細な設定情報をご連絡します。
以下のコマンドを実行すると、トリガーを対象外(トリガー <> "Logfile APL_A error")にしているにも関わらずアクションが実行されてしまいます。
なお、zabbix_server.logには本アクションの実行に関するログは特に見当たりませんでした。
echo "ERROR test by ****" >> [/opt/apache-tomcat/logs/catalina.out
■アイテム:Logfile APL_A
log[/opt/apache-tomcat/logs/catalina.out(ERROR|OutOfMemory)]
■トリガー:Logfile APL_A error
({Template_APL_A:log[/opt/apache-tomcat/logs/catalina.out,(ERROR|OutOfMemory)].nodata(60)}=0)&({Template_OLU_ECM:log[/opt/apache-tomcat/logs/catalina.out,(ERROR|OutOfMemory)].regexp(ERROR)}=1)
■アクション:※(A)and(B)and(C)
トリガー <> "Logfile APL_A error"
トリガーの深刻度 = "軽度の障害"
トリガーの値 = "障害"
TNK - 投稿数: 4740
今回の問題に直接関係無いかもしれませんが、トリガーの条件式に「Template_APL_A」と「Template_OLU_ECM」の2つのテンプレートのアイテムを利用されているのが気になりました。
どちらかのテンプレートに統一してみて頂けませんでしょうか?
cinnamon - 投稿数: 18
大変申し訳ありません。
設定では両方ともTemplate_APL_Aです。
※固有情報をマスキングしようとして修正が漏れておりました。
KAZ - 投稿数: 1085
cinnamonさん
返信遅れました。
今までの中でわかったことを纏めます。
1)アクションの期間でトリガー検知の抑止はできない。
アクションの期間はアクションの抑止ができます。
トリガー検知の抑止はtime関数等をトリガー条件に含んで下さい。
2)【アクション(2)】が動作してしまう。
すいませんが、アクション(2)】のアクションでメールを昇進する様にし、トリガー名や検知値を表示させるようにして頂けますか?
そうすれば何のトリガーで何を検知したのか動作したかわかりますので…
cinnamon - 投稿数: 18
KAZさん
>1)アクションの期間でトリガー検知の抑止はできない。
この点は理解しています。
>2)【アクション(2)】が動作してしまう。
下記のアクション以外はすべて「無効」にした状態で、検証を行いました。
■アクション
・コンディション
トリガー <> "Logfile A error"
トリガーの深刻度 = "軽度の障害"
トリガーの値 = "障害"
・オペレーション
メッセージの送信先 ユーザ "Admin"
■Adminに届いたメールの内容
TRIGGER.NAME: Logfile A error
STATUS:PROBLEM
LastValue:ERROR test 20101216 13:34
以上のように、コンディションに”Logfile A error以外”をしているにも関わらず、トリガー”Logfile A error”に対するアクションが実行されました。
:idea: 自己解決しました。
「トリガー <> "Logfile A error"」は、テンプレートのトリガーを指定した場合は有効にならないことが分かりました。
※conditionsテーブルで指定されるidと、eventテーブルのtriggeridが異なるため。
コンディションを、「トリガーの名前 含まれない "Logfile A error"」に変えたところ、意図した動作になりました。
本チケットはクローズ願います。
KAZ - 投稿数: 1085
cinnamonさん
期間と言うのはアクションの期間の事でしょうか?
アクションはトリガーでイベントが発生した後の動きになります。
アクションの条件でトリガーの発生有無は制御できません。
トリガーで絞り込む場合はdayofweek関数やtime関数で制御してやる必要があるかと。
また、Logfile Appl_A errorですが検知→回復→検知の動きになっていまっせんでしょうか?
cinnamon - 投稿数: 18
KAZ様
アクションの期間のことです。
イベントの記録は残しつつ、特定の時間のみアクション(メール送信)を実行させないようにしようとしています。
イベントを確認しましたが、検知→回復のみでした。