You are viewing documentation for the development version, it may be incomplete.
Join our translation project and help translate Zabbix documentation into your native language.

2 Zabbixエージェント

概要

Zabbixエージェントは、監視対象にデプロイされ、ローカルリソースやアプリケーション(ハードドライブ、メモリ、プロセッサの統計情報など)を積極的に監視します。

エージェントはローカルで運用情報を収集し、さらなる処理のためにZabbixサーバーにデータを報告します。障害(ハードディスクの容量不足やサービスプロセスのクラッシュなど)が発生した場合、Zabbixサーバーは障害を報告した特定のマシンの管理者に積極的にアラートを送信できます。

Zabbixエージェントは、統計情報の収集にネイティブのシステムコールを使用するため、非常に効率的です。

パッシブチェックとアクティブチェック

Zabbixエージェントは、パッシブチェックとアクティブチェックを行うことができます。

  • パッシブチェック - Zabbixエージェントは、Zabbixサーバー(またはプロキシ)からのリクエストに対して応答します。例えばサーバーがCPU loadのデータを要求すると、エージェントが結果を返します。
  • アクティブチェック - Zabbixエージェントは、Zabbixサーバー(またはプロキシ)からのリクエストを待たずにデータを収集および送信します。まず、サーバーから監視アイテムのリスト(CPU load、使用可能なメモリなど)を取得し、必要なデータを収集し、定期的に新しい値を送信します。

エージェントチェックタイプは、それぞれの監視アイテムのタイプを選択することで設定されます。Zabbixエージェントは、アイテムの"Zabbixエージェント"または"Zabbixエージェント(アクティブ)"のタイプを処理します。

サポートしているプラットフォーム

サポートしているプラットフォームについては、要件ページを参照してください。

UNIX系OS上のZabbixエージェント

UNIX系OS上のZabbixエージェントは、監視対象のホストで実行されます。

インストール

Zabbixエージェントは、以下のいずれかの方法でLinuxベースのシステムにインストールできます。

  • Zabbixパッケージ - Zabbixのバージョン、OSディストリビューション、OSバージョンを選択した後、エージェントコンポーネントを選択し、表示される手順に従ってください。
  • Zabbixソース - ソースファイルをダウンロードし、--enable-agentオプションでソースを設定してZabbixエージェントをコンパイルします。

一般的に、32ビットのZabbixエージェントは64ビットシステムでも動作しますが、場合によっては失敗することがあります。

macOS、IBM AIX、FreeBSD、OpenBSD、Solaris用の事前コンパイル済みZabbixエージェントバイナリはダウンロードできます。 現在のZabbixサーバー/プロキシバージョンと互換性のあるレガシーバイナリは、NetBSDおよびHP-UX向けに利用可能です。

パッケージでインストールした場合

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エージェントを起動できます。例:

zabbix_agentd

Windows上での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エージェントサービスを停止。

コマンドラインパラメータの具体的な:

  • すべての組み込みエージェントアイテムを値付きで表示
  • 指定した設定ファイルで定義された "mysql.ping" キーのユーザーパラメータをテスト
  • デフォルトの設定ファイルパス C:\Program Files\Zabbix Agent\zabbix_agentd.conf を使用してWindowsに "Zabbix Agent" サービスをインストール
  • エージェント実行ファイルと同じフォルダにある設定ファイル zabbix_agentd.conf を使用し、サービス名を設定ファイルのHostname値で拡張して一意にすることで、Windowsに "Zabbix Agent [Hostname]" サービスをインストール
  • エージェント実行ファイルと同じフォルダにある設定ファイル zabbix_agentd.conf を使用して、インストール済みの "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>] ログレベルを上げます。
ターゲットが指定されていない場合、すべてのプロセスが影響を受けます。
ターゲットは次のように指定できます:
process type - 指定されたタイプ (例 listener) のすべてのプロセス
すべてのエージェントプロセスタイプを参照してください。
process type,N - プロセスのタイプと数 (例: listener,3)<br >pid - プロセスID (1 ~ 65535)。より大きな値の場合は、'process-type,N'の指定方法にしてください。
log_level_decrease[=<target>] ログレベルを下げます。
ターゲットが指定されていない場合、すべてのプロセスが影響を受けます。
userparameter_reload 現在の構成ファイルからUserParameterおよびIncludeオプションの値を再ロードします。

例:

  • すべてのプロセスのログレベルを上げる
  • 3番目のlistenerプロセスのログレベルを上げる
  • 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'ユーザーに切り替わるため、'zabbix'ユーザーがシステム上に存在している必要があります。'root'として実行するためには、エージェントの設定ファイルの'AllowRoot'パラメーターを適切に変更する必要があります。

設定ファイル

Zabbixエージェントの設定の詳細については、Zabbixエージェント (UNIX)または Zabbixエージェント (Windows)の設定ファイルのオプションを参照してください。

ロケール

一部の文字型のエージェントアイテムで期待される値を返すには、UTF-8ロケールがエージェントに必要であることに注意してください。最新のUnixライクシステムのほとんどはデフォルトでUTF-8ロケールを持っていますが、一部のシステムでは具体的に設定する必要がある可能性があります。

終了コード

Zabbixエージェントは、正常に終了した場合は0を返し、失敗した場合は1を返します。