5 Zabbix エージェント (Windows)

概要

このセクションでは、Windows Zabbix エージェントの設定ファイル (zabbix_agentd.conf) でサポートされるパラメーターを一覧表示します。

パラメーターは追加情報なしで列挙されています。 パラメーターをクリックすると、詳細を表示できます。

Parameter Description
Alias アイテムキーの別名を設定します。
AllowKey パターンに一致するアイテムキーの実行を許可します。
BufferSend データをバッファー内に N 秒より長く保持しません。
BufferSize メモリーバッファー内の値の最大数です。
DebugLevel デバッグレベルです。
DenyKey パターンに一致するアイテムキーの実行を拒否します。
EnableRemoteCommands Zabbix サーバーからのリモートコマンドを許可するかどうかを指定します。
HeartbeatFrequency ハートビートメッセージの送信間隔(秒)です。
HostInterface ホストインターフェースを定義する任意のパラメーターです。
HostInterfaceItem ホストインターフェースの取得に使用するアイテムを定義する任意のパラメーターです。
HostMetadata ホストメタデータを定義する任意のパラメーターです。
HostMetadataItem ホストメタデータの取得に使用する Zabbix エージェントのアイテムを定義する任意のパラメーターです。
Hostname ホスト名を定義する任意のパラメーターです。
HostnameItem ホスト名の取得に使用する Zabbix エージェントのアイテムを定義する任意のパラメーターです。
Include 設定ファイルに個別のファイル、またはディレクトリ内のすべてのファイルを含めることができます。
ListenBacklog TCP キュー内の保留中接続の最大数です。
ListenIP エージェントが待ち受ける IP アドレスをカンマ区切りで指定した一覧です。
ListenPort エージェントはこのポートでサーバーからの接続を待ち受けます。
LogFile ログファイル名です。
LogFileSize ログファイルの最大サイズです。
LogRemoteCommands 実行されたシェルコマンドを警告としてログに記録するようにします。
LogType ログ出力の種類です。
MaxLinesPerSecond log および logrt のアクティブチェックを処理する際に、エージェントが Zabbix サーバーまたはプロキシへ 1 秒あたりに送信する新しい行の最大数です。
PerfCounter 新しいパラメーター <parameter_name> を定義します。これは、指定した期間 <period>(秒)におけるシステムパフォーマンスカウンター <perf_counter_path> の平均値です。
PerfCounterEn 新しいパラメーター <parameter_name> を定義します。これは、指定した期間 <period>(秒)におけるシステムパフォーマンスカウンター <perf_counter_path> の平均値です。PerfCounter と比較して、perfcounter のパスは英語である必要があります。
RefreshActiveChecks アクティブチェックの一覧を更新する頻度です。
Server Zabbix サーバーおよび Zabbix プロキシの IP アドレス(カンマ区切り、必要に応じて CIDR 表記可)または DNS 名の一覧です。
ServerActive アクティブチェックを取得するための Zabbix サーバー/プロキシのアドレス、またはクラスタ設定です。
SourceIP 送信元 IP アドレスです。
StartAgents パッシブチェックを処理する zabbix_agentd の事前フォーク済みインスタンス数です。
Timeout Zabbix プロキシまたはサーバーとの接続確立およびデータ交換を待機する時間(秒)を指定します。
TLSAccept 受信接続に必要な暗号化レベルです。
TLSCAFile Zabbix コンポーネント間の暗号化通信で使用される、ピア証明書検証用の最上位 CA 証明書を含むファイルの完全パス名です。
TLSCertFile Zabbix コンポーネント間の暗号化通信で使用される、エージェント証明書または証明書チェーンを含むファイルの完全パス名です。
TLSConnect Zabbix サーバーまたはプロキシへのエージェント接続に必要な暗号化レベルです。
TLSCRLFile 失効した証明書を含むファイルの完全パス名です。このパラメーターは、Zabbix コンポーネント間の暗号化通信で使用されます。
TLSKeyFile Zabbix コンポーネント間の暗号化通信で使用される、エージェントの秘密鍵を含むファイルの完全パス名です。
TLSPSKFile Zabbix サーバーとの暗号化通信で使用される、エージェントの事前共有鍵を含むファイルの完全パス名です。
TLSPSKIdentity Zabbix サーバーとの暗号化通信で使用される、事前共有鍵の識別文字列です。
TLSServerCertIssuer 許可されるサーバー(プロキシ)証明書の発行者です。
TLSServerCertSubject 許可されるサーバー(プロキシ)証明書のサブジェクトです。
UnsafeUserParameters ユーザー定義パラメーターの引数として、すべての文字の受け渡しを許可します。
UserParameter 監視するユーザー定義パラメーターです。
UserParameterDir UserParameter コマンドのデフォルト検索パスです。

すべてのパラメーターは、明示的に必須と記載されていない限り必須ではありません。

注意:

  • デフォルト値は、配布された設定ファイル内の値ではなく、デーモンのデフォルト値を反映しています。
  • Zabbix は、BOM を含まない UTF-8 エンコーディングの設定ファイルのみをサポートします。
  • # で始まるコメントは、行頭でのみサポートされます。

パラメータの詳細

エイリアス

アイテムキーにエイリアスを設定します。 長く複雑なアイテムキーを、より短く簡単なものに置き換えるために使用できます。
複数の Alias パラメータを指定できます。 同じ Alias キーを持つ複数のパラメータは許可されません。
異なる Alias キーが同じアイテムキーを参照することはできます。
エイリアスは HostMetadataItem では使用できますが、HostnameItem または PerfCounter パラメータでは使用できません。

例 1: サーバーからページングファイル使用率をパーセントで取得する。

Alias=pg_usage:perf_counter[\Paging File(_Total)\% Usage]

これで、短縮キー pg_usage を使用してデータを取得できます。

例 2: デフォルトパラメータとカスタムパラメータで CPU 使用率を取得する。

Alias=cpu.load:system.cpu.load
Alias=cpu.load[*]:system.cpu.load[*]

これにより、cpu.load キーを使用してデフォルトパラメータの CPU 使用率を取得できるほか、cpu.load[percpu,avg15] を使用して CPU 使用率の特定データを取得できます。

例 3: 同じ検出アイテムを処理する複数の low-level discovery ルールを実行する。

Alias=vfs.fs.discovery[*]:vfs.fs.discovery

これで、各ルールに異なるパラメータを指定して vfs.fs.discovery を使用する複数の検出ルールを設定できます。たとえば、vfs.fs.discovery[foo]vfs.fs.discovery[bar] などです。

AllowKey

パターンに一致するアイテムキーの実行を許可します。 キーのパターンはワイルドカード式であり、任意の数の任意の文字に一致する * 文字をサポートします。
DenyKey と組み合わせて、複数のキー一致ルールを定義できます。 パラメータは、記載順に従って1つずつ処理されます。 関連項目: エージェントチェックの制限

BufferSend

N秒を超えてバッファ内にデータを保持しません。

デフォルト: 5
範囲: 1-3600

BufferSize

メモリバッファ内の値の最大数です。
バッファがいっぱいになると、エージェントは収集したすべてのデータをZabbixサーバーまたはプロキシに送信します。

デフォルト: 100
範囲: 2-65535

DebugLevel

デバッグレベルを指定します:

  • 0 - Zabbixプロセスの開始と停止に関する基本情報;
  • 1 - 重大な情報;
  • 2 - エラー情報;
  • 3 - 警告;
  • 4 - デバッグ用(大量の情報を出力します);
  • 5 - 拡張デバッグ用(さらに多くの情報を出力します)。

デフォルト: 3
範囲: 0-5

DenyKey

パターンに一致するアイテムキーの実行を拒否します。 キーのパターンは、任意の数の任意の文字に一致する * 文字をサポートするワイルドカード式です。
複数のキー一致ルールを AllowKey と組み合わせて定義できます。 パラメータは、記載順に1つずつ処理されます。 関連項目: エージェントチェックの制限

EnableRemoteCommands

Zabbixサーバーからのリモートコマンドを許可します。
このパラメーターは非推奨です。代わりに AllowKey=system.run[*] または DenyKey=system.run[*] を使用してください。
これは値に応じて AllowKey/DenyKey パラメーターの内部エイリアスです。

  • 0 - DenyKey=system.run[*]
  • 1 - AllowKey=system.run[*]

デフォルト: 0
値: 0 - 許可しない、1 - 許可する

HeartbeatFrequency

ハートビートメッセージの頻度(秒単位)です。
アクティブチェックの可用性の監視に使用されます。
0 - ハートビートメッセージは無効。

デフォルト: 60
範囲: 0-3600

HostInterface

ホストの自動登録プロセス中に使用されるホストインターフェース(IPアドレスまたはDNS名)を定義する任意のパラメーターです。 この値は、新しく作成されるホストのインターフェースを設定するために使用され、IPアドレスまたはDNSアドレスのいずれかを明示的に指定できます。 詳細は、DNSをデフォルトのインターフェースとして使用するを参照してください。

定義されていない場合、値はHostInterfaceItemから取得されます。

この値が255文字の上限を超えると、エージェントはエラーを出力して起動しません。

範囲: 0-255文字

HostInterfaceItem

ホストの自動登録プロセス中に、ホストインターフェース(IPアドレスまたはDNS名)を判定するために使用するアイテムを定義する任意のパラメーターです。
この値は、HostInterface が定義されていない場合にのみ使用されます。
詳細については、DNSをデフォルトのインターフェースとして使用するを参照してください。

自動登録リクエストの処理中、指定したアイテムが返す値が255文字の上限を超えている場合、エージェントは警告メッセージをログに記録します。

system.run[] アイテムは、AllowKey/DenyKey の設定に関係なくサポートされます。

HostMetadata

ホストの 自動登録 プロセス(アクティブ エージェント)中に、ホストを識別または区別するために使用される メタデータ を定義する任意のパラメーターです。
HostMetadata を使用すると、ホスト名以外の情報でもホストを区別できます。

定義されていない場合、値は HostMetadataItem から取得されます。

指定した値が 2034 バイトを超える場合、または UTF-8 文字列でない場合、エージェントはエラーを出力して起動しません。
パラメーターが IP アドレスまたは DNS 名を期待する場合、UTF-8 としては有効でも IP アドレスまたは DNS 名として無効な値は拒否され、無効として報告されます。

複数行のメタデータはサポートされていません。出力は最初の改行で切り捨てられます。

範囲: 0-2034 バイト

HostMetadataItem

Zabbix エージェントのアイテムを定義する任意のパラメーターで、ホストメタデータ の取得に使用します。
このオプションは HostMetadata が定義されていない場合にのみ使用されます。

HostMetadataItem の値は各 自動登録 の試行時に取得され、ホストの自動登録プロセス(アクティブ エージェント)でのみ使用されます。
HostMetadataItem により、ホスト名以外の条件でもホストを識別できます。

ユーザーパラメーター、パフォーマンスカウンター、エイリアスがサポートされています。
system.run[] アイテムは、AllowKey/DenyKey の設定に関係なくサポートされます。

自動登録リクエスト中、指定したアイテムが返す値が 65535 UTF-8 コードポイントの上限を超える場合、エージェントは警告メッセージをログに記録します。
アイテムが返す値は UTF-8 文字列である必要があり、そうでない場合は無視されます。
パラメーターが IP アドレスまたは DNS 名を期待する場合、UTF-8 としては有効でも IP アドレスまたは DNS 名として無効な値は拒否され、無効として報告されます。

複数行のメタデータはサポートされていません。出力は最初の改行で切り詰められます。

ホスト名

カンマ区切りの、一意で大文字小文字を区別するホスト名の一覧です。 アクティブチェックに必要であり、サーバーで設定されたホスト名と一致している必要があります。 値が未定義の場合は HostnameItem から取得されます。
使用可能な文字: 英数字、'.'、' '、'_'、'-'。 最大長: ホスト名ごとに128文字、行全体で2048文字。

デフォルト: HostnameItem により設定されます

HostnameItem

ホスト名を取得するために使用する Zabbix エージェントアイテムを定義する任意のパラメーターです。 このオプションは、Hostname が定義されていない場合にのみ使用されます。 User parameters、performance counters、aliases はサポートされていませんが、system.run[] アイテムは AllowKey/DenyKey の値に関係なくサポートされます。
詳細は、より詳しい説明 も参照してください。

Default: system.hostname

Include

設定ファイルでは、個別のファイル、またはディレクトリ内のすべてのファイルをインクルードできます(Zabbix agent を Windows MSI インストーラーパッケージでインストールした場合、デフォルトでは C:\Program Files\Zabbix Agent にあります。zip アーカイブとして Zabbix agent をインストールした場合は、インストール時に指定したフォルダにあります)。 インクルードされるすべてのファイルは 構文が正しくなければならず、そうでない場合はエージェントは起動しません。
指定したディレクトリ内で必要なファイルのみをインクルードするために、パターンマッチング用のアスタリスク ワイルドカード文字を使用できます。
制限事項については、特記事項を参照してください。

例:

Include=C:\Program Files\Zabbix Agent\zabbix_agentd.d\*.conf
ListenBacklog

TCP キュー内の保留中の接続の最大数
デフォルト値はシステムに依存するハードコードされた定数です
サポートされる最大値はシステムに依存し、値が大きすぎる場合は'実装で指定された最大値'に自動的に切り捨てられる場合があります。

デフォルト: SOMAXCONN
範囲: 0 - INT_MAX

ListenIP

エージェントがリッスンするIPアドレスのカンマ区切りリスト

デフォルト: 0.0.0.0

ListenPort

エージェントは、サーバーからの接続をこのポートで待ち受けします。

デフォルト: 10050
範囲: 1024-32767

LogFile

エージェントのログファイル名。

デフォルト: c:\zabbix_agentd.log
必須: はい、LogTypefile に設定されている場合。そうでない場合は不要

LogFileSize

ログファイルの最大サイズ(MB)
0 - 自動ログローテーションを無効にします。
: ログファイルのサイズ制限に達し、何らかの理由でファイルローテーションが失敗した場合、既存のログファイルは切り捨てられ、新たに開始されます。

デフォルト: 1
範囲: 0-1024

LogRemoteCommands

実行されたシェルコマンドを警告としてログに記録します。
コマンドは、リモートで実行された場合にのみログに記録されます。
system.run[]HostMetadataItemHostInterfaceItem、または HostnameItem パラメータによってローカルで起動された場合、ログエントリは作成されません。

デフォルト: 0
値: 0 - 無効、1 - 有効

LogType

ログ出力の種類:

  • file - LogFile パラメータで指定されたファイルにログを書き込む;
  • system - Windowsイベントログにログを書き込む;
  • console - 標準出力にログを書き込む。

デフォルト: file

MaxLinesPerSecond

エージェントが loglogrt、および eventlog のアクティブチェックを処理する際に、Zabbix サーバーまたはプロキシへ 1 秒あたりに送信する新しい行の最大数です。 指定した値は、loglogrt、または eventlog のアイテムキーで指定された maxlines パラメーターによって上書きされます。
: Zabbix は、ログアイテム内で必要な文字列を検索するために、MaxLinesPerSecond で設定された値の 10 倍の新しい行を処理します。

デフォルト: 20
範囲: 1-1000

PerfCounter

指定した時間期間 <period>(秒)におけるシステム パフォーマンス カウンター <perf_counter_path> の平均値となる新しいパラメーター <parameter_name> を定義します。
構文: <parameter_name>,"<perf_counter_path>",<period>

たとえば、直近 1 分間の 1 秒あたりのプロセッサ割り込みの平均回数を取得したい場合は、次のように新しいパラメーター "interrupts" を定義できます。

PerfCounter = interrupts,"\Processor(0)\Interrupts/sec",60

パフォーマンス カウンターのパスは二重引用符で囲む必要がある点に注意してください。 パラメーター名(interrupts)は、アイテムを作成する際のアイテムキーとして使用します。 平均値の計算に使用するサンプルは 1 秒ごとに取得されます。
Windows で利用可能なすべてのパフォーマンス カウンターの一覧を取得するには、typeperf -qx を実行してください。

PerfCounterEn

指定した期間 <period>(秒)におけるシステムパフォーマンスカウンター <perf_counter_path> の平均値となる新しいパラメータ <parameter_name> を定義します。 PerfCounter と比較して、perfcounter パスは英語である必要があります。 Windows Server 2008/Vista 以降でのみサポートされています。
構文: <parameter_name>,"<perf_counter_path>",<period>

例えば、直近 1 分間の 1 秒あたりのプロセッサ割り込み数の平均を受信したい場合、次のように新しいパラメータ "interrupts" を定義できます。

PerfCounterEn = interrupts,"\Processor(0)\Interrupts/sec",60

パフォーマンスカウンターパスが二重引用符で囲まれていることに注意してください。 パラメータ名(interrupts)は、アイテムを作成する際にアイテムキーとして使用します。 平均値を計算するためのサンプルは 1 秒ごとに取得されます。
英語文字列の一覧は、次のレジストリキーを参照することで確認できます: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009

RefreshActiveChecks

アクティブチェックのリストを更新する間隔(秒単位)です。
アクティブチェックの更新に失敗した場合、次回の更新は60秒後に試行されることに注意してください。

デフォルト: 5
範囲: 1-86400

サーバー

ZabbixサーバーまたはZabbixプロキシの、カンマ区切りのIPアドレス一覧です。CIDR表記またはDNS名を指定することもできます。 受信接続は、ここに列挙されたホストからのみ受け入れられます。 IPv6サポートが有効な場合、127.0.0.1::127.0.0.1::ffff:127.0.0.1 は同等に扱われ、::/0 は任意のIPv4またはIPv6アドレスを許可します。 0.0.0.0/0 は任意のIPv4アドレスを許可するために使用できます。 "IPv4-compatible IPv6 addresses"(0000::/96 プレフィックス)はサポートされていますが、RFC4291 により非推奨であることに注意してください。 スペースも使用できます。

例:

Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com

必須: はい。ただし、StartAgents が明示的に 0 に設定されていない場合

ServerActive

アクティブチェックの取得元となるZabbixサーバー/プロキシのアドレス、またはクラスタ設定です。
サーバー/プロキシのアドレスは、IPアドレスまたはDNS名と、必要に応じてコロンで区切られたポート番号です。
クラスタ設定は、セミコロンで区切られた1つ以上のサーバーまたはプロキシグループメンバーのアドレスです。
複数のZabbixサーバー/クラスタおよびZabbixプロキシを、カンマで区切って指定できます。
プロキシグループを使用する場合を除き、各Zabbixサーバー/クラスタごとに複数のZabbixプロキシを指定すべきではありません。
Zabbixプロキシを指定した場合、そのプロキシに対応するZabbixサーバー/クラスタは指定してはいけません。
複数のカンマ区切りアドレスを指定することで、複数の独立したZabbixサーバーを並行して使用できます。
スペースを含めることができます。
ポートが指定されていない場合は、デフォルトのポートが使用されます。
IPv6アドレスでそのホストのポートを指定する場合、アドレスは角括弧で囲む必要があります。
ポートを指定しない場合、IPv6アドレスの角括弧は省略可能です。
このパラメータが指定されていない場合、アクティブチェックは無効になります。

Zabbixプロキシの例:

ServerActive=127.0.0.1:10051

Zabbixプロキシグループの例:

ServerActive=proxy1.example.com;proxy2.example.com;proxy3.example.com;proxy4.example.com;proxy5.example.com

複数サーバーの例:

ServerActive=127.0.0.1:20051,zabbix.domain,[::1]:30051,::1,[12fc::1]

高可用性の例:

ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051;zabbix.cluster.node3

2つのクラスタと1つのサーバーを使用する高可用性の例:

ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051,zabbix.cluster2.node1;zabbix.cluster2.node2,zabbix.domain

範囲: (*)

SourceIP

以下の接続に使用する送信元IPアドレス:

  • ZabbixサーバーまたはZabbixプロキシへの送信接続;
  • 一部のアイテム(web.page.getnet.tcp.port など)を実行する際の接続。
StartAgents

受動チェックを処理する zabbix_agentd の事前フォークされたインスタンス数です。 0 に設定すると、受動チェックは無効になり、エージェントはどの TCP ポートでも待ち受けしません。

デフォルト: 10
範囲: 0-100 (*)

Timeout

Zabbixプロキシまたはサーバーとの接続確立およびデータ交換を待機する時間(秒)を指定します。

このパラメータは、以下を含むさまざまな通信処理の継続時間を定義します。

  • Zabbixサーバーからの応答待機。
  • アクティブチェック におけるアイテム設定要求およびアイテムデータを含む、Zabbixサーバーへのリクエスト送信。
  • logfile または Windowsイベントログ監視によるログデータの取得。
  • ハートビートメッセージの送信。
  • vfs.* チェックの最大継続時間。
  • Zabbixエージェントモジュールでの使用。
  • バージョン7.0より前のサーバーまたはプロキシがタイムアウトなしでチェックを送信した場合のフォールバックとして使用。

このタイムアウトは、Webインターフェースでタイムアウト設定を構成できるエージェントチェック(グローバル、プロキシ、またはアイテム単位)には使用されません

デフォルト: 3
範囲: 1-30

TLSAccept

受信接続に必要な暗号化レベルです。
パッシブチェックで使用されます。
複数の値をカンマ区切りで指定できます:

  • unencrypted - 暗号化なしの接続を受け入れます(デフォルト);
  • psk - TLS と事前共有鍵(PSK)を使用した接続を受け入れます;
  • cert - TLS と証明書を使用した接続を受け入れます。

必須: はい。TLS証明書または PSK パラメータが定義されている場合(unencrypted 接続であっても)は必須です。それ以外の場合は不要です

TLSCAFile

Zabbix コンポーネント間の暗号化通信に使用される、ピア証明書検証用の最上位 CA 証明書を含むファイルのフルパス名

TLSCertFile

Zabbix コンポーネントとの暗号化通信に使用されるエージェント証明書または証明書チェーンを含むファイルのフルパス名

TLSConnect

Zabbixサーバーまたはプロキシへのエージェント接続に必要な暗号化レベルです。
アクティブチェックで使用されます。
指定できる値は1つだけです。

  • unencrypted - 暗号化なしで接続します(デフォルト)。
  • psk - TLSと事前共有キー(PSK)を使用して接続します。
  • cert - TLSと証明書を使用して接続します。

必須: はい。TLS証明書またはPSKパラメータが定義されている場合は、unencrypted 接続でも必須です。それ以外の場合は不要です。

TLSCRLFile

失効した証明書を含むファイルの完全なパス名です。
このパラメータは、Zabbixコンポーネント間の暗号化通信に使用されます。

TLSKeyFile

Zabbix コンポーネント間の暗号化通信に使用されるエージェント秘密鍵を含むファイルのフルパス名

TLSPSKFile

Zabbix サーバーとの暗号化通信に使用されるエージェントの事前共有キーを含むファイルのフルパス名

TLSPSKIdentity

Zabbixサーバーとの暗号化通信に使用される、事前共有キーのID文字列

TLSServerCertIssuer

許可されたサーバー(プロキシ)証明書の発行者

TLSServerCertSubject

許可されたサーバー(プロキシ)証明書のサブジェクト

UnsafeUserParameters

ユーザー定義パラメータの引数で、すべての文字を渡せるようにします。
次の文字は許可されません: \ ' " ` * ? [ ] { } \~ $ ! & ; ( ) < > | # @
さらに、改行文字も許可されません。

デフォルト: 0
値: 0 - 許可しない、1 - 許可する

UserParameter

監視するためのユーザー定義パラメータです。 ユーザー定義パラメータは複数指定できます。
形式: UserParameter=<key>,<shell command>
なお、シェルコマンドは空文字列または EOL のみを返してはなりません。 UserParameterDir パラメータが指定されている場合、シェルコマンドには相対パスを使用できます。

例:

UserParameter=system.test,dir /b | find /c /v ""
UserParameter=check_cpu,.\custom\_script.bat
UserParameterDir

UserParameter コマンドの既定の検索パスです。 使用すると、エージェントはコマンドを実行する前に、作業ディレクトリをここで指定したディレクトリに変更します。 これにより、UserParameter コマンドでは、完全なパスの代わりに相対的な ./ プレフィックスを使用できます。 指定できるエントリは 1 つだけです。

例:

UserParameterDir=C:\opt\myscripts

(*) ServerActive にリストされたアクティブサーバーの数と、StartAgents で指定されたパッシブチェック用の事前 fork インスタンス数の合計は、64 未満でなければなりません。