Zabbixエージェント2は新世代のZabbixエージェントであり、Zabbixエージェントの代わりに使用できます。 Zabbixエージェント2は次の目的で開発されました。
Zabbixエージェント2はGo言語で記述されています(ZabbixエージェントのCコードが再利用されています)。Zabbixエージェント2をビルドするには、現在サポートされているGoバージョンで構成されたGo環境が必要です。
Zabbixエージェント2には、Linux向け組み込みデーモン化サポートがありません。WindowsではWindowsサービスとして実行できます。
パッシブチェックはZabbixエージェントと同様に機能します。アクティブチェックは、スケジュールされた柔軟な間隔設定をサポートし、アクティブサーバー内の同時実行性をチェックします。
デフォルトでは、Zabbixエージェント2は、リソース使用量の急増を防ぐために、アイテムの更新間隔内の条件付きランダム時間にアクティブチェックの最初のデータ収集をスケジュールします。エージェントの再起動直後に予定された更新確認間隔にないアクティブチェックを実行するには、構成ファイルでForceActiveChecksOnStartパラメーター(グローバルレベル)またはPlugins.<プラグイン名>.System.ForceActiveChecksOnStart(特定のプラグインチェックにのみ影響します)を設定します。プラグインレベルのパラメータが設定されている場合、グローバルパラメータを上書きします。 Zabbix 6.0.2以降、起動時にアクティブチェックを強制することがサポートされています。
異なるプラグインからのチェックを同時に実行できます。 1つのプラグイン内の同時チェック数は、プラグイン容量設定によって制限されます。各プラグインにはハードコードされた容量設定(デフォルトは100)があり、プラグイン設定パラメーターのPlugins.<プラグイン名>.System.Capacity=Nを使用して下げることができます。このパラメータの以前の名前Plugins.<プラグイン名>.Capacityは引き続きサポートされていますが、Zabbix6.0では非推奨になっています。
Zabbixエージェント2は以下のプラットフォームでサポートされています。
Zabbixエージェント2をインストールする方法はいくつかあります :
Windows :
Linux :
--enable-agent2構成オプションを指定してソースを構成する必要があることに注意してください。Zabbixエージェント2の監視機能は、プラグインを使用して拡張できます。組み込みプラグインはすぐに使用できますが、ロード可能なプラグインは個別にインストールする必要があります。詳細については、プラグインを参照してください。
Zabbixエージェント2では次のコマンドラインパラメータを使用できます。
| パラメーター | 説明 | 
|---|---|
| -c --config <config-file> | 設定ファイルへのパスを指定します。 このオプションを使用してデフォルトではない設定ファイルを指定できます。 UNIXの場合、デフォルトは/usr/local/etc/zabbix_agent2.confであるか、コンパイル時の変数--sysconfdir または --prefixで設定されます。 | 
| -f --foreground | Zabbixエージェントをフォアグラウンドで実行します(デフォルト: true)。 | 
| -p --print | 既知のアイテムを出力して終了します。 注: ユーザーパラメーターの結果も返すには、(デフォルトの場所にない場合は)構成ファイルを指定する必要があります。 | 
| -t --test <item key> | 指定されたアイテムをテストして終了します。 注: ユーザーパラメーターの結果も返すには、(デフォルトの場所にない場合は)構成ファイルを指定する必要があります。 | 
| -h --help | ヘルプを出力して終了します。 | 
| -v --verbose | デバッグ情報を出力します。 このオプションは -p および -t オプションとともに使用します。 | 
| -V --version | エージェントのバージョン番号を出力して終了します。 | 
| -R --runtime-control <option> | 管理機能を実行します。 ランタイム制御を参照してください。 | 
コマンドラインパラメータの使用の具体的な例:
すべての組み込みエージェントアイテムの値を出力します
指定された設定ファイルで定義された"mysql.ping"キーを使用してユーザーパラメータをテストします
shell> zabbix_agent2 --print shell> zabbix_agent2 -t "mysql.ping" -c /etc/zabbix/zabbix_agentd.conf
ランタイムコントロールは、リモート制御のためのいくつかのオプションを提供します。
| オプション | 説明 | 
|---|---|
| log_level_increase | ログレベルを上げます。 | 
| log_level_decrease | ログレベルを下げます。 | 
| metrics | 利用可能なメトリックを一覧表示します。 | 
| version | エージェントのバージョンを表示します。 | 
| userparameter_reload | 現在の設定ファイルからUserParameterおよびIncludeオプションの値を再ロードします。 | 
| help | ランタイムコントロールのヘルプを表示します。 | 
例:
Zabbixエージェント2の設定パラメータは、いくつかの例外を除いて、Zabbixエージェントと互換性があります。
| 新しいパラメータ | 説明 | 
|---|---|
| ControlSocket | ランタイムコントロールソケットパス。エージェント2はランタイムコマンドにコントロールソケットを使用します。 | 
| EnablePersistentBuffer, PersistentBufferFile, PersistentBufferPeriod | これらのパラメーターは、アクティブなアイテムのエージェント2の永続ストレージを設定するために使用されます。 | 
| ForceActiveChecksOnStart | エージェントがアクティブチェックを再起動直後に実行するか、時間経過で均等に分散実行するかを決定します。 | 
| Plugins | プラグインは Plugins.<プラグイン名>.<Parameter>=<value>の形式で独自のパラメータを設定できます。一般的なプラグインパラメータはSystem.Capacityで、同時に実行できるチェックの制限を設定します。 | 
| StatusPort | ポートエージェント2は、HTTPステータスリクエストをリッスンし、設定されたプラグインといくつかの内部パラメーターのリストを表示します。 | 
| 削除されたパラメータ | 説明 | 
| AllowRoot, User | デーモン化がサポートされていないため、サポートされていません。 | 
| LoadModule, LoadModulePath | ロードモジュールはサポートされていません。 | 
| StartAgents | このパラメータは、Zabbixエージェントではパッシブチェックの同時実行性を高めたり無効にしたりするために使用されていました。エージェント2では、同時実行はプラグインレベルで設定され、容量設定によって制限できます。一方、パッシブチェックの無効化は現在サポートされていません。 | 
| HostInterface, HostInterfaceItem | まだサポートされていません。 | 
詳細についてはzabbix_agent2の設定ファイルオプションを参照してください。
バージョン4.4.8以降、Zabbixエージェント2は古いOpenSSLバージョン(1.0.1、1.0.2)でコンパイルすることもできます。
この場合、ZabbixはOpenSSLでロックするためのミューテックスを提供します。ミューテックスのロックまたはロック解除が失敗した場合、エラーメッセージが標準エラーストリーム(STDERR)に出力され、エージェント2はそれぞれリターンコード2または3で終了します。