UserParameter設定で引数の引き渡しが出来ない件

いつもお世話になっております。

ZabbixエージェントのUserParameter設定で
下記の様に引数付のアイテムを作成して監視をしようとしているのですが
アイテムが「取得不可」のステータスになってしまうため、質問させて頂きたいです。

■Zabbixアイテムキー
mysql.status[Questions]

■ユーザパラメータ記述
UserParameter=mysql.status[*],/usr/bin/mysqladmin --defaults-extra-file=/etc/zabbix/zabbix_my.cnf extended-status | grep -w $1 | awk '{printf $4}'

下記の様にgrepする文字列を直接記入すれば値が取れるのですが
「$1」のように引数で引き渡すと値が取れなくなってしまいます。
■値が取れる場合
UserParameter=mysql.bytes_received,/usr/bin/mysqladmin --defaults-extra-file=/etc/zabbix/zabbix_my.cnf extended-status | grep -w Bytes_received | awk '{printf $4}'

マニュアルを確認したところ、

「エージェントデーモン設定オプションが有効ではない場合、
' ・` * ? [ ] \{ \} ~ $ ! & ; ( ) < > | # @などの記号を含む引数付きパラメータを渡すことはできません。[ ] { } ~ $ !& ; ( ) < > | # @ 」

といった記述があり、何か追加設定が必要なのかと感じたのですが
UserParameterを使うにあたって必要な設定項目などございますでしょうか?
https://www.zabbix.com/documentation/1.8/jp/manual/config/user_parameters

使用しているZabbixエージェントは
zabbix-agent-1.8.5-1.el5.JP.x86_64です。

お手数をお掛けしてしまい申し訳ございませんが
解決策などございましたら、ご教示頂きたく存じます。

コメント表示オプション

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

自己解決いたしました。

下記の部分をシェルスクリプトにして
ユーザパラメータに
UserParameter=mysql.status[*],/etc/zabbix/test.sh $1
の様に記述する事で値が取れました。

■シェルスクリプト内コマンド
/usr/bin/mysqladmin --defaults-extra-file=/etc/zabbix/zabbix_my.cnf extended-status | grep -w $1 | awk '{printf $4}'

お騒がせいたしました。

ユーザー KAZ の写真

moritakeさん

ちょっと違うかもしれませんが過去ログにも書かれていたりします。A(^^;
http://www.zabbix.jp/node/2673

ユーザー zinten の写真

moritakeさん

解決しているようですが。。。。

>「エージェントデーモン設定オプションが有効ではない場合、
>' ・` * ? [ ] \{ \} ~ $ ! & ; ( ) < > | # @などの記号を含む引数付きパラメータを渡すことはできません。[ ] { } ~ $ !& ; ( ) < > | # @ 」
これらのパラメータを含む場合、
Zabbixエージェントのconfで「UnsafeUserParameters」を1に設定することで実行できるようになるようです。

パラメータに関しては以下のページ参照のこと。
https://www.zabbix.com/documentation/1.8/manual/processes/zabbix_agentd