[comment]: # ({d60be363-d60be363})
# 3 Zabbixエージェント2

[comment]: # ({/d60be363-d60be363})

[comment]: # ({0f43cc9f-734dc3ed})
#### 概要

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

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

Zabbixエージェント2はGo言語で記述されています(ZabbixエージェントのCコードが再利用されています)。Zabbixエージェント2をビルドするには、現在サポートする[Goバージョン](https://go.dev/doc/devel/release#policy)で構成されたGo環境が必要です。

Zabbixエージェント2には、Linux向け組み込みデーモン化サポートがありません。Windowsでは[Windowsサービス](/manual/appendix/install/windows_agent)として実行できます。

パッシブチェックはZabbixエージェントと同様に機能します。アクティブチェックは、スケジュールされた柔軟な間隔設定をサポートし、アクティブサーバー内の同時実行性をチェックします。

::: noteclassic
デフォルトでは、Zabbixエージェント2は、リソース使用量の急増を防ぐために、アイテムの更新間隔内の条件付きランダム時間にアクティブチェックの最初のデータ収集をスケジュールします。エージェントの再起動直後に*予定された*[更新確認間隔](/manual/config/items/item/custom_intervals#scheduling-interval)にないアクティブチェックを実行するには、[設定ファイル](/manual/appendix/config/zabbix_agent2)で`ForceActiveChecksOnStart`パラメーター(グローバルレベル)または`Plugins.<プラグイン名>.System.ForceActiveChecksOnStart`(特定のプラグインチェックのみに影響)を設定します。プラグインレベルのパラメーターが設定されている場合、グローバルパラメーターを上書きします。Zabbix 6.0.2以降、起動時にアクティブチェックを強制することがサポートされています。
:::

**同時実行性を確認してください**

異なるプラグインからのチェックを同時に実行できます。1つのプラグイン内の同時チェック数は、プラグイン容量設定によって制限されます。各プラグインにはハードコードされた容量設定(デフォルトは100)があり、*プラグイン*設定[パラメーター](＃configuration_file)の`Plugins.<プラグイン名>.System.Capacity=N`を使用して下げることができます。このパラメーターの以前の名前`Plugins.<プラグイン名>.Capacity`は引き続きサポートされていますが、Zabbix 6.0では非推奨になっています。

参照: [プラグイン開発ガイドライン](https://www.zabbix.com/documentation/guidelines/en/plugins)

[comment]: # ({/0f43cc9f-734dc3ed})

[comment]: # ({de756dcf-a2064519})
#### サポートするプラ​​ットフォーム

Zabbixエージェント2は以下のプラットフォームでサポートされています。

-   Windows ([Windows 10/Server 2016以降](/manual/installation/requirements#サポートするプラットフォーム)のすべてのバージョン) - [コンパイル済み実行バイナリ](https://www.zabbix.com/download_agents?version=6.0+LTS&os=Windows&os_version=Any&hardware=amd64&encryption=OpenSSL&packaging=MSI&show_legacy=0)か[Zabbixソース](https://www.zabbix.com/download_sources#60LTS)で提供
-   Linux - [ディストリビューション用パッケージ](https://www.zabbix.com/download?zabbix=6.0&os_distribution=alma_linux&os_version=9&components=agent_2&db=&ws=)か[Zabbixソース](https://www.zabbix.com/download_sources#60LTS)で提供

::: noteimportant
Zabbix 6.0.35以降、Go 1.22(およびそれ以降)はRHEL 6が提供するGCC 4.4.7と互換性がなく、コンパイルエラーが発生するため、Zabbixエージェント2パッケージは[RHEL 6](https://repo.zabbix.com/zabbix/6.0/rhel/6/x86_64/)では使用できなくなりました。
ただし、[Zabbixエージェントパッケージ](/manual/installation/install_from_packages/rhel)は引き続きサポートされていることに注意してください。
:::

[comment]: # ({/de756dcf-a2064519})

[comment]: # ({196fd4de-cabc0f5f})
#### インストール

Zabbixエージェント2をインストールする方法はいくつかあります:

Windows:

-    コンパイル済みのバイナリから - バイナリをダウンロードし、[MSIからのWindowsエージェントのインストール](/manual/installation/install_from_packages/win_msi)ページの指示に従います。
-    ソースから - [WindowsでのZabbixエージェント2の構築](/manual/installation/install/building_zabbix_agent_2_on_windows)を参照します。

Linux:

-    配付パッケージから - [Zabbixパッケージ](https://www.zabbix.com/download?zabbix=6.0&os_distribution=alma_linux&os_version=9&components=agent_2&db=&ws=)ページの指示に従います。このページは、ディストリビューションとエージェント2コンポーネントを選択することで利用できます。
-    ソースから - [ソースコードからのインストール](/manual/installation/install#ソースの構成)を参照してください。`--enable-agent2`構成オプションを指定してソースを構成する必要があることに注意してください。

::: noteclassic
Zabbixエージェント2の監視機能は、プラグインを使用して拡張できます。組み込みプラグインはすぐに使用できますが、ロード可能なプラグインは個別にインストールする必要があります。詳細については、[プラグイン](/manual/config/items/plugins#ロード可能)を参照してください。
:::

[comment]: # ({/196fd4de-cabc0f5f})

[comment]: # ({a3a7adc1-45c02f12})
#### オプション

Zabbixエージェント2では次のコマンドラインパラメーターを使用できます:

|パラメーター|説明|
|--|--------|
|-c --config <config-file>|設定ファイルへのパスを指定します。<br>このオプションを使用してデフォルトではない設定ファイルを指定できます。<br>UNIXの場合、デフォルトは/usr/local/etc/zabbix\_agent2.confであるか、[コンパイル時](/manual/installation/install#installing_zabbix_daemons)の変数*--sysconfdir*または*--prefix*で設定されます。|
|-f --foreground|Zabbixエージェントをフォアグラウンドで実行します(デフォルト: true)。|
|-p --print|既知のアイテムを出力して終了します。<br>*注*: [ユーザーパラメーター](/manual/config/items/userparameters)の結果も返すには、(デフォルトの場所にない場合は)設定ファイルを指定する必要があります。|
| -t --test <item key>|指定されたアイテムをテストして終了します。<br>*注*: [ユーザーパラメーター](/manual/config/items/userparameters)の結果も返すには、(デフォルトの場所にない場合は)設定ファイルを指定する必要があります。|
|-h --help|ヘルプを出力して終了します。|
|-v --verbose|デバッグ情報を出力します。 このオプションは-pおよび-tオプションとともに使用します。|
|-V --version|エージェントのバージョン番号を出力して終了します。|
|-R --runtime-control <option>|管理機能を実行します。 [ランタイム制御](/manual/concepts/agent2#ランタイム制御)を参照してください。|

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

-   すべての組み込みエージェントアイテムの値を出力する
-   指定された設定ファイルで定義された"mysql.ping"キーを使用してユーザーパラメーターをテストする

```{=html}
<!-- -->
```
    zabbix_agent2 --print
    zabbix_agent2 -t "mysql.ping" -c /etc/zabbix/zabbix_agentd.conf

[comment]: # ({/a3a7adc1-45c02f12})

[comment]: # ({1a245e04-11aa0de0})
##### ランタイム制御

ランタイム制御は、リモート制御のためのいくつかのオプションを提供します。

|オプション|説明|
|--|--------|
|log\_level\_increase|ログレベルを上げます。|
|log\_level\_decrease|ログレベルを下げます。|
|metrics|利用可能なメトリックを一覧表示します。|
|version|エージェントのバージョンを表示します。|
|userparameter\_reload|現在の設定ファイルから*UserParameter*および*Include*オプションの値を再ロードします。|
|help|ランタイムコントロールのヘルプを表示します。|

例:

-   エージェント2のログレベルを上げる
-   ランタイム制御オプションを出力する

```{=html}
<!-- -->
```
    zabbix_agent2 -R log_level_increase
    zabbix_agent2 -R help

[comment]: # ({/1a245e04-11aa0de0})

[comment]: # ({9d823a46-77e9b590})
#### 設定ファイル

Zabbixエージェント2の設定パラメーターは、いくつかの例外を除いて、Zabbixエージェントと互換性があります。

|新しいパラメーター|説明|
|--|--------|
|*ControlSocket*|ランタイム制御ソケットパス。エージェント2は[ランタイムコマンド](#ランタイム制御)に制御ソケットを使用します。|
|*EnablePersistentBuffer*,<br>*PersistentBufferFile*,<br>*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](/manual/appendix/config/zabbix_agent2)の設定ファイルオプションを参照してください。

[comment]: # ({/9d823a46-77e9b590})

[comment]: # ({472820ac-472820ac})
#### 終了コード

バージョン4.4.8以降、Zabbixエージェント2は古いOpenSSLバージョン(1.0.1、1.0.2)でコンパイルすることもできます。

この場合、ZabbixはOpenSSLでロックするためのミューテックスを提供します。ミューテックスのロックまたはロック解除が失敗した場合、エラーメッセージが標準エラーストリーム(STDERR)に出力され、エージェント2はそれぞれリターンコード2または3で終了します。

[comment]: # ({/472820ac-472820ac})
