Microsoft Windows 上の Zabbix エージェント

エージェントの設定

Zabbixエージェントは、どちらの世代もWindowsサービスとして実行されます。 Zabbixエージェント2の場合は、以下の手順でagentdagent2に置き換えてください。

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

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

複数のインスタンスを使用する場合、各エージェントインスタンスには専用の設定ファイルが必要です(いずれかのインスタンスではデフォルトの設定ファイルを使用できます)。

設定ファイルの例は、Zabbixのソースアーカイブに次のファイルとして含まれています。

設定ファイルを明示的に指定せず、アーカイブからZabbixエージェント/エージェント2をWindowsサービスとしてインストールする場合は、エージェントをインストールする前に、次の操作を行ってください。

  • conf/zabbix_agentd.confを、zabbix_agentd.exeをインストールするディレクトリに手動でコピーします。
  • conf/zabbix_agent2.confconf/zabbix_agent2.dディレクトリを、zabbix_agent2.exeをインストールするディレクトリに手動でコピーします。

Zabbix Windowsエージェントの設定方法については、Zabbix エージェント設定ファイルまたはZabbix エージェント2設定ファイルのオプションを参照してください。

Hostnameパラメーター

ホストでアクティブチェックを実行するには、Zabbix エージェントにホスト名を定義する必要があります。 また、エージェント側で設定したホスト名の値は、Webインターフェースでホストに設定されているホスト名と完全に一致している必要があります。

エージェント側のホスト名の値は、エージェント設定ファイルHostnameまたはHostnameItemパラメーターで定義できます。これらのパラメーターが指定されていない場合は、デフォルト値が使用されます。

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

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

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

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

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

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

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

したがって、zabbix_agentd.confファイルの設定を簡略化し、統一するために、次のような方法を使用できます。

  1. HostnameまたはHostnameItemパラメーターを未定義のままにすると、Zabbix エージェントはホスト名としてNetBIOSホスト名を使用します。
  2. 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が指定されている場合、エージェントはWindowsサービスZabbix Agent [Windows_db_server]としてインストールされます。したがって、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 パフォーマンスメトリクスを利用できないことがあります。たとえば、72 個の論理 CPU があり、NUMA ノードが 2 つある場合、両方のノードにそれぞれ 36 個の CPU が必要です。