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 指定した期間 <period>(秒)におけるシステムパフォーマンスカウンター <perf_counter_path> の平均値である新しいパラメータ <parameter_name> を定義します。
PerfCounterEn 指定した期間 <period>(秒)におけるシステムパフォーマンスカウンター <perf_counter_path> の平均値である新しいパラメータ <parameter_name> を定義します。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 キーが同じアイテムキーを参照してもかまいません。
AliasHostMetadataItem では使用できますが、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

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

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

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

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

範囲: 0-2034 bytes

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

例:

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

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

PerfCounter

新しいパラメーター <parameter_name> を定義します。これは、指定した時間期間 <period>(秒単位)におけるシステムパフォーマンスカウンター <perf_counter_path> の平均値です。
構文: <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分間のプロセッサ割り込み数の平均値を取得したい場合は、次のように新しいパラメータ"interrupts"を定義できます:

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

パフォーマンスカウンタパスの周囲に二重引用符が必要であることに注意してください。 パラメータ名(interrupts)は、アイテム作成時のアイテムキーとして使用します。 平均値を計算するためのサンプルは、毎秒取得されます。
英語の文字列のリストは、次のレジストリキーを参照してください: 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互換IPv6アドレス」(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より前のサーバーまたはプロキシがタイムアウトなしでチェックを送信する場合のフォールバックとして使用

このタイムアウトは、フロントエンドでタイムアウト設定が可能なエージェントチェック(グローバル、プロキシ、アイテム単位)には使用されません

デフォルト: 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で指定されたパッシブチェック用のプリフォークインスタンスの数の合計は64未満でなければなりません。