2016-12-14 11 views
0

Zabbix APIで関数を実装しようとしていますが、基本的な要件は次のとおりです。create command script(文字列またはスクリプトファイルは両方ともOKです) 、サーバーまたはエージェントに関係なく) - >エージェントで実行します。リモートコマンドスクリプトの長さを増やす方法、またはzabbixのサーバーからエージェントにファイルを送信する方法

私は、リモートコマンドでそれを行うには2つの方法を見つける:

1)グローバルなスクリプトを:私は直接script.executeを呼び出すことによって、それを使用することができますが、「リモートコマンドは255文字までに制限されている」、それはするのに十分ではありません私たちの要求としてスクリプト/コマンドを作成します。 Pythonスクリプトが少し複雑であれば、#python -c "..."を実行することはできません。エージェント上で* .pyファイルを作成するためにシェルコマンドを使用すると、より多くの文字が必要になります。

グローバルスクリプトはスクリプトテーブルに保存されますが、長さを255から1024に変更することによってテーブル構造を変更することは、https://www.zabbix.com/forum/showthread.php?t=51869のコメントによれば良い考えではありません。

2)カスタムスクリプト:コマンド文字に制限はありませんが、アクションで設定する必要があり、トリガを待つ必要があります。

リモートコマンドでもエージェント上にスクリプトファイルを作成できますが、まだ便利ではありません。ZabbixサーバからZabbix独自の機能によってZabbixサーバからAgentにファイルを送信する方法はありますか?

私はZabbixフォーラムで質問したいと思いますが、新しい投稿/スレッドを作成する権限がありませんので、ここに行きます。

これについて私に何か助けてもらえますか?

答えて

1

これは実際に監視システムの機能ではありません。 system.runキーを悪用する可能性があります。〜200バイトブロックでターゲットスクリプトを分割し、リモートコマンドを実行してエージェントに連結させるスクリプトを作成するか、zabbix_getようにしてください(改行に注意してください):

zabbix_get -s target.host -k "system.run[echo \"$script_part\" >> /script_location]" 

これはかなり恐ろしいものです。

a feature request to introduce agent configuration management in Zabbixがありますが、私はすでに監視システムのタスクではないと言いましたか? Puppet,Chefなどのシステム管理ツールを調べるとよいでしょう。

関連する問題