This is the documentation page for an unsupported version of Zabbix.
Is this not what you were looking for? Switch to the current version or choose one from the drop-down menu.

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

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

例1

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

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

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