【環境】
zabbix 4.0.21
Agent windows server
=============
■アイテム
名前:イベントログ
タイプ:Zabbix(アクティブ)
データ型:ログ
アイテムキー:eventlog[System,,"Error"]
■トリガー関数:Template OS Windows:eventlog[System,,"Error"].logseverity()}=0
============
Systemエラー検知後、エラー1,エラー2、エラー3
エラー1は、除外、エラー2追加、エラー3除外などの設定はできるのでしょうか
Yasumi - 投稿数: 380
仰っていることの意味が分かりかねる部分がありますが、
おそらく「深刻度"Error"の中でも検知させたいログ内容と、検知させたくないログ内容がある」と理解して回答いたします。
まずは公式のマニュアルを確認して、アイテムキーeventlogの構成を理解してください。
eventlog[name,< regexp>,< severity>,< source>,< eventid>,< maxlines>,< mode>]
https://www.zabbix.com/documentation/2.2/jp/manual/config/items/itemtype...
https://www.zabbix.com/documentation/4.0/manual/config/items/itemtypes/z...
< regexp>が正規表現、< source>がイベントログのソース、< eventid>がイベントログのIDです。
これらを利用することで、特定の内容のログをアイテム取得しないようにすることができます。
【例 マクロを利用する場合】
「一般設定」⇒「マクロ」にて、マクロを定義します。
次に定義したマクロをアイテムキーに反映させます。
・マクロ
EXCLUDE_EVENTLOG
エラー2 文字列を含む
エラー1 文字列を含まない
エラー3 文字列を含まない
・アイテムキー例
eventlog[System,@EXCLUDE_EVENTLOG,"Error"]
⇒深刻度"Error"で、かつ「EXCLUDE_EVENTLOG」に該当するアイテムを収集する。
また、トリガーが「.logseverity()}=0」となっており、イベントログの深刻度で検知する仕組みになっています。
もし深刻度以外の内容をトリガーにするのであれば、トリガー設定そのものを見直すことも視野に入れてみてください。
nktdai - 投稿数: 10
ご回答ありがとうございます。
>「深刻度"Error"の中でも検知させたいログ内容と、検知させたくないログ内容がある」と理解して回答
→ご認識の通りです。
Template OS Windows>マクロ
マクロ名 値
{$EXCLUDE_EVENTLOG}=エラー1 文字列を含まない
を定義
==============
アイテム:eventlog[System,@EXCLUDE_EVENTLOG,"Error"]
トリガー:{Template OS Windows:eventlog[System,@EXCLUDE_EVENTLOG,"Error"].logseverity()}=0
================
上記、条件にてどのようにして「文字列を含まない」を複数追加していくのでしょうか。
TNK - 投稿数: 4720
「マクロを使用する」ではなく「正規表現を使用する」だと思います。
つまり、設定する場所は、
「管理」->「一般設定」->「マクロ」
ではなく、
「管理」「一般設定」「正規表現」
だと思います。
nktdai - 投稿数: 10
「管理」「一般設定」「正規表現」にて
test1 含む
test2 含む
を設定
1.{Template OS Windows:eventlog[Application,,"Error"].logseverity()}=4
2.{Template OS Windows:eventlog[Application,@EXCLUDE_EVENTLOG,"Error"].logseverity()}=4
[テスト環境]
New-Eventlog -Logname applicatio -source zabbix
Write-EventLog -LogName Application -EventId 999 -Source zabbix -EntryType Error -Message "test1"
1が出力されて、2が出力されません
どうすれば、宜しいのでしょうか。
Yasumi - 投稿数: 380
>TNKさん
指摘の通りです。フォローありがとうございます。
>nktdaiさん
正規表現の内容が下記だからです。
@EXCLUDE_EVENTLOG
test1 含む
test2 含む
上記では「test1」かつ「test2」が含まれるメッセージを取得する設定です。
or条件にするのであれば、下記のようにする必要があります。
@EXCLUDE_EVENTLOG
(test1|test2) 結果が真
nktdai - 投稿数: 10
@EXCLUDE_EVENTLOG
test1|test2 結果が真
とは、messageに記載していますが、
うまく、いきません。
Yasumi - 投稿数: 380
下記でどうでしょう。
@EXCLUDE_EVENTLOG
test1,test2 いずれかを含む
nktdai - 投稿数: 10
ご回答ありがとうございます。
うまくいきました。
もう、1点、質問がございます。
イベントログのメッセージを表示する事は、可能でしょうか?
げんざい、ダッシュボードで障害は出力されます。
その後の、詳細なメッセージは、どうすれば取得できるのでしょうか。
Yasumi - 投稿数: 380
障害から各トリガーを選択し、ヒストリを選択です。
ダッシュボードはあくまでダッシュボードです。