This is a translation of the original English documentation page. Help us make it better.

3 Zabbixエージェント2

概要

Zabbixエージェント2は新世代のZabbixエージェントであり、Zabbixエージェントの代わりに使用できます。 Zabbixエージェント2は次の目的で開発されました。

  • TCP接続の数を減らす
  • チェックの同時実行性改善
  • プラグイン拡張の簡易化。プラグインは次のようなことが可能です
    • 数行の単純なコードのみで構成される簡単なチェック
    • 長時間実行されるスクリプトと、データの定期的な返送を伴うスタンドアロンのデータ収集で構成される複雑なチェック
  • Zabbixエージェントのドロップイン代替品(以前のすべての機能をサポートするという点で)

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では非推奨になっています。

参照:プラグイン開発ガイドライン

サポートされているプラ​​ットフォーム

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> 管理機能を実行します。 ランタイム制御を参照してください。

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

  • すべての組み込みエージェントアイテムの値を出力します
  • 指定された設定ファイルで定義された"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のみであることに注意してください。
help ランタイムコントロールのヘルプを表示します

例:

  • エージェント2のログレベルを上げます
  • ランタイムコントロールオプションを出力します
shell> zabbix_agent2 -R log_level_increase
       shell> zabbix_agent2 -R 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で終了します。