0

私はこのシェルスクリプトを持っていますordem2.sh。コマンドラインで実行すると正常に動作します:

var="$( mysql -Ns -uzabbix -e 'select ordem from mon.vendas')"
echo $var

追加UserParameterします/etc/zabbix_agentd.conf

UserParameter=ordem2,/home/ordem2.sh

しかし、 を使用して zabbix 2.0 から情報を取得しようとするとzabbix_get -s 127.0.0.1 -p 10050 -k "ordem2"、戻り値が表示されません。このスクリプトの何が問題になっていますか?

4

1 に答える 1

3

問題は修正されました。

ステップ1

visudoおよびユーザーのzabbix追加を使用してsudoersを編集します/usr/bin/mysql

例:zabbix ALL=(ALL) NOPASSWD: /usr/bin/mysql,/usr/bin/nmap -O *

ステップ2

シェル スクリプトで mysql の前に sudo を追加します。

var="$( sudo /usr/bin/mysql -Ns -uzabbix -e 'select ordem from mon.vendas')"

これで、ユーザーzabbixエージェントを実行できmysqlます。

アレクサンドル・アルベス

于 2012-09-18T20:15:38.367 に答える