正規表現について
毎度お世話になっております。
Zabbix 2.2にて正規表現を使用しログ監視を行おうとしています。
正規表現の正否確認方法として、Zabbixに備わっている正規表現テストと
サクラエディタの正規表現を使用したgrepを使いました。
結果、正しく絞り込みが出来ました。
次に実際のログにメッセージを投入し、Zabbixで検知可能か確認をしたところ
検知が出来ませんでした。
正規表現を使用したログ監視の際にZabbix側で特別な設定を行う必要があったりするのでしょうか。
また、テストでは正しく動くが実機では検知できない場合確認すべき箇所はありますでしょうか。
ご助力お願い致します。
TNK - 投稿数: 4755
特別な設定はありません。
設定方法に誤りがあると思われますので、どのような正規表現を利
用してアイテムやトリガーを設定し、どのようなログが出力された
のを検知したいのか、より具体的な情報を可能な限りご提示くださ
い。
----- 追記 -----
改めて確認してみましたが、確かに2.2のWebインターフェースでは
PCRE(Perl互換の正規表現)を使っているようですね。
そうだとすると、ZabbixサーバーとZabbixエージェントで使用して
いるPOSIX拡張正規表現とは違いがあるので、POSIX拡張正規表現で
でサポートしている表記にする必要があります。
ご参考:
POSIX 正規表現との違い
http://jp2.php.net/manual/ja/reference.pcre.pattern.posix.php
Regexp Syntax Summary
http://www.greenend.org.uk/rjk/tech/regexp.html
ちなみに、Zabbix 3.4からWebインターフェースとZabbixサーバー
やZabbixエージェントで利用する正規表現がPCREに統一されていま
す。
ZBX-3924 : frontend and daemons use different regexps
https://support.zabbix.com/browse/ZBX-3924
PCRE library for regular expressions
https://www.zabbix.com/documentation/3.4/manual/installation/upgrade_not...
yk_taiko - 投稿数: 184
2.2 では Zabbx のwebインターフェース上の正規表現テストと、実際にZabbixが処理する際の正規表現の種類が異なっています。
webインターフェース上:PCRE
実際の処理:POSIX拡張正規表現(各OSに準拠)
POSIX 拡張正規表現で評価できる内容で記載されていますでしょうか。
otakon1012 - 投稿数: 30
TNKさん taikoさん
ご回答ありがとうございます。
WEBインターフェースとエージェントで異なる事があるというなので
現在使用している正規表現がPOSIX非対応の形式になっていないか確認をしてみます。
また、疑問点があった際には追加で質問させていただきます。