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.<PluginName>.Capacity
は引き続きサポートされていますが、Zabbix6.0では非推奨になっています。
Passive checks work similarly to Zabbix agent. Active checks support scheduled/flexible intervals and check concurrency within one active server.
By default, after a restart, Zabbix agent 2 will schedule the first data collection for active checks at a conditionally random time within the item's update interval to prevent spikes in resource usage. To perform active checks that do not have Scheduling update interval immediately after the agent restart, set ForceActiveChecksOnStart
parameter (global-level) or Plugins.<Plugin name>.System.ForceActiveChecksOnStart
(affects only specific plugin checks) in the configuration file. Plugin-level parameter, if set, will override the global parameter. Forcing active checks on start is supported since Zabbix 6.0.2.
Checks from different plugins can be executed concurrently. The number of concurrent checks within one plugin is limited by the plugin capacity setting. Each plugin may have a hardcoded capacity setting (100 being default) that can be lowered using the Plugins.<PluginName>.System.Capacity=N
setting in the Plugins configuration parameter. Former name of this parameter Plugins.<PluginName>.Capacity
is still supported, but has been deprecated in Zabbix 6.0.
Zabbixエージェント2は以下のプラットフォームでサポートされています:
Zabbixエージェント2はコンパイル済みのZabbixパッケージが用意されています。 Zabbixエージェント2をソースからコンパイルするときには、configure実行時に --enable-agent2
オプションを指定してください。
Zabbixエージェント2では次のコマンドラインパラメータを使用できます。
パラメーター | 説明 |
---|---|
-c --config <config-file> | 設定ファイルへのパスを指定します。 このオプションを使用してデフォルトではない設定ファイルを指定できます。 UNIXの場合、デフォルトは/usr/local/etc/zabbix_agent2.confであるか、コンパイル時の変数--sysconfdir または --prefixで設定されます。 |
-f --foreground | Zabbixエージェントをフォアグラウンドで実行します(デフォルト:true) |
-p --print | 既知のアイテムを出力して終了します。 注:ユーザーパラメーターの結果も返すには、(デフォルトの場所にない場合は)構成ファイルを指定する必要があります。 |
-t --test <アイテムキー> | 指定されたアイテムをテストして終了します。 注:ユーザーパラメーターの結果も返すには、(デフォルトの場所にない場合は)構成ファイルを指定する必要があります。 |
-h --help | ヘルプを出力して終了します |
-v --verbose | デバッグ情報を出力します。 このオプションは -p および -t オプションとともに使用します。 |
-V --version | エージェントのバージョン番号を出力して終了します。 |
-R --runtime-control <option> | 管理機能を実行します。 ランタイム制御を参照してください。 |
コマンドラインパラメータの使用の具体的な例:
ランタイムコントロールは、リモートコントロールのためにいくつかのオプションを提供します。
オプション | 説明 |
---|---|
log_level_increase | ログレベルを上げます |
log_level_decrease | ログレベルを下げます |
metrics | 利用可能なメトリックを一覧表示します |
version | エージェントのバージョンを表示します |
userparameter_reload | 現在の設定ファイルからユーザーパラメータをリロードします。 リロードされるエージェント設定オプションはUserParameterのみであることに注意してください。 |
help | ランタイムコントロールのヘルプを表示します |
例:
エージェント2の設定パラメータは、いくつかの例外を除いて、Zabbixエージェントと互換性があります。
新しいパラメータ | 説明 |
---|---|
ControlSocket | ランタイムコントロールソケットパス。エージェント2はランタイムコマンドにコントロールソケットを使用します。 |
EnablePersistentBuffer, PersistentBufferFile, PersistentBufferPeriod |
これらのパラメーターは、アクティブなアイテムのエージェント2の永続ストレージを設定するために使用されます。 |
ForceActiveChecksOnStart | エージェントがアクティブチェックを再起動直後に実行するか、時間経過で均等に分散実行するかを決定します。 Zabbix6.0.2以降でサポートされています。 |
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で終了します。