エージェント
概要
Zabbix エージェントは監視対象に配置され、ローカルのリソースやアプリケーション(ハードドライブ、メモリ、プロセッサの統計情報など)をアクティブに監視します。
エージェントはローカルで稼働情報を収集し、さらなる処理のためにデータを Zabbix サーバーへ報告します。 障害(ハードディスクの容量がいっぱいになった場合や、サービスプロセスがクラッシュした場合など)が発生すると、Zabbix サーバーは障害を報告した特定のマシンの管理者にアクティブに通知できます。
Zabbix エージェントは、統計情報の収集にネイティブのシステムコールを使用するため、非常に効率的です。
1つのホスト上でエージェントの複数のインスタンスを実行できます。
関連項目:
- パッシブチェックとアクティブチェックのプロトコル
- rootとしてエージェントを実行する
- 設定パラメータ: Zabbix エージェント
- 設定パラメータ: Zabbix エージェント(Windows)
- Microsoft Windows上のZabbix エージェント
- IBM AIX上のZabbix エージェント
パッシブチェックとアクティブチェック
Zabbix エージェントは、パッシブチェックとアクティブチェックを実行できます。
- パッシブチェック - Zabbix エージェントは、Zabbix サーバー(またはプロキシ)からの要求に応答します。
たとえば、サーバーがデータ(CPU負荷など)を要求し、エージェントが結果を返します。 - アクティブチェック - Zabbix エージェントは、Zabbix サーバー(またはプロキシ)からの要求を待たずにデータを収集して送信します。
まず、サーバーから監視対象のアイテム一覧(CPU負荷、使用可能メモリなど)を取得し、その後、必要なデータを収集して、新しい値を定期的に返送します。
エージェントのチェックタイプは、該当する監視アイテムタイプを選択して設定します。
Zabbix エージェントは、Zabbix agent または Zabbix agent (active) タイプのアイテムを処理します。
サポート対象プラットフォーム
サポート対象プラットフォームについては、要件ページを参照してください。
Unix系システム上のエージェント
Unix系システム上の Zabbix エージェントは、監視対象のホスト上で実行されます。
インストール
Zabbix エージェントは、Linux ベースのシステムに次のいずれかの方法でインストールできます。
- Zabbix パッケージ - Agent コンポーネントを選択し(Zabbix のバージョン、OS ディストリビューション、OS のバージョンを選択した後)、表示される手順に従います。
- Zabbix ソース - ソースファイルをダウンロードし、
--enable-agentオプションを指定してソースを設定し、Zabbix エージェントをコンパイルします。
一般的に、32 ビットの Zabbix エージェントは 64 ビットのシステムで動作しますが、場合によっては失敗することがあります。
macOS、IBM AIX、FreeBSD、OpenBSD、Solaris 用のコンパイル済み Zabbix エージェントバイナリは、ダウンロードできます。 現在の Zabbix サーバー/プロキシのバージョンと互換性のあるレガシーバイナリは、NetBSDおよびHP-UXで利用できます。 IBM AIX にエージェントをインストールして実行する方法については、IBM AIX 上の Zabbix エージェントを参照してください。
パッケージとしてインストールした場合
Zabbixエージェントはデーモンプロセスとして動作します。 エージェントは以下のコマンドで起動できます。
systemctl start zabbix-agent
これはほとんどのGNU/Linuxシステムで動作します。 他のシステムでは、以下のコマンドを実行する必要があるかもしれません。
/etc/init.d/zabbix-agent start
Zabbixエージェントを停止、再起動、またはステータスを確認するには、以下のコマンドを使用します。
systemctl stop zabbix-agent
systemctl restart zabbix-agent
systemctl status zabbix-agent
バイナリアーカイブからインストールした場合
アーカイブを展開した後、zabbix_agentd バイナリと zabbix_agentd.conf 設定ファイルを探します。
アーカイブ内の場所はプラットフォームによって異なります(例: sbin/ と conf/、または usr/sbin/ と etc/zabbix/)。
展開したディレクトリからバイナリを直接実行し、-c オプションで設定ファイルを指定します。
例:
/opt/zabbix/sbin/zabbix_agentd -c /opt/zabbix/etc/zabbix/zabbix_agentd.conf
UNIX系システムでは、Zabbix エージェントは root 以外のユーザーで実行されるように設計されています。
root として起動した場合、設定ファイルで AllowRoot=1 が設定されていない限り、zabbix ユーザー(または User パラメータで指定されたユーザー)に切り替わります。
このユーザーがシステムに存在している必要があります。存在しない場合、エージェントは起動しません。
IBM AIX では、エージェントを System Resource Controller(SRC)で実行し、システム起動時に開始することもできます。詳細については、IBM AIX上のZabbixエージェントを参照してください。
手動で起動する
zabbix_agentdバイナリを直接実行して、Zabbixエージェントを起動できます。例:
zabbix_agentd
zabbix_agentdを含むディレクトリがPATHに含まれている場合に機能します。
Windowsシステム上のエージェント
Windows上のZabbixエージェントは、Windowsサービスとして動作します。
インストール
Zabbix エージェントは、Windows では次のいずれかの方法でインストールできます。
- 事前コンパイル済みの Zabbix エージェントバイナリ - Zabbix エージェントの MSI インストーラーパッケージをダウンロードし、MSI からの Windows エージェントのインストール ページの手順に従います。
- Zabbix ソース - ソースファイルをダウンロードし、Windows での Zabbix エージェントのビルド ページの手順に従います。
Zabbix エージェントを Windows サービスとしてインストールする方法(ZIP アーカイブから)についての追加情報は、Microsoft Windows 上の Zabbix エージェント ページを参照してください。
オプション
Zabbix エージェントでは、次のコマンドラインパラメータを使用できます。
| パラメータ | 説明 |
|---|---|
| UNIX および Windows エージェント | |
-c --config <config-file> |
設定ファイルへのパス。 デフォルト以外の設定ファイルを指定する場合に使用できます。 |
-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 エージェントサービスを停止します。 |
コマンドラインパラメータの使用例:
- 値を含む、組み込みエージェントアイテムをすべて出力する。
- 指定した設定ファイルで
mysql.pingキーが定義されているユーザーパラメータをテストする。 - 設定ファイルのデフォルトパスを使用して、Windows 用の Zabbix Agent サービスをインストールする。
- エージェント実行ファイルと同じフォルダーにある設定ファイルを使用して、Windows 用の Zabbix Agent [Hostname] サービスをインストールし、設定ファイルの
Hostnameの値をサービス名に追加して一意にする。 - エージェント実行ファイルと同じフォルダーにある設定ファイルを使用して、インストール済みの Windows 用 Zabbix Agent サービスのスタートアップの種類を変更する。
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>] |
ログレベルを上げます。 target を指定しない場合、すべてのプロセスが影響を受けます。 |
対象は次のように指定できます。 プロセスタイプ - 指定したタイプのすべてのプロセス(例: listener)すべてのエージェントプロセスタイプを参照してください。 プロセスタイプ,N - プロセスタイプと番号(例: listener,3)pid - プロセス識別子( 1~65535)。これより大きい値を指定する場合は、対象を「プロセスタイプ,N」の形式で指定してください。 |
log_level_decrease[=<target>] |
ログレベルを下げます。 target を指定しない場合、すべてのプロセスが影響を受けます。 |
|
userparameter_reload |
現在の設定ファイルから、UserParameterおよびIncludeオプションの値を再読み込みします。 |
例:
- すべてのプロセスのログレベルを上げる
- 3番目のリスナープロセスのログレベルを上げる
- PID 1234のプロセスのログレベルを上げる
- すべてのアクティブチェックプロセスのログレベルを下げる
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」ユーザーに切り替わります。このユーザーはシステム上に存在している必要があります。
エージェント設定ファイルの AllowRoot パラメータを適切に変更した場合にのみ、「root」としてエージェントを実行できます。
設定ファイル
設定ファイルのデフォルトパスは、オペレーティングシステムとZabbixのインストール方法によって異なります。
- UNIXの場合、デフォルトは次のとおりです。
- ソースからインストールした場合:
/usr/local/etc/zabbix_agentd.conf、またはコンパイル時の変数--sysconfdirまたは--prefixで設定したパス。 - パッケージまたはアプライアンスからインストールした場合:
/etc/zabbix/zabbix_agentd.conf。
- ソースからインストールした場合:
- Windowsの場合、デフォルトは
C:\Program Files\Zabbix Agent\zabbix_agentd.confです。
ホスト上でエージェントのインスタンスを1つだけ実行している場合は、デフォルトの設定ファイル、またはコマンドラインで指定した設定ファイルを使用できます。 複数のインスタンスを実行する場合は、各エージェントインスタンスに専用の設定ファイルが必要です(いずれかのインスタンスではデフォルトの設定ファイルを使用できます)。
Zabbixエージェントの設定の詳細については、UNIX版ZabbixエージェントまたはWindows版Zabbixエージェントの設定ファイルオプションを参照してください。
ロケール
エージェントは UTF-8 ロケールを必要とするため、一部のテキスト系エージェントアイテムが期待どおりの内容を返せるようにしてください。 ほとんどの最新の Unix 系システムでは UTF-8 ロケールがデフォルトですが、明示的に設定する必要があるシステムもあります。
終了コード
Zabbix エージェントは、正常終了の場合に 0 を返し、失敗の場合に 1 を返します。