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' のアクティブチェックを処理する際に、エージェントが1秒あたりにZabbixサーバーまたはプロキシへ送信する新しい行の最大数。
PerfCounter 指定した期間 <period>(秒)におけるシステムパフォーマンスカウンタ <perf_counter_path> の平均値となる新しいパラメータ <parameter_name> を定義します。
PerfCounterEn 指定した期間 <period>(秒)におけるシステムパフォーマンスカウンタ <perf_counter_path> の平均値となる新しいパラメータ <parameter_name> を定義します。PerfCounter と比較して、perfcounter パスは英語である必要があります。
RefreshActiveChecks アクティブチェックのリストを更新する頻度。
Server CIDR表記を任意で使用できる、カンマ区切りのIPアドレス、またはZabbixサーバーおよびZabbixプロキシのDNS名のリスト。
ServerActive アクティブチェックの取得元となるZabbixサーバー/プロキシのアドレス、またはクラスタ設定。
SourceIP 送信元IPアドレス。
StartAgents パッシブチェックを処理する、事前にforkされた zabbix_agentd のインスタンス数。
Timeout Zabbixプロキシまたはサーバーとの接続確立およびデータ交換を待機する時間(秒)を指定します。
TLSAccept 受け入れる受信接続の種類。
TLSCAFile ピア証明書の検証に使用する最上位CA証明書を含むファイルのフルパス名。Zabbixコンポーネント間の暗号化通信で使用されます。
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 では使用できますが、HostnameItemPerfCounter パラメータでは使用できません。

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

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

これで、短縮キー pg_usage を使用してデータを取得できるようになりました。

例 2: デフォルトおよびカスタムパラメータを使用した CPU 負荷の取得

エイリアス=cpu.load:system.cpu.load エイリアス=cpu.load[]:system.cpu.load[]

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

例3: 同じ検出項目を処理する複数の 低レベル検出 ルールを実行する。

エイリアス=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

バッファサイズ

メモリバッファ内の値の最大数。バッファがいっぱいになった場合、エージェントは収集したすべてのデータを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

ホストインターフェースを定義するオプションのパラメーターです。ホストインターフェースは、ホストの自動登録プロセスで使用されます。定義されていない場合は、HostInterfaceItemから値が取得されます。
値が255文字の制限を超える場合、エージェントはエラーを通知し、起動しません。

範囲: 0-255文字

HostInterfaceItem

ホストインターフェースの取得に使用する項目を定義するオプションパラメータです。
ホストインターフェースは、ホストの自動登録プロセスで使用されます。
自動登録リクエスト中に、指定された項目によって返される値が255文字の制限を超えている場合、エージェントは警告メッセージをログに記録します。
system.run[]項目は、AllowKey/DenyKeyの値に関係なくサポートされます。
このオプションは、HostInterfaceが定義されていない場合にのみ使用されます。

HostMetadata

ホストメタデータを定義するオプションパラメータです。ホストメタデータは、ホスト自動登録プロセス(アクティブエージェント)でのみ使用されます。定義されていない場合は、HostMetadataItem から値が取得されます。
指定された値が2034バイトの制限を超える場合、またはUTF-8以外の文字列の場合、エージェントはエラーを通知し、起動しません。

範囲: 0-2034バイト

HostMetadataItem

ホストメタデータの取得に使用するZabbixエージェントアイテムを定義するオプションパラメータです。このオプションは、HostMetadataが定義されていない場合にのみ使用されます。ユーザーパラメータ、パフォーマンスカウンタ、およびエイリアスがサポートされています。system.run[]アイテムは、AllowKey/DenyKeyの値に関係なくサポートされます。
HostMetadataItemの値は、自動登録の試行ごとに取得され、ホストの自動登録プロセス(アクティブエージェント)でのみ使用されます。
自動登録リクエスト中、指定されたアイテムによって返される値がUTF-8コードポイントの制限である65535を超える場合、エージェントは警告メッセージをログに記録します。アイテムによって返される値はUTF-8文字列である必要があります。そうでない場合は無視されます。

ホスト名

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

デフォルト: HostnameItem によって設定

HostnameItem

ホスト名の取得に使用するZabbixエージェントアイテムを定義するオプションパラメータです。このオプションは、Hostnameが定義されていない場合にのみ使用されます。ユーザーパラメータ、パフォーマンスカウンタ、またはエイリアスはサポートされていませんが、system.run[]アイテムは、AllowKey/DenyKeyの値に関わらずサポートされます。
より詳細な説明も参照してください。

デフォルト: 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
必須: LogType が file に設定されている場合は必須、それ以外の場合は必須ではない

LogFileSize

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

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

LogRemoteCommands

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

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

LogType

ログ出力の種類:
file - LogFile パラメータで指定されたファイルにログを書き込みます。
system - Windows イベントログにログを書き込みます。
console - 標準出力にログを書き込みます。

デフォルト: file

MaxLinesPerSecond

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

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

PerfCounter

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

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

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

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

PerfCounterEn

システムパフォーマンスカウンタ <perf_counter_path> の、指定された期間 <period> (秒単位) における平均値を表す新しいパラメータ <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 互換 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.get、net.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パラメータが定義されている場合は必須、そうでない場合は必須ではありません。

TLSCAFile

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

TLSCertFile

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

TLSConnect

エージェントがZabbixサーバーまたはプロキシに接続する方法。アクティブチェックに使用されます。指定できる値は1つだけです。
unencrypted - 暗号化なしで接続(デフォルト)
psk - TLSと事前共有鍵(PSK)を使用して接続
cert - TLSと証明書を使用して接続

必須:TLS証明書またはPSKパラメータが定義されている場合は必須、そうでない場合は必須ではない。

TLSCRLFile

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

TLSKeyFile

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

TLSPSKFile

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

TLSPSKIdentity

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

TLSServerCertIssuer

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

TLSServerCertSubject

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

UnsafeUserParameters

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

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

UserParameter

監視するユーザー定義パラメータ。複数のユーザー定義パラメータを指定できます。
形式: UserParameter=<キー>,<シェルコマンド>
シェルコマンドは空文字列や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 未満である必要があります。