11 Microsoft Windows上のZabbixエージェント

エージェントの設定

Zabbix エージェントの両世代は、Windows サービスとして動作します。Zabbix エージェント 2 では、以下の手順で agentdagent2 に置き換えてください。

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

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

複数インスタンスの場合、各エージェントインスタンスはそれぞれ独自の 設定ファイルを持つ必要があります(インスタンスの 1 つはデフォルトの設定ファイルを使用できます)。

設定ファイルのサンプルは、Zabbix のソースアーカイブ内に次のようにあります。

  • Zabbix エージェント用: conf/zabbix_agentd.conf
  • Zabbix エージェント 2 用: conf/zabbix_agent2.conf

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

  • conf/zabbix_agentd.conf を、zabbix_agentd.exe がインストールされるディレクトリへ 手動でコピーする
  • conf/zabbix_agent2.confconf/zabbix_agent2.d ディレクトリを、zabbix_agent2.exe が インストールされるディレクトリへ手動でコピーする

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

Hostname パラメーター

ホストで active checks を実行するには、Zabbix エージェントでホスト名を定義しておく必要があります。さらに、エージェント側で設定されたホスト名の値は、Webインターフェースでホストに対して設定された "Host name" と完全に一致している必要があります。

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

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

Hostname のデフォルト値は、HostnameItem パラメーターが返す値です。つまり、実質的には、これら両方のパラメーターが未指定の場合、実際のホスト名はホストの NetBIOS 名になります。Zabbix エージェントは、この NetBIOS ホスト名を使用して Zabbix サーバーから active checks の一覧を取得し、結果を送信します。

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

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

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

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

  • none (default) - 元の文字の大文字小文字をそのまま使用します。
  • lower - テキストを小文字に変換します。

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

  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パフォーマンスメトリックが使用できない場合があります。たとえば、2つのNUMAノードを持つ72個の論理CPUがある場合、両方のノードにそれぞれ36個のCPUが必要です。