proc.numのアイテムでコマンドライン部分をAND条件で指定する方法
Centos6
Zabbix2.2.10
お世話になっております。
プロセス監視で、コマンドライン部分をAND条件で指定したいのですが、そういったことは可能でしょうか。
試しにJavaGatewayのプロセスを「正規表現の設定」でAND条件の正規表現を作成し、アイテムのコマンドライン部分を@proc-test のようにしたのですが値が0でした。
proc.num[,,,@proc-test] : 結果0
また、「-Dzabbix\.pidFile=\/var\/run\/zabbix\/zabbix_java\.pid」のみは値が1となりますが、以下のようにすると値は0でした。
proc.num[,,,android-json-4.3_r3\.1\.jar -Dzabbix\.pidFile=\/var\/run\/zabbix\/zabbix_java\.pid] : 結果0
heya - 投稿数: 319
proc-test はどう設定してあって、どういうコマンドライン文字列を引っ掛けたいのですか?
kasugai - 投稿数: 72
heya様
情報不足しており失礼しました。
proc-testは以下のように設定しています。
ーーー
android-json-4\.3_r3\.1\.jar 結果が真 大文字小文字を区別する
-Dzabbix\.pidFile=\/var\/run\/zabbix\/zabbix_java\.pid 結果が真 大文字小文字を区別する
ーーー
また、試しに引っかけたいのは以下になります。
ーーー
# ps -ef | grep java
zabbix 1582 1 0 2017 ? 01:58:49 java -server -classpath lib:lib/android-json-4.3_r3.1.jar:lib/logback-classic-0.9.27.jar:lib/logback-core-0.9.27.jar:lib/slf4j-api-1.6.1.jar:bin/zabbix-java-gateway-2.2.11.jar -Dzabbix.pidFile=/var/run/zabbix/zabbix_java.pid com.zabbix.gateway.JavaGateway
ーーー
heya - 投稿数: 319
見たところおかしくはなさそうなので、それでできそうな気はするんですけどね・・・。
無理に正規表現のパターンでなくてもよさそうなので、試しに \ を外して、「結果が真」を「文字列が含まれる」にしてみてはどうでしょうか。
あとは、proc-test で、android-~ と -Dzabbix~ の両方ではなく、片方だけを書いて試してみるのもいいと思います(どちらかを書き間違えていたならこれで気づける)。
kasugai - 投稿数: 72
片方ずつだと上手くいくのですが、両方だとダメでした。
別プロジェクトの火消しで検証する時間が取れなくなってしまいましたが、一旦以下のようなもので取れました。
(android-json-4.3_r3\.1\.jar.*-Dzabbix\.pidFile=\/var\/run\/zabbix\/zabbix_java\.pid|-Dzabbix\.pidFile=\/var\/run\/zabbix\/zabbix_java\.pid.*android-json-4.3_r3\.1\.jar)
yk_taiko - 投稿数: 184
関係あるかは不明ですが、、、
POSIX拡張正規表現では「/」はエスケープ不要ですね