2 Agent

概要

ローカルリソースやアプリケーション(ハードディスクドライブ、メモリ、プロセッサの統計など)を能動的に監視するために、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 エージェントをコンパイルします。

一般的に、32bit版Zabbixエージェントは64bitのシステム上で動作しますが、場合によっては失敗する可能性があります。

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つのインスタンスはデフォルトの設定ファイルを使用できます)。

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"キーを使用したユーザー パラメータのテスト
  • Windows用の"Zabbix Agent"サービスをインストールする。デフォルトの設定ファイルへのパス C:\Program Files\Zabbix Agent\zabbix_agentd.conf
  • Windows用の"Zabbix Agent [Hostname]"サービスをインストールする。エージェントが実行可能な、同じ場所にある設定ファイルフォルダのzabbix_agentd.confをHostnameの値で拡張してサービス名を一意にする。
  • エージェントの実行可能ファイルと同じフォルダーにある構成ファイル zabbix_agentd.conf を使用して、インストールされている 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>] ログレベルを上げます。
ターゲットが指定されていない場合、すべてのプロセスが影響を受けます。
ターゲットは次のように指定できます:
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 でプロセスのログレベルを上げる
  • すべてのアクティブなチェックプロセスのログ レベルを下げる
shell> zabbix_agentd -R log_level_increase
       shell> zabbix_agentd -R log_level_increase=listener,3
       shell> zabbix_agentd -R log_level_increase=1234
       shell> 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 エージェントの設定の詳細については、設定ファイルのオプションを参照してください。 Zabbix エージェント (UNIX) または Zabbix エージェント (Windows)

ロケール

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

終了コード

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