zabbix-agent2でのユーザーパラメータ中における$$1 の動作
zabbix-agent2 にて、ユーザーパラメータで下記のような設定を行ったところ、うまく動作しませんでした。
UserParameter=vfs.dir.size_day[*],sudo find $1 -daystart -mtime $2 -type f -printf "%s\n" |awk '{sum += $$1; printf("\r%d",sum) }; END{print""};'
zabbix_get -s127.0.0.1 -p10050 -k"vfs.dir.size_day[/var/log/,1]"
※zabbix-agent ならば、正常に値を返します。
仮にこのような設定をしたところ、$1 が展開されて応答が返ります。
UserParameter=vfs.dir.size_day[*],echo $$1
zabbix_get -s127.0.0.1 -p10050 -k"vfs.dir.size_day[/var/log/]"
$/var/log/
本来、$$1 と書いた場合は、 $1 として動作してほしいのですが、うまくいきません。
何か設定が必要でしょうか?
TNK - 投稿数: 4760
Zabbixエージェント2のバグとして報告されているようです。
現時点では修正予定が入っていないようですので、Voteして早く対
処してもらえるようにすることをご検討ください。
ZBX-17716 : Not possible to use awk with $-sign in UserParameter in agent2
https://support.zabbix.com/browse/ZBX-17716
mich - 投稿数: 3
ご返答ありがとうございます。
バグの報告があるとのこと、了解しました。
当面は zabbix-agent を利用することにします。
mich - 投稿数: 3
投稿の趣旨とは関係ないですが、上記でサンプルで書いたユーザーパラメータは、実際にアイテムとしてうまく値を取得できなかったため、下記のように修正してます。
UserParameter=vfs.dir.size_day[*],sudo find $1 -daystart -mtime $2 -type f -printf "%s\n" |awk 'BEGIN {sum = 0;} {sum += $$1;} END { print sum;}'