リモートコマンドにより、監視しているホストで、ある条件を満たした時にあらかじめ設定したコマンドを自動的に実行されるようにできます。
そのため、リモートコマンドは、スマートで能動的な監視のための強力なメカニズムです。
以下は、利用する機能の主な利用方法です。
リモートコマンドにアクションを設定する方法は、メッセージを送信する方法に類似していますが、1つの違いは、Zabbixがメッセージを送信する代わりにコマンドを実行することです。
リモートコマンドは、255文字に制限されています。複数のコマンドを次々に実行することができます。その場合、それらを新しい行に配置していきます。リモートコマンドにマクロが含まれている可能性があります。
このチュートリアルでは、リモートコマンドを設定する方法に関して、ステップバイステップで提供します。
Zabbixエージェントで実行されるリモートコマンド(カスタムスクリプト)は、個別のzabbix_agentd.confにおいて、有効化しておきます。
EnableRemoteCommandsパラメータが1に設定され、コメントになっていないことを確認します。このパラメータを変更する場合、エージェントデーモンを再起動します。
[設定]→[アクション]で新しいアクションを設定するには:
例:
sudo /etc/init.d/apache restart
この場合、ZabbixはApacheプロセスを再起動します。このコマンドでは、コマンドがZabbixエージェントで実行されることを確認できます([次で実行]ラジオボタンをマークします)。
system.run[,nowait]キーによって、タイムアウトなしにリモートコマンドがZabbixエージェントで実行されます。Zabbixサーバでは、リモートコマンドは、zabbix_server.confファイルで設定されているTrapperTimeoutパラメータに従って、実行されます。
「zabbix」ユーザーに、設定したコマンドに対する実行権限があることを確認してください。特権コマンドへのアクセス権を付与するために、sudoを使用することもできます。アクセスを設定する場合、ルートとして実行します。
# visudo
sudoersファイルで使用されるコマンドラインの例:
# allows 'zabbix' user to run all commands without password. zabbix ALL=NOPASSWD: ALL
# allows 'zabbix' user to restart apache without password. zabbix ALL=NOPASSWD: /etc/init.d/apache restart
ターゲットシステムが選択したタイプ(ZabbixエージェントまたはIPMI)の複数のインターフェースを有している場合、リモートコマンドはデフォルトのインターフェースで実行されます。
ある条件でWindowsを再起動します。
Zabbixが障害を検出した場合にWindowsを再起動するために、以下のアクションを定義します。
パラメータ | 説明 |
---|---|
実行内容のタイプ | 「リモートコマンド」 |
タイプ | 「カスタムスクリプト」 |
コマンド | c:\windows\system32\shutdown.exe -r -f |
IPMIコントロールを使用してホストを再起動します。
パラメータ | 説明 |
---|---|
実行内容のタイプ | 「リモートコマンド」 |
タイプ | 「IPMI」 |
コマンド | reset on |
IPMIコントロールを使用してホストの電源をオフにします。
パラメータ | 説明 |
---|---|
実行内容のタイプ | 「リモートコマンド」 |
タイプ | 「IPMI」 |
コマンド | power off |
本ページは2014/08/05時点の原文を基にしておりますので、内容は必ずしも最新のものとは限りません。
最新の情報は、英語版のZabbix2.2マニュアルを参照してください。