This is a translation of the original English documentation page. Help us make it better.

3 Zabbix エージェント (UNIX)

概要

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

注意点:

  • デフォルト値は、出荷時設定ファイルの値ではなく、プロセスのデフォルト値です。
  • ZabbixはBOMなしのUTF-8エンコーディングでのみ構成ファイルをサポートします。
  • 行の先頭が"#"で始まった場合のみコメントとして認識されます。

パラメータの詳細

エイリアス

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

例 1: ユーザー 'zabbix' の ID を取得します。

Alias=zabbix.userid:vfs.file.regexp[/etc/passwd,"^zabbix:.:([0-9]+)",,,,\1]

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

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

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

これにより、cpu.util キーを使用してデフォルトのパラメータでCPU使用率を取得できるだけでなく、cpu.util[all, idle, avg15] を使用してCPU使用率に関する特定のデータを取得できます。

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

エイリアス=vfs.fs.discovery[*]:vfs.fs.discovery

これで、vfs.fs.discovery を使用して、ルールごとに異なるパラメータを持つ複数の検出ルールを設定できるようになりました。(例: vfs.fs.discovery[foo]vfs.fs.discovery[bar] など)

AllowKey

パターンに一致するアイテムキーの実行を許可します。キーパターンはワイルドカード表現で、"*"文字を含む任意の数の文字に一致します。
DenyKeyと組み合わせて、複数のキー一致ルールを定義できます。パラメータは出現順序に従って1つずつ処理されます。エージェントチェックの制限も参照してください。

AllowRoot

エージェントを'root'で実行できるようにします。無効にした場合、エージェントが'root'で起動されると、代わりに'zabbix'ユーザーへの切り替えを試みます。一般ユーザーで起動した場合は効果がありません。

デフォルト: 0
値: 0 - 許可しない、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文字列である必要があります。そうでない場合は無視されます。

Hostname

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

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

HostnameItem

ホスト名の取得に使用するZabbixエージェントアイテムを定義する追加パラメータです。このオプションは、Hostnameが定義されていない場合にのみ使用されます。ユーザーパラメータやエイリアスはサポートされていませんが、system.run[]アイテムは、AllowKey/DenyKeyの値に関わらずサポートされます。

デフォルト: system.hostname

Include

設定ファイルには、ディレクトリ内の個々のファイルまたはすべてのファイルをインクルードできます。指定したディレクトリ内の関連ファイルのみをインクルードするには、パターンマッチングでアスタリスクワイルドカード文字を使用できます。
制限事項については、特記事項を参照してください。

例:

Include=/absolute/path/to/config/files/*.conf

ListenBacklog

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

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

ListenIP

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

デフォルト: 0.0.0.0

ListenPort

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

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

LoadModule

エージェント起動時にロードするモジュール。モジュールはエージェントの機能を拡張するために使用されます。モジュールはLoadModulePathで指定されたディレクトリに配置するか、モジュール名の前にパスを指定する必要があります。パスが絶対パス('/'で始まる)の場合、LoadModulePathは無視されます。
形式:
LoadModule=<module.so>
LoadModule=<path/module.so>
LoadModule=</abs_path/module.so>
複数のLoadModuleパラメータを指定できます。

LoadModulePath

エージェントモジュールの場所へのフルパス。デフォルトはコンパイルオプションによって異なります。

LogFile

ログファイル名

必須: LogType が file に設定されている場合は必須、それ以外の場合は必須ではありません。

LogFileSize

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

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

LogRemoteCommands

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

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

LogType

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

デフォルト: file

MaxLinesPerSecond

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

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

PidFile

PIDファイルの名前

デフォルト: /tmp/zabbix_agentd.pid

RefreshActiveChecks

アクティブチェックのリストを更新する頻度(秒単位)アクティブチェックのリストの更新に失敗した場合、次の更新は60秒後に試行されます。

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

Server

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

複数サーバーの例:

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

タイムアウト

Zabbixプロキシまたはサーバーとの接続を確立し、データ交換を行うまでの待機時間(秒単位)を指定します。
このパラメータは、以下の操作の実行時間を定義します。
- Zabbixサーバーからの応答を待機する。
- Zabbixサーバーへのリクエストの送信(アクティブチェック、設定リクエスト、アイテムデータなど)。
- ログファイルまたはWindowsイベントログ監視によるログデータの取得
- ハートビートメッセージの送信
- vfs.*チェックの最大実行時間
- Zabbixエージェントモジュールによって使用される。
- バージョン7.0より古いサーバーまたはプロキシがタイムアウトなしでチェックを送信する場合のフォールバックとして機能する。

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

TLSAccept

受け入れる接続の種類。パッシブチェックに使用します。複数の値をカンマで区切って指定できます。
unencrypted - 暗号化なしの接続を受け入れます(デフォルト)
psk - TLSと事前共有鍵(PSK)を使用した接続を受け入れます
cert - TLSと証明書を使用した接続を受け入れます

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

TLSCAFile

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

TLSCertFile

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

TLSCipherAll

GnuTLS の優先度文字列または OpenSSL (TLS 1.2) の暗号文字列。証明書ベースおよび PSK ベースの暗号化におけるデフォルトの暗号スイート選択基準を上書きします。

例:

TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256

TLSCipherAll13

TLS 1.3 における OpenSSL 1.1.1 以降の暗号文字列。証明書ベースおよび PSK ベースの暗号化におけるデフォルトの暗号スイート選択基準を上書きします。

GnuTLS の例:

NONE:+VERS-TLS1.2:+ECDHE-RSA:+RSA:+ECDHE-PSK:+PSK:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL::+SIGN-ALL:+CTYPE-X.509

OpenSSL の例:

EECDH+aRSA+AES128:RSA+aRSA+AES128:kECDHEPSK+AES128:kPSK+AES128

TLSCipherCert

GnuTLS の優先度文字列または OpenSSL (TLS 1.2) の暗号文字列。証明書ベースの暗号化におけるデフォルトの暗号スイート選択基準を上書きします。

GnuTLS の例:

NONE:+VERS-TLS1.2:+ECDHE-RSA:+RSA:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL:+CTYPE-X.509

OpenSSL の例:

EECDH+aRSA+AES128:RSA+aRSA+AES128

TLSCipherCert13

TLS 1.3 における OpenSSL 1.1.1 以降の暗号文字列。証明書ベースの暗号化におけるデフォルトの暗号スイート選択基準を上書きします。

TLSCipherPSK

GnuTLS の優先度文字列または OpenSSL (TLS 1.2) の暗号文字列。PSK ベースの暗号化におけるデフォルトの暗号スイート選択基準を上書きします。

GnuTLS の例:

NONE:+VERS-TLS1.2:+ECDHE-PSK:+PSK:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL

OpenSSL の例:

kECDHEPSK+AES128:kPSK+AES128

TLSCipherPSK13

TLS 1.3 における OpenSSL 1.1.1 以降の暗号文字列。PSK ベースの暗号化におけるデフォルトの暗号スイート選択基準を上書きします。

例:

TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256

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 - 許可する

ユーザー

システム上の特定の既存ユーザーの権限を削除します。
'root'として実行され、AllowRoot が無効になっている場合にのみ有効です。

デフォルト: zabbix

UserParameter

監視するユーザー定義パラメータ。複数のユーザー定義パラメータを指定できます。
形式: UserParameter=<キー>,<シェルコマンド>
シェルコマンドは空文字列やEOLのみを返さないでください。UserParameterDirパラメータが指定されている場合、シェルコマンドは相対パスで指定できます。

例:

UserParameter=system.test,who|wc -l UserParameter=check_cpu,./custom_script.sh

UserParameterDir

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

例:

UserParameterDir=/opt/myscripts

参照

  1. バージョン 2.0.0 以降のアクティブ チェックとパッシブ チェックの Zabbix エージェント構成の違い