ディスカバリルールのフィルター設定で正規表現の除外設定を実施したい
いつもこちらのフォーラムを参考にさせていただいています。
ディスカバリルールについて、投稿が無く、自身でも調べてみましたがわかりませんでしたので質問させてください。
■環境
zabbixバージョン:4.0.9
zabbixサーバOS:CentOS Linux release 7.6.1810 (Core)
監視対象サーバOS:windows2019
■実施したいこと
windowsサービス「Windows Push Notifications User Service_xxxxx(xxxxxは1~9とa~zのランダム文字列)」の監視を除外したい。
■現在の監視設定
テンプレートを作成し、ディスカバリルールでwindowsのサービス監視をしています。
▼ディスカバリルール
ディスカバリルール名:sample
タイプ:zabbixエージェント
キー:service.discovery
監視間隔:3600
存在しなくなったリソースの保持期間:30d
フィルター設定
計算のタイプ カスタム条件式 A
ラベル マクロ
A {#SERVICE.DISPLAYNAME} 一致する @Exclusion_service
▼正規表現設定
名前:Exclusion_service
条件式の形式:結果が偽
条件式:Windows Push Notifications User Service_*
※他にも条件式はありますが、関係していないように見えますので割愛しています。
■現状
監視データ>最新データ を確認すると、「Windows service info [Windows Push Notifications User Service_xxxxx(xxxxxは1~9とa~zのランダム文字列)]」が複数存在しているため除外できていないです。
正規表現のテストのテスト文字列に「Windows Push Notifications User Service_xxxxx(xxxxxは1~9とa~zのランダム文字列)」と入力すると、結果では偽となっています。
■備考
既出で参考になるスレッドがあれば教えてください。
情報不足の際は、記載しますのでよろしくお願いします。
追記:タイトル名の「フィルター」が「フィスター」になっていましたので、修正しました。
Yasumi - 投稿数: 380
それ条件式が間違っているだけですね。下記にしてみてください。
Windows.*Push.*Notifications.*User.*Service.*
zazabi - 投稿数: 26
Yasumi さん
アドバイスありがとうございます。
下記の内容に変更して確認してみましたが、変わらず取得しています……。
▼正規表現設定
名前:Exclusion_service
条件式の形式:結果が偽
条件式:Windows.*Push.*Notifications.*User.*Service.*
※他にも条件式はありますが、関係していないように見えますので割愛しています。
また、ディスカバリルールのフィルターに直接下記のように記載もしてみましたが除外できませんでした。
※下記の記載をしないまま保存してしまったので、一度編集で追加しています。
フィルター設定
計算のタイプ カスタム条件式 A and B
ラベル マクロ
A {#SERVICE.DISPLAYNAME} 一致する @Exclusion_service
B {#SERVICE.DISPLAYNAME} 一致しない Windows.*Push.*Notifications.*User.*Service.*
Yasumi - 投稿数: 380
フィルター設定が間違っているように見えます。
Excludeする場合は「一致しない」ではないでしょうか。
また、テンプレートのデフォルト設定は下記のようになっていたと思います。
なので、下記のような設定に準じるのも手かと思います。
==================================================
{$SERVICE.NAME.MATCHES}
^.*$
{$SERVICE.NAME.NOT_MATCHES}
^RemoteRegistry|MMCSS|gupdate|SysmonLog|clr_optimization_v.+|clr_optimization_v.+|sppsvc|gpsvc|Pml Driver HPZ12|Net Driver HPZ12|MapsBroker|IntelAudioService|Intel\(R\) TPM Provisioning Service|dbupdate|DoSvc$
{$SERVICE.STARTUP.MATCHES}
^automatic|automatic delayed$
{$SERVICE.STARTUP.NOT_MATCHES}
^manual|disabled$
{#SERVICE.NAME} 一致する {$SERVICE.NAME.MATCHES}
{#SERVICE.NAME} 一致しない {$SERVICE.NAME.NOT_MATCHES}
{#SERVICE.STARTUPNAME} 一致する {$SERVICE.STARTUP.MATCHES}
{#SERVICE.STARTUPNAME} 一致しない {$SERVICE.STARTUP.NOT_MATCHES}
==================================================