UserParameterを使用したスクリプト実行に関しまして
UserParameter機能を使用し、スクリプトを実行したところ結果として空白が返ってくる状態です。
実際にスクリプトが配置してあるサーバーにてスクリプトを手動で実行すると数値が返ってきます。
正常に実行ができないスクリプトで単にecho 数字 のみの記載とするとzabbix側でも値の取得ができている状態です。
そのためスクリプトに何か問題があると考えています。
ちなみに同じサーバーの同じパスに他のスクリプトも配置している状態であり、そのスクリプトに関しましては正常に実行できており、結果が返ってきている状態です。
正常に実行できているスクリプトも、恐らく実行できていないスクリプトもrootで実行する必要があるものとなっており、両方とも結果はechoで出力されております。
スクリプトに実行権限も付与しています。
具体的には以下の状態となっており、zabbixにてアイテムを設定した状態においても、監視データ→最新データで確認したところ同様に何も値が表示されていない状態です。
zabbix.logやGUI上でも特にエラーは表示されておりません。
-----------------------
$ zabbix_get -s xxx.xxx.xxx.xxx. -k itemkey (正常に実行ができないスクリプト)
(数値が返ってくる想定なのですが何も返ってこない状態です)
$ zabbix_get -s xxx.xxx.xxx.xxx. -k itemkey2 (正常に実行ができるスクリプト)
1 (数値が返ってきます)
-----------------------
zabbix_agentd.confでは以下設定をしております。
Timeout=20
AllowRoot=1
UserParameter=itemkey,/root/test/xxx.sh
UserParameter=itemkey2,/root/test/yyy.sh
zabbixのバージョンは4.0.7となっています。
何かUserParameterを使用する場合にこのように不具合?が生じることはあるのでしょうか。
TNK - 投稿数: 4744
多くはOS上の権限の問題でコマンドが実行できずに結果が得られて
いないという場合が多いと思います。
AllowRootは設定されているようですが、エージェントがrootで起
動できているかや、それ以外のセキュリティ機能などによって制限
されていないかを確認してみてください。
また、xxx.shの中身がわからないのですが、手動で実行した場合と
Zabbixエージェント経由で実行した場合とで、環境変数が異なって
いると、その環境変数に依存した処理が正常に実行できない場合も
考えられますので、そのような影響がないかも確認してみてくださ
い。