11 Microsoft Windows上のZabbixエージェント
エージェントの設定
両世代のZabbixエージェントはWindowsサービスとして実行されます。Zabbix agent 2の場合は、以下の手順でagentdをagent2に置き換えてください。
Microsoft Windowsホスト上で、Zabbixエージェントの単一インスタンスまたは複数インスタンスを実行できます。単一インスタンスの場合、以下のいずれかを使用できます。
- エージェントバイナリと同じディレクトリにあるデフォルトの設定ファイル
- コマンドラインで指定した設定ファイル
複数インスタンスの場合、各エージェントインスタンスには独自の設定ファイルが必要です(インスタンスの1つはデフォルトの設定ファイルを使用できます)。
設定ファイルのサンプルは、Zabbixソースアーカイブ内に以下のように用意されています。
- Zabbix agent用は
conf/zabbix_agentd.conf - Zabbix agent2用は
conf/zabbix_agent2.conf
アーカイブから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エージェントの設定の詳細については、設定ファイルのオプションを参照してください。
Hostname パラメータ
ホストでアクティブチェックを実行するには、Zabbixエージェントでホスト名が定義されている必要があります。さらに、エージェント側で設定されたホスト名の値は、Webインターフェースでそのホストに設定された「ホスト名」と完全に一致している必要があります。
エージェント側のホスト名の値は、エージェントの設定ファイル内の 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つの異なる方法を使用できます。
- Hostname または HostnameItem パラメータを未定義のままにすると、Zabbixエージェントはホスト名として NetBIOS ホスト名を使用します。
- Hostname パラメータを未定義のままにし、HostnameItem を次のように定義します。
HostnameItem=system.hostname[host] - Zabbixエージェントが完全な実際の(大文字・小文字を区別する)Windows ホスト名をホスト名として使用します。
HostnameItem=system.hostname[shorthost,lower] - Zabbixエージェントが最初のドットより前のホスト名部分のみを使用し、それを小文字に変換してホスト名とします。
HostnameItem=system.hostname[fqdn] - Zabbixエージェントが完全修飾ドメイン名をホスト名として使用します。
ホスト名は、Windows サービスのインストール、起動、停止、アンインストールに使用される Windows サービス名の一部としても使用されます。たとえば、Zabbixエージェントの設定ファイルに Hostname=Windows_db_server が指定されている場合、エージェントは "Zabbix Agent [Windows_db_server]" という Windows サービスとしてインストールされます。したがって、各 Zabbixエージェントインスタンスごとに異なる Windows サービス名にするには、各インスタンスで異なるホスト名を使用する必要があります。
Windowsサービスとしてのエージェントのインストール
エージェントをインストールする前に、conf/zabbix_agentd.conf を zabbix_agentd.exe をインストールするディレクトリに手動でコピーしてください。
デフォルトの設定ファイルでZabbixエージェントの単一インスタンスをインストールするには:
zabbix_agentd.exe --install
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
インストールされたサービスはコントロールパネルで確認できます。
エージェントの起動
エージェントサービスを開始するには、コントロールパネルを使用するか、コマンドラインから実行します。
デフォルトの設定ファイルで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
エージェントの停止
エージェントサービスを停止するには、コントロールパネルを使用するか、コマンドラインからコマンドを実行します。
デフォルトの設定ファイルで開始された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
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
制限
Windows用Zabbixエージェントは、CPUがNUMAノード全体に不均一に分散されている非標準のWindows構成をサポートしていません。論理CPUが不均一に分散されている場合、一部のCPUではCPUパフォーマンスメトリックが使用できない場合があります。たとえば、2つのNUMAノードを持つ72個の論理CPUがある場合、両方のノードにそれぞれ36個のCPUが必要です。