UserParameterの引数に正規表現を指定したい

お世話になっております。

UserParameterを利用した監視を実現しようとしています。

 Zabbixバージョン:2.0.xベース?(MIRACLE ZBX 2.0.10)
 サーバ:CentOS 6.7
 クライアント:CentOS 6.7

下記のようなシェルスクリプトを用意しました。

 :省略
 
 case "$1"
 "case1")
  value="`ps -aux | grep -- $2`"
 ;;
  :省略
 esac
 
 echo "$value"

これを叩くUserParameterは

 UserParameter=grep_test[*],/etc/zabbix/script/grep_test.sh $1 $2

で、

 zabbix_get -s 127.0.0.1 -k grep_test[case1,"/usr/java/jdk1.6.0_25/bin/java .*"]

としたところ、何も返却されませんでした。
grep_testキーの第二引数に入力した文字列で直接grepすると正しい結果が得られることは確認済みです。

UserParameterで実行されるシェルスクリプトに echo $2 のようにデバッグコードを挟んでみたところ、
 /usr/java/jdk1.6.0_25/bin/java . .. .autofsck
と表示され、引数の内容が何かしら評価されているように見えます。

UserParameterでは正規表現を渡すことはできないのでしょうか?

※UnsafeUserParameters=1は設定済みです。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー fripper の写真

MIRACLE ZBX ならではの機能拡張やその他独自仕様については、残念ながら解りません
本家版との動作の違いについては、MIRACLE 社サポートへの質問をお願いします

本家版での 2.0.x エージェントの動作を見ている限りは、
アイテムキーの角括弧 [] に与えた引数部分は、UserParameter 処理段階で、
シェルが引数解釈をしてしまっているようです
書込でご報告頂いている動作、echo の結果を見る限りでは
「sh -c」か「eval」的な引数展開によって、アスタリスクが、
ファイル名のワイルドカードとして解釈・展開されてしまっているようです

バックスラッシュ(\) をアスタリスク直前に挟むと、シェル展開動作はスキップできるかもしれませんが
アイテム登録その他動作に影響が出る気がしますね‥

zabbix_get を利用する場合には、get に与える -k でのキー引数指定の段階での
シェルによる解釈・展開にも注意が必要でしょう
シングルクォートで、キー全体を括るなど‥。

ユーザー mkt の写真

返信ありがとうございます。

書込でご報告頂いている動作、echo の結果を見る限りでは
「sh -c」か「eval」的な引数展開によって、アスタリスクが、
ファイル名のワイルドカードとして解釈・展開されてしまっているようです

はい、そのような結果に見えます。
GUIのアイテム設定側で正規表現を指定するのは必須要件ではない(最低限シェルに埋め込む、で可)ので、代替手段を検討したいと思います。

ありがとうございました。