Zabbixエージェントは、監視対象にデプロイされ、ローカルリソースやアプリケーション(ハードドライブ、メモリ、プロセッサの統計情報など)を積極的に監視します。
エージェントはローカルで運用情報を収集し、さらなる処理のためにZabbixサーバーにデータを報告します。障害(ハードディスクの容量不足やサービスプロセスのクラッシュなど)が発生した場合、Zabbixサーバーは障害を報告した特定のマシンの管理者に積極的にアラートを送信できます。
Zabbixエージェントは、統計情報の収集にネイティブのシステムコールを使用するため、非常に効率的です。
Zabbixエージェントは、パッシブチェックとアクティブチェックを行うことができます。
エージェントチェックタイプは、それぞれの監視アイテムのタイプを選択することで設定されます。Zabbixエージェントは、アイテムの"Zabbixエージェント"または"Zabbixエージェント(アクティブ)"のタイプを処理します。
サポートしているプラットフォームについては、要件ページを参照してください。
UNIX系OS上のZabbixエージェントは、監視対象のホストで実行されます。
Zabbixエージェントは、以下のいずれかの方法でLinuxベースのシステムにインストールできます。
--enable-agentオプションでソースを設定してZabbixエージェントをコンパイルします。一般的に、32ビットのZabbixエージェントは64ビットシステムでも動作しますが、場合によっては失敗することがあります。
macOS、IBM AIX、FreeBSD、OpenBSD、Solaris用の事前コンパイル済みZabbixエージェントバイナリはダウンロードできます。 現在のZabbixサーバー/プロキシバージョンと互換性のあるレガシーバイナリは、NetBSDおよびHP-UX向けに利用可能です。
Zabbixエージェントはデーモンプロセスとして実行されます。エージェントを起動するには以下を実行します。
これはほとんどのGNU/Linuxシステムで動きます。他のシステムでは、以下のように実行する必要がある場合があります。
Zabbixエージェントを停止/再起動/ステータス表示するには以下を実行します。
zabbix_agentdバイナリを見つけて直接実行することで、Zabbixエージェントを起動できます。例:
Windows上のZabbixエージェントは、Windowsサービスとして実行されます。
Zabbixエージェントは、次のいずれかの方法でWindowsにインストールできます。
Zabbixエージェント(ZIPアーカイブから)をWindowsサービスとしてインストールする追加の詳細については、Microsoft Windows上のZabbixエージェントページを参照してください。
1つのホストで複数のエージェントインスタンスを実行することができます。 1つのインスタンスはデフォルトの設定ファイルまたはコマンドラインで指定された設定ファイルを使用できます。 複数のインスタンスの場合、各エージェントインスタンスは独自の設定ファイルを持つ必要があります(インスタンスの1つはデフォルトの設定ファイルを使用できます)。
Zabbixエージェントで使用できるコマンドラインパラメータは以下の通りです。
| パラメータ | 説明 |
|---|---|
| UNIXおよびWindowsエージェント | |
| -c --config <config-file> | 設定ファイルへのパス。 このオプションを使用して、デフォルト以外の設定ファイルを指定できます。 UNIXの場合、デフォルトは /usr/local/etc/zabbix_agentd.conf または コンパイル時の変数 --sysconfdir または --prefix で設定されたもの Windowsの場合、デフォルトは C:\Program Files\Zabbix Agent\zabbix_agentd.conf |
| -f --foreground | Zabbixエージェントをフォアグラウンドで実行(デフォルト: true)。 |
| -p --print | 既知のアイテムを表示して終了。 注: ユーザーパラメータの結果も返すには、設定ファイルを指定する必要があります(デフォルトの場所にない場合)。 |
| -t --test <item key> | 指定したアイテムをテストして終了。 注: ユーザーパラメータの結果も返すには、設定ファイルを指定する必要があります(デフォルトの場所にない場合)。 |
| -T --test-config | 設定ファイルを検証して終了。 |
| -h --help | ヘルプ情報を表示。 |
| -V --version | バージョン番号を表示。 |
| UNIXエージェントのみ | |
| -R --runtime-control <option> | 管理機能を実行。 ランタイム制御を参照。 |
| Windowsエージェントのみ | |
| -m --multiple-agents | 複数のエージェントインスタンスを使用(-i, -d, -s, -x オプションと併用)。 インスタンスのサービス名を区別するため、各サービス名には指定した設定ファイルのHostname値が含まれます。 |
| -S --startup-type <value> | Zabbix Windowsエージェントサービスの起動タイプを設定。許可される値:automatic - (デフォルト) Windows起動時に自動的にサービスを開始;delayed - 自動起動サービスの起動完了後にサービスの開始を遅延(Windows Server 2008/Vista以降で利用可能);manual - サービスを手動で開始(ユーザーまたはアプリケーションによる);disabled - サービスを無効化し、ユーザーやアプリケーションによる開始を禁止。このオプションは-iオプションと併用、または既にインストール済みのサービスの起動タイプを変更するために単独で使用できます。 |
| -i --install | Zabbix Windowsエージェントをサービスとしてインストール。 |
| -d --uninstall | Zabbix Windowsエージェントサービスをアンインストール。 |
| -s --start | Zabbix Windowsエージェントサービスを開始。 |
| -x --stop | Zabbix Windowsエージェントサービスを停止。 |
コマンドラインパラメータの具体的な例:
zabbix_agentd --print
zabbix_agentd -t "mysql.ping" -c /etc/zabbix/zabbix_agentd.conf
zabbix_agentd.exe -i
zabbix_agentd.exe -i -m -c zabbix_agentd.conf
zabbix_agentd.exe -c zabbix_agentd.conf -S delayedランタイム制御オプションを使用すると、エージェントプロセスのログレベルを変更できます。
| オプション | 説明 | ターゲット |
|---|---|---|
| log_level_increase[=<target>] | ログレベルを上げます。 ターゲットが指定されていない場合、すべてのプロセスが影響を受けます。 |
ターゲットは次のように指定できます: process type - 指定されたタイプ (例 listener) のすべてのプロセス すべてのエージェントプロセスタイプを参照してください。 process type,N - プロセスのタイプと数 (例: listener,3)<br >pid - プロセスID (1 ~ 65535)。より大きな値の場合は、'process-type,N'の指定方法にしてください。 |
| log_level_decrease[=<target>] | ログレベルを下げます。 ターゲットが指定されていない場合、すべてのプロセスが影響を受けます。 |
|
| userparameter_reload | 現在の構成ファイルからUserParameterおよびIncludeオプションの値を再ロードします。 |
例:
zabbix_agentd -R log_level_increase
zabbix_agentd -R log_level_increase=listener,3
zabbix_agentd -R log_level_increase=1234
zabbix_agentd -R log_level_decrease="active checks"ランタイム制御は、OpenBSD、NetBSD、およびWindowsではサポートしません。
active checks - アクティブチェックを実行するプロセスcollector - データ収集のためのプロセスlistener - パッシブチェックをリッスンするプロセスこれらのプロセスタイプは、エージェントのログファイルで確認できます。
エージェントのログファイルは、ファイル所有者のみに読み書き権限で作成されます。さらに、ファイル所有者のグループにも読み取り可能です。他のすべての権限は拒否されます。
UNIX上のZabbixエージェントは、root以外のユーザーとして実行するように設計されていて、起動されたroot以外のユーザーとして実行されます。したがって、root以外のユーザーでエージェントを実行しても何も問題ありません。
'root'として実行しようとすると、ハードコードされた'zabbix'ユーザーに切り替わるため、'zabbix'ユーザーがシステム上に存在している必要があります。'root'として実行するためには、エージェントの設定ファイルの'AllowRoot'パラメーターを適切に変更する必要があります。
Zabbixエージェントの設定の詳細については、Zabbixエージェント (UNIX)または Zabbixエージェント (Windows)の設定ファイルのオプションを参照してください。
一部の文字型のエージェントアイテムで期待される値を返すには、UTF-8ロケールがエージェントに必要であることに注意してください。最新のUnixライクシステムのほとんどはデフォルトでUTF-8ロケールを持っていますが、一部のシステムでは具体的に設定する必要がある可能性があります。
Zabbixエージェントは、正常に終了した場合は0を返し、失敗した場合は1を返します。