Zabbix Documentation 1.8

1.8
  2.0  2.2  2.4  3.0  3.2  3.4

User Tools

Site Tools


Sidebar

jp:manual:tutorials:remote_actions

3 リモートコマンド

ここでは、イベント発生時にあらかじめ定義したコマンドをリモート実行するように設定する詳細な手順について説明します。Zabbixは設定済みで、動作しているものとします。

ステップ1

Zabbixエージェントでリモートコマンドを有効にします。zabbix_agentd.confでパラメータEnableRemoteCommands=1が設定され、コメントアウトが解除されていることを確認してください。パラメータを変更した場合は、エージェントのデーモンをリスタートします。

ステップ2

[設定] → [アクション]でオペレーションタイプを選択して新規アクションを設定します。

以下のアクションパラメータに注意してください。

パラメータ 説明
オペレーションのタイプ 「リモートコマンド」を設定します。
リモートコマンド 1行に1つずつリモート実行するコマンドを指定します。例: host:/etc/init.d/apache restartリモートコマンドにはマクロも使用できます。

リモートコマンドの構文を以下に示します。

リモートコマンド 説明
<host>:<command> コマンド「command」はホスト「host」上で実行されます。
<group>#<command> コマンド「command」はホストグループ「group」に属する全てのホスト上で実行されます。

IPMIリモートコマンドの構文を以下に示します。

リモートコマンド 説明
<host>:IPMI <ipmi control> [value] この構文は、単一のホストでIPMIコマンドを実行するためのものです。サポートされているIPMIコントロール: 「reset」、「power」サポートされている値: 「on」、「off」、または数値(デフォルトは1)例: Server restart: host:IPMI reset on; Server reboot: host:IPMI power off
<group>#IPMI <ipmi control> [value] この構文は、ホストグループの全てのホストに対してIPMIコマンドを実行するためのものです。

Zabbixエージェントは、コマンドをバックグラウンドで実行します。Zabbixは、コマンドが正常に実行されたかどうかをチェックしません。

アクセス権

設定したコマンドを実行するパーミッションがユーザzabbixに付与されていることを確認する必要があります。sudoを使用して特権コマンドを実行できるようにする方法もあります。To configure access, execute as root:

# visudo 

Example lines that could be used in sudoers file:

#「zabbix」ユーザがパスワードなしですべてのコマンドを実行できるようにする設定
zabbix ALL=NOPASSWD: ALL
#「zabbix」ユーザがパスワードなしでapacheをリスタートできるようにする設定
zabbix ALL=(ALL) /etc/init.d/apache restart

リモートコマンドの文字数制限は、バージョン1.4以前では44バイト、1.4以降は255バイトです。

例1

特定の条件が成立したときにWindowsをリスタートするアクションの設定例

Zabbixが問題を検出した場合に自動的にWindowsをリスタートするには、以下のアクションを定義します。

パラメータ 説明
オペレーションのタイプ 「リモートコマンド」を設定します。
リモートコマンド host:c:\windows\system32\shutdown.exe –r –f
Replace 'host' with Zabbix hostname of Windows server.