[comment]: # ({50c00f1f-9884b1d2})
# 11 Microsoft Windows上のZabbixエージェント

[comment]: # ({/50c00f1f-9884b1d2})

[comment]: # ({9134e90f-bc82b50c})
#### エージェントの設定

両世代のZabbixエージェントはWindowsサービスとして実行されます。Zabbix agent 2の場合は、以下の手順で*agentd*を*agent2*に置き換えてください。

Microsoft Windowsホスト上で、Zabbixエージェントの単一インスタンスまたは複数インスタンスを実行できます。単一インスタンスの場合、以下のいずれかを使用できます。

-   エージェントバイナリと同じディレクトリにあるデフォルトの設定ファイル
-   コマンドラインで指定した設定ファイル

複数インスタンスの場合、各エージェントインスタンスには独自の設定ファイルが必要です（インスタンスの1つはデフォルトの設定ファイルを使用できます）。

設定ファイルのサンプルは、Zabbixソースアーカイブ内に以下のように用意されています。

-   Zabbix agent用は`conf/zabbix_agentd.conf`
-   Zabbix agent2用は`conf/zabbix_agent2.conf`

[アーカイブ](https://www.zabbix.com/download_agents)からWindows用のZabbix agent/agent 2を設定ファイルを明示的に指定せずにサービスとしてインストールしたい場合は、エージェントをインストールする前に以下を行ってください。

-   `conf/zabbix_agentd.conf`をzabbix_agentd.exeをインストールするディレクトリに手動でコピーする
-   `conf/zabbix_agent2.conf`および`conf/zabbix_agent2.d`ディレクトリをzabbix_agent2.exeをインストールするディレクトリに手動でコピーする

Zabbix Windowsエージェントの設定の詳細については、[設定ファイル](/manual/appendix/config/zabbix_agentd_win)のオプションを参照してください。

[comment]: # ({/9134e90f-bc82b50c})

[comment]: # ({5f456a33-011f29f0})
##### Hostname パラメータ

ホストで[アクティブチェック](/manual/appendix/items/activepassive#active-checks)を実行するには、Zabbixエージェントでホスト名を定義しておく必要があります。さらに、エージェント側で設定するホスト名の値は、Webインターフェースでそのホストに設定された「[ホスト名](/manual/config/hosts/host)」と完全に一致している必要があります。

エージェント側のホスト名の値は、エージェントの[設定ファイル](/manual/appendix/config/zabbix_agentd_win)内の **Hostname** または **HostnameItem** パラメータで定義できます。これらのパラメータのいずれかが指定されていない場合は、デフォルト値が使用されます。

**HostnameItem** パラメータのデフォルト値は、"system.hostname" エージェントキーが返す値です。Windows では、これは gethostname() 関数の結果を返します。この関数は、ローカルホスト名を判定するために名前空間プロバイダーへ問い合わせを行います。どの名前空間プロバイダーからも応答がない場合は、NetBIOS 名が返されます。

**Hostname** のデフォルト値は、HostnameItem パラメータが返す値です。したがって、これら両方のパラメータが未指定の場合、実際のホスト名はホストの NetBIOS 名になります。Zabbixエージェントは、NetBIOS ホスト名を使用して Zabbixサーバーからアクティブチェックの一覧を取得し、その結果を送信します。

"system.hostname" キーは、*type* と *transform* という2つのオプションパラメータをサポートしています。

*Type* は、このアイテムが返す名前の種類を決定します。

-   *netbios* (デフォルト) - 15文字までに制限された NetBIOS ホスト名を返します。大文字のみです。
-   *host* - 大文字・小文字を区別し、完全な実際の Windows ホスト名（ドメインなし）を返します。
-   *shorthost* - 最初のドットより前のホスト名部分を返します。
    名前にドットが含まれていない場合は、文字列全体を返します。
-   *fqdn* - 完全修飾ドメイン名（末尾のドットなし）を返します。

*Transform* では、ホスト名に対する追加の変換ルールを指定できます。

-   *none* (デフォルト) - 元の大文字・小文字をそのまま使用します。
-   *lower* - テキストを小文字に変換します。

したがって、zabbix\_agentd.conf ファイルの設定を簡素化し、統一するために、次の3つの異なる方法を使用できます。

1.  **Hostname** または **HostnameItem** パラメータを未定義のままにすると、Zabbixエージェントはホスト名として NetBIOS ホスト名を使用します。
2.  **Hostname** パラメータを未定義のままにし、**HostnameItem** を次のように定義します。<br>
    **HostnameItem=system.hostname\[host\]** - Zabbixエージェントが、完全な実際の（大文字・小文字を区別する）Windows ホスト名をホスト名として使用する場合。<br>
    **HostnameItem=system.hostname\[shorthost,lower\]** - Zabbixエージェントが、最初のドットより前のホスト名部分のみを使用し、それを小文字に変換してホスト名とする場合。<br>
    **HostnameItem=system.hostname\[fqdn\]** - Zabbixエージェントが、完全修飾ドメイン名をホスト名として使用する場合。

ホスト名は、Windows サービス名の一部としても使用されます。このサービス名は、Windows サービスのインストール、起動、停止、アンインストールに使用されます。たとえば、Zabbixエージェントの設定ファイルに `Hostname=Windows_db_server` が指定されている場合、エージェントは "`Zabbix Agent [Windows_db_server]`" という Windows サービスとしてインストールされます。したがって、各 Zabbixエージェントインスタンスごとに異なる Windows サービス名にするには、各インスタンスで異なるホスト名を使用する必要があります。

[comment]: # ({/5f456a33-011f29f0})

[comment]: # ({0c3a3ff4-1c178c2a})
#### Windowsサービスとしてのエージェントのインストール

エージェントをインストールする前に、`conf/zabbix_agentd.conf` を zabbix_agentd.exe をインストールするディレクトリに手動でコピーしてください。

デフォルトの設定ファイルでZabbixエージェントの単一インスタンスをインストールするには:

    zabbix_agentd.exe --install

::: noteimportant
64ビットシステムでは、64ビットプロセスの実行に関連するすべてのチェックが正しく動作するために、64ビット版のZabbixエージェントが必要です。
:::

デフォルト以外の設定ファイルを使用したい場合は、サービスインストールのために以下のコマンドを使用してください:

    zabbix_agentd.exe --config <your_configuration_file> --install

設定ファイルへのフルパスを指定する必要があります。

Zabbixエージェントの複数のインスタンスを以下のようにサービスとしてインストールできます:

      zabbix_agentd.exe --config <configuration_file_for_instance_1> --install --multiple-agents
      zabbix_agentd.exe --config <configuration_file_for_instance_2> --install --multiple-agents
      ...
      zabbix_agentd.exe --config <configuration_file_for_instance_N> --install --multiple-agents

インストールされたサービスはコントロールパネルで確認できます。

[comment]: # ({/0c3a3ff4-1c178c2a})

[comment]: # ({635edc59-635edc59})
#### エージェントの起動

エージェントサービスを開始するには、コントロールパネルを使用するか、コマンドラインから実行します。

デフォルトの設定ファイルでZabbixエージェントの単一インスタンスを起動するには：

     zabbix_agentd.exe --start

Zabbixエージェントの単一インスタンスを別の設定ファイルで起動するには：

     zabbix_agentd.exe --config <your_configuration_file> --start

Zabbixエージェントの複数インスタンスのうち1つを開始するには：

     zabbix_agentd.exe --config <configuration_file_for_this_instance> --start --multiple-agents

[comment]: # ({/635edc59-635edc59})

[comment]: # ({f3f0d3db-f3f0d3db})
#### エージェントの停止

エージェントサービスを停止するには、コントロールパネルを使用するか、コマンドラインからコマンドを実行します。

デフォルトの設定ファイルで開始されたZabbixエージェントの単一インスタンスを停止するには

     zabbix_agentd.exe --stop

別の設定ファイルで開始されたZabbixエージェントの単一インスタンスを停止するには

     zabbix_agentd.exe --config <your_configuration_file> --stop

Zabbixエージェントの複数インスタンスのうち1つを停止するには

     zabbix_agentd.exe --config <configuration_file_for_this_instance> --stop --multiple-agents

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

[comment]: # ({db2e6708-db2e6708})
#### Windowsサービスとしてのエージェントのアンインストール

デフォルトの設定ファイルを使用してZabbixエージェントの単一インスタンスをアンインストールするには

       zabbix_agentd.exe --uninstall

デフォルト以外の設定ファイルを使用してZabbixエージェントの単一インスタンスをアンインストールするには

       zabbix_agentd.exe --config <your_configuration_file> --uninstall

WindowsサービスからZabbixエージェントの複数のインスタンスをアンインストールするには

      zabbix_agentd.exe --config <configuration_file_for_instance_1> --uninstall --multiple-agents
      zabbix_agentd.exe --config <configuration_file_for_instance_2> --uninstall --multiple-agents
      ...
      zabbix_agentd.exe --config <configuration_file_for_instance_N> --uninstall --multiple-agents

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

[comment]: # ({dec5f8ea-b7b226d1})
#### 制限

Windows用Zabbixエージェントは、CPUがNUMAノード全体に不均一に分散されている非標準のWindows構成をサポートしていません。論理CPUが不均一に分散されている場合、一部のCPUではCPUパフォーマンスメトリックが使用できない場合があります。たとえば、2つのNUMAノードを持つ72個の論理CPUがある場合、両方のノードにそれぞれ36個のCPUが必要です。

[comment]: # ({/dec5f8ea-b7b226d1})
