1 Zabbix エージェント
概要
このセクションでは、データ収集のためにZabbixエージェントとの通信を使用するアイテムキーの詳細について説明します。
パッシブチェックとアクティブチェックがあります。 アイテムを設定する際に、必要なタイプを選択できます:
- Zabbixエージェント - パッシブチェック用
- Zabbixエージェント(アクティブ) - アクティブチェック用
Zabbixエージェントでサポートされているすべてのアイテムキーは、新世代のZabbixエージェント2でもサポートされていることに注意してください。 エージェント2でのみ使用できる追加のアイテムキーも参照してください。
サポートされているアイテムキー
Zabbixエージェントで使用できるアイテムキーを以下に示します。
アイテムキーはパラメータや追加情報なしでリストされています。
アイテムキーをクリックすると、詳細が表示されます。
| アイテムキー | 説明 | アイテムグループ |
|---|---|---|
| kernel.maxfiles | OSがサポートする最大オープンファイル数。 | カーネル |
| kernel.maxproc | OSがサポートする最大プロセス数。 | |
| kernel.openfiles | 現在開いているファイルディスクリプタ数。 | |
| log | ログファイルの監視。 | ログ監視 |
| log.count | 監視対象のログファイルで一致した行数。 | |
| logrt | ローテートされるログファイルの監視。 | |
| logrt.count | ローテートされる監視対象のログファイルで一致した行数。 | |
| modbus.get | Modbusデータの読み取り。 | Modbus |
| net.dns | DNSサービスの状態をチェック。 | ネットワーク |
| net.dns.perf | DNSサービスのパフォーマンスをチェック。 | |
| net.dns.record | DNSクエリを実行。 | |
| net.if.collisions | ウィンドウ外コリジョン数。 | |
| net.if.discovery | ネットワークインターフェースのリスト。 | |
| net.if.in | ネットワークインターフェースの受信トラフィック統計。 | |
| net.if.out | ネットワークインターフェースの送信トラフィック統計。 | |
| net.if.total | ネットワークインターフェースの受信・送信トラフィック統計の合計。 | |
| net.tcp.listen | このTCPポートがLISTEN状態かどうかをチェック。 | |
| net.tcp.port | 指定したポートにTCP接続できるかどうかをチェック。 | |
| net.tcp.service | サービスが稼働し、TCP接続を受け付けているかどうかをチェック。 | |
| net.tcp.service.perf | TCPサービスのパフォーマンスをチェック。 | |
| net.tcp.socket.count | パラメータに一致するTCPソケット数を返す。 | |
| net.udp.listen | このUDPポートがLISTEN状態かどうかをチェック。 | |
| net.udp.service | サービスが稼働し、UDPリクエストに応答しているかどうかをチェック。 | |
| net.udp.service.perf | UDPサービスのパフォーマンスをチェック。 | |
| net.udp.socket.count | パラメータに一致するUDPソケット数を返す。 | |
| proc.cpu.util | プロセスのCPU使用率(%)。 | プロセス |
| proc.get | OSプロセスとそのパラメータのリスト。 | |
| proc.mem | プロセスが使用するメモリ(バイト単位)。 | |
| proc.num | プロセス数。 | |
| sensor | ハードウェアセンサーの値。 | センサー |
| system.boottime | システムの起動時刻。 | システム |
| system.cpu.discovery | 検出されたCPU/CPUコアのリスト。 | |
| system.cpu.intr | デバイス割り込み数。 | |
| system.cpu.load | CPU負荷。 | |
| system.cpu.num | CPU数。 | |
| system.cpu.switches | コンテキストスイッチ数。 | |
| system.cpu.util | CPU使用率(%)。 | |
| system.hostname | システムのホスト名。 | |
| system.hw.chassis | シャーシ情報。 | |
| system.hw.cpu | CPU情報。 | |
| system.hw.devices | PCIまたはUSBデバイスのリスト。 | |
| system.hw.macaddr | MACアドレスのリスト。 | |
| system.localtime | システム時刻。 | |
| system.run | ホスト上で指定したコマンドを実行。 | |
| system.stat | システム統計情報。 | |
| system.sw.arch | ソフトウェアアーキテクチャ情報。 | |
| system.sw.os | オペレーティングシステム情報。 | |
| system.sw.os.get | オペレーティングシステムの詳細情報(バージョン、タイプ、ディストリビューション名、メジャー・マイナーバージョンなど)。 | |
| system.sw.packages | インストール済みパッケージのリスト。 | |
| system.sw.packages.get | インストール済みパッケージの詳細リスト。 | |
| system.swap.in | スワップイン(デバイス→メモリ)の統計。 | |
| system.swap.out | スワップアウト(メモリ→デバイス)の統計。 | |
| system.swap.size | スワップ領域のサイズ(バイト単位または全体に対する割合)。 | |
| system.uname | システムの識別。 | |
| system.uptime | システムの稼働時間(秒単位)。 | |
| system.users.num | ログインしているユーザー数。 | |
| vfs.dev.discovery | ブロックデバイスとそのタイプのリスト。 | 仮想ファイルシステム |
| vfs.dev.read | ディスクリード統計。 | |
| vfs.dev.write | ディスクライト統計。 | |
| vfs.dir.count | ディレクトリエントリ数。 | |
| vfs.dir.get | ディレクトリエントリのリスト。 | |
| vfs.dir.size | ディレクトリサイズ。 | |
| vfs.file.cksum | UNIX cksumアルゴリズムで計算したファイルのチェックサム。 | |
| vfs.file.contents | ファイルの内容の取得。 | |
| vfs.file.exists | ファイルの存在チェック。 | |
| vfs.file.get | ファイルに関する情報を返す。 | |
| vfs.file.md5sum | ファイルのMD5チェックサム。 | |
| vfs.file.owner | ファイルの所有者を取得。 | |
| vfs.file.permissions | UNIXパーミッションの8進数を含む4桁の文字列を返す。 | |
| vfs.file.regexp | ファイル内の文字列を取得。 | |
| vfs.file.regmatch | ファイル内の文字列を検索。 | |
| vfs.file.size | ファイルサイズ。 | |
| vfs.file.time | ファイルの時刻情報。 | |
| vfs.fs.discovery | タイプやマウントオプション付きのマウント済みファイルシステムのリスト。 | |
| vfs.fs.get | タイプ、空きディスク容量、inode統計、マウントオプション付きのマウント済みファイルシステムのリスト。 | |
| vfs.fs.inode | inode数または割合。 | |
| vfs.fs.size | ディスク容量(バイト単位または全体に対する割合)。 | |
| vm.memory.size | メモリ容量(バイト単位または全体に対する割合)。 | 仮想メモリ |
| web.page.get | Webページの内容を取得。 | Web監視 |
| web.page.perf | Webページ全体のロード時間。 | |
| web.page.regexp | Webページ内の文字列検索。 | |
| agent.hostmetadata | エージェントのホストメタデータ。 | Zabbix |
| agent.hostname | エージェントのホスト名。 | |
| agent.ping | エージェントの可用性チェック。 | |
| agent.variant | Zabbixエージェントのバリアント(Zabbix agentまたはZabbix agent 2)。 | |
| agent.version | Zabbixエージェントのバージョン。 | |
| zabbix.stats | Zabbixサーバーまたはプロキシの内部メトリクスをリモートで返す。 | |
| zabbix.stats | Zabbixサーバーまたはプロキシで遅延しているキュー内の監視アイテム数をリモートで返す。 |
サポートされているプラットフォーム
アイテムの詳細で特に指定がない限り、エージェントアイテム(およびすべてのパラメータ)は以下でサポートされています:
- Linux
- FreeBSD
- Solaris
- HP-UX
- AIX
- MacOS X
- OpenBSD
- NetBSD
多くのエージェントアイテムはWindowsでもサポートされています。 詳細はWindowsエージェントアイテムのページを参照してください。
アイテムキーの詳細
山括弧のないパラメータは必須です。 山括弧 < > で囲まれたパラメータはオプションです。
kernel.maxfiles
OSがサポートする最大オープンファイル数。
戻り値: 整数。
対応プラットフォーム: Linux, FreeBSD, MacOS X, OpenBSD, NetBSD。
kernel.maxproc
OSがサポートする最大プロセス数。
戻り値: 整数。
対応プラットフォーム: Linux 2.6以降、FreeBSD、Solaris、MacOS X、OpenBSD、NetBSD。
kernel.openfiles
現在開いているファイルディスクリプタの数。
戻り値:整数。
対応プラットフォーム:Linux(他のUNIX系プラットフォームでも動作する場合があります)。
log[file,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>,<persistent dir>]
ログファイルの監視。
戻り値: Log。
サポートされているプラットフォームを参照。
パラメータ:
- file - ログファイルのフルパスとファイル名;
- regexp - 必要なパターンを記述する正規表現;
- encoding - コードページの識別子;
- maxlines - エージェントがZabbixサーバーまたはプロキシに1秒あたり送信する新しい行の最大数。
このパラメータはzabbix_agentd.confの'MaxLinesPerSecond'の値を上書きします;
- mode - 可能な値: all (デフォルト) または skip - 古いデータの処理をスキップ(新しく作成されたアイテムのみに影響);
- output - オプションの出力フォーマットテンプレート。
\0 エスケープシーケンスは一致したテキスト部分(マッチが始まる最初の文字からマッチが終わる文字まで)に置き換えられ、\N(N=1...9)エスケープシーケンスはN番目の一致グループ(またはNがキャプチャグループ数を超える場合は空文字列)に置き換えられます;
- maxdelay - 最大遅延秒数。
型: float。
値: 0 - (デフォルト)ログファイル行を無視しない; > 0.0 - "maxdelay"秒以内に最新の行が分析されるように、古い行を無視する。
使用前にmaxdelayの注意事項をお読みください!
- options - 追加オプション:
mtime-noreread - 一意でないレコード、ファイルサイズが変更された場合のみ再読み込み(変更時刻の変更は無視)。 (このパラメータは5.0.2以降非推奨です。現在はmtimeが無視されるためです。) - persistent dir(Unixシステムのzabbix_agentdのみ; Zabbix agent 2ではサポートされていません)- 永続ファイルを保存するディレクトリの絶対パス名。 永続ファイルに関する追加の注意事項も参照してください。
コメント:
- アイテムはアクティブチェックとして設定する必要があります;
- ファイルが存在しない場合やアクセス権がない場合、アイテムはサポート対象外になります;
outputが空の場合、一致したテキストを含む行全体が返されます。 'Result is TRUE'以外のすべてのグローバル正規表現タイプは常に一致した行全体を返し、outputパラメータは無視されることに注意してください。outputパラメータを使用した内容の抽出はエージェント側で行われます。
例:
log[/var/log/syslog]
log[/var/log/syslog,error]
log[/home/zabbix/logs/logfile,,,100]
ログレコードから数値を抽出するためにoutputパラメータを使用する例:
log[/app1/app.log,"task run [0-9.]+ sec, processed ([0-9]+) records, [0-9]+ errors",,,,\1] #このアイテムはログレコード"2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors"にマッチし、'6080'のみをサーバーに送信します。数値が送信されるため、このアイテムの"情報の型"は"数値(整数)"に設定でき、グラフやトリガーなどで値を使用できます。
サーバーに送信する前にログレコードを書き換えるためにoutputパラメータを使用する例:
log[/app1/app.log,"([0-9 :-]+) task run ([0-9.]+) sec, processed ([0-9]+) records, ([0-9]+) errors",,,,"\1 RECORDS: \3, ERRORS: \4, DURATION: \2"] #このアイテムはログレコード"2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors"にマッチし、修正されたレコード"2015-11-13 10:08:26 RECORDS: 6080, ERRORS: 0, DURATION: 6.08"をサーバーに送信します。
log.count[file,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>,<options>,<persistent dir>]
監視対象のログファイル内で一致した行数をカウントします。
戻り値: 整数。
サポートされているプラットフォームを参照してください。
パラメータ:
- file - ログファイルのフルパスとファイル名;
- regexp - 必要なパターンを記述する正規表現;
- encoding - コードページの識別子;
- maxproclines - エージェントが1秒あたりに解析する新しい行の最大数 (10000を超えることはできません)。
デフォルト値はzabbix_agentd.confの10*'MaxLinesPerSecond'です。
- mode - 可能な値: all (デフォルト) または skip - 古いデータの処理をスキップ (新しく作成されたアイテムにのみ影響します)。
- maxdelay - 秒単位の最大遅延。
型: float。
値: 0 - (デフォルト) ログファイルの行を無視しない; > 0.0 - "maxdelay"秒以内に最新の行を解析するために古い行を無視します。
使用前にmaxdelayの注意事項をお読みください!
- options - 追加オプション:
mtime-noreread - 一意でないレコード、ファイルサイズが変更された場合のみ再読み込み (変更時刻の変更は無視)。 (このパラメータは5.0.2以降非推奨です。現在はmtimeが無視されるためです。) - persistent dir (Unixシステムのzabbix_agentdのみ; Zabbix agent 2ではサポートされていません) - 永続ファイルを保存するディレクトリの絶対パス名。 永続ファイルに関する追加の注意事項も参照してください。
コメント:
- アイテムはアクティブチェックとして設定する必要があります;
- 一致した行は、エージェントによる前回のログチェック以降の新しい行でカウントされるため、アイテムの更新間隔に依存します;
- ファイルが存在しない場合や権限がなくアクセスできない場合、アイテムはサポート対象外になります。
logrt[file regexp,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>,<persistent dir>]
ローテーションされるログファイルの監視。
戻り値: Log。
サポートされているプラットフォームを参照。
パラメータ:
- file regexp - ファイル名を正規表現で指定した絶対パス。
正規表現はファイル名のみに適用され、ファイル名全体に一致する必要はありません (例: /path/to/agent は zabbix_agentd.log に一致します)。
- regexp - 必要な内容パターンを記述する正規表現。
- encoding - コードページ識別子。
- maxlines - エージェントがZabbixサーバーまたはプロキシに送信する1秒あたりの新しい行の最大数。
このパラメータはzabbix_agentd.confの'MaxLinesPerSecond'の値を上書きします。
- mode - 可能な値: all (デフォルト) または skip - 古いデータの処理をスキップ (新しく作成されたアイテムのみに影響)。
- output - オプションの出力フォーマットテンプレート。
\0 エスケープシーケンスは一致したテキスト部分 (一致が始まる最初の文字から一致が終わる文字まで) に置き換えられ、\N (N=1...9) エスケープシーケンスはN番目の一致グループ (キャプチャグループ数を超える場合は空文字列) に置き換えられます。
- maxdelay - 最大遅延秒数。
型: float。
値: 0 - (デフォルト) ログファイル行を無視しない; > 0.0 - "maxdelay"秒以内に最新の行を分析するために古い行を無視する。
使用前にmaxdelayの注意事項をお読みください!
- options - ログファイルのローテーションタイプおよびその他のオプション。
可能な値:
rotate (デフォルト),
copytruncate - copytruncateはmaxdelayと同時に使用できません。 この場合maxdelayは0または未指定でなければなりません; copytruncateの注意事項を参照,
mtime-reread - 非ユニークレコード、修正時刻またはサイズが変更された場合に再読込 (明示的にmtime-*オプションが設定されていない場合はデフォルトで使用),
mtime-noreread - 非ユニークレコード、サイズが変更された場合のみ再読込 (修正時刻の変更は無視)。 - persistent dir (Unixシステムのzabbix_agentdのみ; Zabbix agent 2ではサポートされていません) - 永続ファイルを保存するディレクトリの絶対パス名。 ログアイテムの永続ファイルに関する追加の注意事項も参照してください。
コメント:
- アイテムはアクティブチェックとして設定する必要があります。
- ログローテーションはファイルの最終更新時刻に基づいています。
- logrtは、現在アクティブな1つのログファイルと、ローテーションされた複数の非アクティブファイルで動作するように設計されています。 たとえば、ディレクトリに多数のアクティブなログファイルがある場合は、それぞれに個別のlogrtアイテムを作成する必要があります。 1つのlogrtアイテムが多くのファイルを取得すると、メモリ不足や監視のクラッシュにつながる可能性があります。
outputが空の場合、一致したテキストを含む行全体が返されます。 'Result is TRUE'以外のすべてのグローバル正規表現タイプは常に一致した行全体を返し、outputパラメータは無視されます。outputパラメータによる内容抽出はエージェント上で行われます。file regexpパラメータでは、ログディレクトリパスとログファイルの正規表現は正しいディレクトリセパレータで区切る必要があります:- Windowsでは、セパレータはバックスラッシュ(\)でなければなりません; スラッシュは他の位置では許容される場合がありますが、ログディレクトリパスとログファイルの正規表現を区切る位置では許容されません (下記の例を参照)。
- その他のシステムでは、スラッシュ(/)でなければなりません。
Windowsの例:
logrt["c:/dir1/dir2/dir3\filename.*\.log","pattern_to_match"] #このアイテムは、"c:/dir1/dir2/dir3"内でファイル名が"filename"で始まり".log"に一致する拡張子を持つログファイルからデータを収集します。
logrt["//example.com/share/dir1/dir2/dir3\filename.*\.log","pattern_to_match"] #このアイテムは、ネットワーク共有"//example.com/share/dir1/dir2/dir3"内でファイル名が"filename"で始まり".log"に一致する拡張子を持つログファイルからデータを収集します。
その他のシステムの例:
logrt["/home/zabbix/logs/^logfile[0-9]{1,3}$",,,100] #このアイテムは"logfile1"のようなファイルに一致します (".logfile1"には一致しません)。
logrt["/home/user/^logfile_.*_[0-9]{1,3}$","pattern_to_match","UTF-8",100] #このアイテムは"logfile_abc_1"や"logfile__001"のようなファイルからデータを収集します。
ログレコードから数値を抽出するためにoutputパラメータを使用する例:
logrt[/app1/^test.*log$,"task run [0-9.]+ sec, processed ([0-9]+) records, [0-9]+ errors",,,,\1] #このアイテムはログレコード"2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors"に一致し、'6080'のみをサーバーに送信します。数値が送信されるため、このアイテムの"情報の型"は"数値(整数)"に設定でき、グラフやトリガーなどで値を使用できます。
サーバーに送信する前にログレコードを書き換えるためにoutputパラメータを使用する例:
logrt[/app1/^test.*log$,"([0-9 :-]+) task run ([0-9.]+) sec, processed ([0-9]+) records, ([0-9]+) errors",,,,"\1 RECORDS: \3, ERRORS: \4, DURATION: \2"] #このアイテムはログレコード"2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors"に一致し、修正されたレコード"2015-11-13 10:08:26 RECORDS: 6080, ERRORS: 0, DURATION: 6.08"をサーバーに送信します。
logrt.count[file regexp,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>,<options>,<persistent dir>]
ローテーションされる監視対象のログファイル内で一致した行数をカウントします。
戻り値: 整数。
サポートされているプラットフォームを参照してください。
パラメータ:
- file regexp - ファイル名を正規表現で指定した絶対パス。
正規表現はファイル名のみに適用され、ファイル名全体に一致する必要はありません(例: /path/to/agent は zabbix_agentd.log に一致します)。
- regexp - 必要なパターンを記述する正規表現。
- encoding - コードページの識別子。
- maxproclines - エージェントが1秒あたりに解析する新しい行の最大数(10000を超えることはできません)。
デフォルト値はzabbix_agentd.confの10*'MaxLinesPerSecond'です。
- mode - 可能な値: all(デフォルト)またはskip - 古いデータの処理をスキップ(新しく作成されたアイテムにのみ影響します)。
- maxdelay - 最大遅延秒数。
型: float。
値: 0 - (デフォルト)ログファイルの行を無視しない; > 0.0 - "maxdelay"秒以内に最新の行を解析するために古い行を無視します。
使用前にmaxdelayの注意事項をお読みください!
- options - ログファイルのローテーションタイプおよびその他のオプション。
可能な値:
rotate(デフォルト)、
copytruncate - copytruncateはmaxdelayと同時に使用できません。 この場合、maxdelayは0または指定しない必要があります。copytruncateの注意事項を参照してください。
mtime-reread - 一意でないレコード、修正時刻またはサイズが変更された場合に再読み込み(デフォルト)、
mtime-noreread - 一意でないレコード、サイズが変更された場合のみ再読み込み(修正時刻の変更は無視)。 - persistent dir(Unixシステムのzabbix_agentdのみ; Zabbix agent 2ではサポートされていません)- 永続ファイルを保存するディレクトリの絶対パス名。 ログアイテムの永続ファイルに関する追加の注意事項も参照してください。
コメント:
- アイテムはアクティブチェックとして設定する必要があります。
- 一致した行は、エージェントによる最後のログチェック以降の新しい行でカウントされるため、アイテムの更新間隔に依存します。
- ログのローテーションはファイルの最終更新時刻に基づいています。
file regexpパラメータでは、ログディレクトリパスとログファイルの正規表現は正しいディレクトリセパレータで区切る必要があります:- Windowsでは、セパレータはバックスラッシュ(\)でなければなりません。スラッシュは他の位置では許容される場合がありますが、ログディレクトリパスとログファイルの正規表現を区切る位置では許容されません(下記の例を参照)。
- その他のシステムでは、スラッシュ(/)でなければなりません。
Windowsの例:
logrt.count["c:/dir1/dir2/dir3\filename.*\.log","pattern_to_match"] #このアイテムは、"c:/dir1/dir2/dir3"にあるログファイルで"pattern_to_match"パターンに一致する数をカウントします。
logrt.count["//example.com/share/dir1/dir2/dir3\filename.*\.log","pattern_to_match"] #このアイテムは、ネットワーク共有"//example.com/share/dir1/dir2/dir3"にあるログファイルで"pattern_to_match"パターンに一致する数をカウントします。
その他のシステムの例:
logrt.count["/home/zabbix/logs/.*","^logfile[0-9]{1,3}$",,100] #このアイテムは、"/home/zabbix/logs"ディレクトリ内のログファイルで"^logfile[0-9]{1,3}$"パターンに一致する数をカウントします。
logrt.count["/home/user/^logfile_.*_[0-9]{1,3}$","pattern_to_match","UTF-8",100] #このアイテムは、"/home/user"にあるログファイルで"pattern_to_match"パターンの出現回数をカウントします。
modbus.get[endpoint,<slave id>,<function>,<address>,<count>,<type>,<endianness>,<offset>]
Modbusデータを読み取ります。
戻り値:JSON文字列。
対応プラットフォーム:Linux、Windows。
パラメータ:
- endpoint -
protocol://connection_stringとして定義されたエンドポイント; - slave id - スレーブID;
- function - Modbus関数;
- address - 最初のレジストリ、コイルまたは入力のアドレス;
- count - 読み取るレコード数;
- type - データの型;
- endianness - エンディアン設定;
- offset - 'address'から始まるレジスタのうち、結果を破棄する数。
Windowsでは、このアイテムはendpointパラメータ内のUNCパスをたどります。これはセキュリティリスクとなる可能性があります。
パラメータの詳細な説明を参照してください。
net.dns[<ip>,name,<type>,<timeout>,<count>,<protocol>]
DNSサービスの状態をチェックします。
戻り値:0 - DNS解決に失敗(DNSサーバーが応答しない、またはエラーを返した場合);1 - DNS解決に成功。
サポートされているプラットフォームを参照してください。
パラメータ:
- ip(Zabbix agent 2を使用していないWindowsでは無視されます)- DNSサーバーのIPアドレス(デフォルトのDNSサーバーを使用する場合は空欄);
- name - 問い合わせるDNS名;
- type - 問い合わせるレコードタイプ(デフォルトはSOA);
- timeout(Zabbix agent 2を使用していないWindowsでは無視されます)- リクエストのタイムアウト(秒、デフォルトは1秒);
- count(Zabbix agent 2を使用していないWindowsでは無視されます)- リクエストの試行回数(デフォルトは2);
- protocol - DNSクエリに使用するプロトコル:udp(デフォルト)またはtcp。
コメント:
typeの指定可能な値は、ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS(WindowsのZabbix agent、すべてのOSのZabbix agent 2ではサポートされません)、HINFO, MINFO, TXT, SRVです。- 逆引きDNSルックアップ(
typeをPTRに設定した場合)では、DNS名を逆順・非逆順のどちらの形式でも指定できます(下記の例を参照)。 PTRレコードを要求する場合、DNS名は実際にはIPアドレスであることに注意してください。 - 国際化ドメイン名はサポートされていません。代わりにIDNAエンコードされた名前を使用してください。
例:
net.dns[198.51.100.1,example.com,MX,2,1]
net.dns[,198.51.100.1,PTR]
net.dns[,1.100.51.198.in-addr.arpa,PTR]
net.dns[,2a00:1450:400f:800::200e,PTR]
net.dns[,e.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.0.f.0.0.4.0.5.4.1.0.0.a.2.ip6.arpa,PTR]
net.dns.perf[<ip>,name,<type>,<timeout>,<count>,<protocol>]
DNSサービスのパフォーマンスをチェックします。
戻り値: Float (0 - サービスがダウンしている場合; 秒数 - サービスからの応答を待った秒数)。
サポートされているプラットフォームを参照してください。
パラメータ:
- ip (WindowsではZabbix agent 2を使用しない限り無視されます) - DNSサーバーのIPアドレス(デフォルトのDNSサーバーを使用する場合は空欄);
- name - 問い合わせるDNS名;
- type - 問い合わせるレコードタイプ(デフォルトはSOA);
- timeout (WindowsではZabbix agent 2を使用しない限り無視されます) - リクエストのタイムアウト(秒)(デフォルトは1秒);
- count (WindowsではZabbix agent 2を使用しない限り無視されます) - リクエストの試行回数(デフォルトは2);
- protocol - DNSクエリを実行するためのプロトコル: udp(デフォルト)またはtcp。
コメント:
typeの可能な値は次のとおりです:
ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS(Windows上のZabbix agent、すべてのOS上のZabbix agent 2ではサポートされていません), HINFO, MINFO, TXT, SRV- 逆引きDNSルックアップ(
typeがPTRに設定されている場合)では、DNS名を逆順形式と非逆順形式の両方で指定できます(下記の例を参照)。 PTRレコードが要求される場合、DNS名は実際にはIPアドレスであることに注意してください。 - 国際化ドメイン名はサポートされていません。代わりにIDNAエンコードされた名前を使用してください。
- DNSサーバーがエラーコード(たとえば、
NXDOMAINやSERVFAIL)で応答した場合、アイテムは0ではなく応答時間を返します。
例:
net.dns.perf[198.51.100.1,example.com,MX,2,1]
net.dns.perf[,198.51.100.1,PTR]
net.dns.perf[,1.100.51.198.in-addr.arpa,PTR]
net.dns.perf[,2a00:1450:400f:800::200e,PTR]
net.dns.perf[,e.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.0.f.0.0.4.0.5.4.1.0.0.a.2.ip6.arpa,PTR]
net.dns.record[<ip>,name,<type>,<timeout>,<count>,<protocol>]
DNSクエリを実行します。
Zabbix agent 2は、net.dns.getも提供しており、より多くのレコードタイプやDNS監視の制御強化などの追加機能を備えています。
戻り値: 必要なタイプの情報を含む文字列。
サポートされているプラットフォームを参照してください。
パラメータ:
- ip (Zabbix agent 2を使用しない限りWindowsでは無視されます) - DNSサーバーのIPアドレス(デフォルトのDNSサーバーを使用する場合は空白);
- name - クエリを実行するDNS名;
- type - クエリを実行するレコードタイプ(デフォルトはSOA);
- timeout (Zabbix agent 2を使用しない限りWindowsでは無視されます) - リクエストのタイムアウト(秒、デフォルトは1秒);
- count (Zabbix agent 2を使用しない限りWindowsでは無視されます) - リクエストの試行回数(デフォルトは2);
- protocol - DNSクエリを実行する際のプロトコル: udp(デフォルト)またはtcp。
コメント:
typeの可能な値は以下の通りです:
ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS(Windows上のZabbix agent、全OS上のZabbix agent 2ではサポートされません)、HINFO, MINFO, TXT, SRV- 逆引きDNSルックアップ(
typeをPTRに設定した場合)では、DNS名を逆順または非逆順の形式で指定できます(下記の例を参照)。 PTRレコードが要求される場合、DNS名は実際にはIPアドレスであることに注意してください。 - 国際化ドメイン名はサポートされていません。代わりにIDNAエンコードされた名前を使用してください。
例:
net.dns.record[198.51.100.1,example.com,MX,2,1]
net.dns.record[,198.51.100.1,PTR]
net.dns.record[,1.100.51.198.in-addr.arpa,PTR]
net.dns.record[,2a00:1450:400f:800::200e,PTR]
net.dns.record[,e.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.0.f.0.0.4.0.5.4.1.0.0.a.2.ip6.arpa,PTR]
net.if.collisions[if]
ウィンドウ外の衝突回数。
戻り値: 整数。
対応プラットフォーム: Linux, FreeBSD, Solaris, AIX, MacOS X, OpenBSD, NetBSD。
NetBSDではroot権限が必要です。
パラメータ:
- if - ネットワークインターフェース名
net.if.discovery
ネットワークインターフェースのリスト。ローレベルディスカバリで使用します。
戻り値: JSON文字列。
対応プラットフォーム: Linux, FreeBSD, Solaris, HP-UX, AIX, OpenBSD, NetBSD, Windows。
net.if.in[if,<mode>]
ネットワークインターフェースの受信トラフィック統計情報。
戻り値: 整数。
対応プラットフォーム: Linux, FreeBSD, Solaris5, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows。
NetBSDではroot権限が必要です。
パラメータ:
- if - ネットワークインターフェース名 (Unix); ネットワークインターフェースの完全な説明またはIPv4アドレス; もしくは中括弧で囲んだ場合はネットワークインターフェースのGUID (Windows);
- mode - 可能な値:
bytes - バイト数 (デフォルト)
packets - パケット数
errors - エラー数
dropped - ドロップされたパケット数
overruns (fifo) - FIFOバッファエラー数
frame - パケットフレーミングエラー数
compressed - デバイスドライバによって受信された圧縮パケット数
multicast - デバイスドライバによって受信されたマルチキャストフレーム数
コメント:
- このキーは1秒あたりの変化の前処理ステップと組み合わせて使用することで、1秒あたりのバイト数統計を取得できます。
- droppedモードはLinux、FreeBSD、HP-UX、MacOS X、OpenBSD、NetBSDでのみサポートされています。
- overruns、frame、compressed、multicastモードはLinuxでのみサポートされています。
- HP-UXでは、このアイテムはループバックインターフェース(例: lo0)の詳細を提供しません。
例:
net.if.in[eth0]
net.if.in[eth0,errors]
net.if.out[if,<mode>]
ネットワークインターフェースの送信トラフィック統計情報。
戻り値: 整数。
対応プラットフォーム: Linux, FreeBSD, Solaris5, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows。
NetBSDではroot権限が必要です。
パラメータ:
- if - ネットワークインターフェース名(Unix); ネットワークインターフェースの完全な説明またはIPv4アドレス; もしくは、波括弧で囲んだ場合はネットワークインターフェースのGUID(Windows);
- mode - 可能な値:
bytes - バイト数(デフォルト)
packets - パケット数
errors - エラー数
dropped - ドロップされたパケット数
overruns (fifo) - FIFOバッファエラー数
collisions (colls) - インターフェースで検出された衝突数
carrier - デバイスドライバによって検出されたキャリア損失数
compressed - デバイスドライバによって送信された圧縮パケット数
コメント:
- このキーは、Change per secondの事前処理ステップと組み合わせて使用することで、1秒あたりのバイト数の統計を取得できます。
- droppedモードはLinux、HP-UXでのみサポートされています。
- overruns、collision、carrier、compressedモードはLinuxでのみサポートされています。
- HP-UXでは、このアイテムはループバックインターフェース(例: lo0)の詳細を提供しません。
例:
net.if.out[eth0]
net.if.out[eth0,errors]
net.if.total[if,<mode>]
ネットワークインターフェースの受信および送信トラフィック統計の合計。
戻り値: 整数。
対応プラットフォーム: Linux, FreeBSD, Solaris5, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows。
NetBSDではroot権限が必要です。
パラメータ:
- if - ネットワークインターフェース名(Unix);ネットワークインターフェースの完全な説明またはIPv4アドレス;または、中括弧で囲まれた場合はネットワークインターフェースのGUID(Windows);
- mode - 指定可能な値:
bytes - バイト数(デフォルト)
packets - パケット数
errors - エラー数
dropped - ドロップされたパケット数
overruns (fifo) - FIFOバッファエラー数
collisions (colls) - インターフェースで検出された衝突数
compressed - デバイスドライバによって送信または受信された圧縮パケット数
コメント:
- このキーは、Change per secondの前処理ステップと組み合わせて使用することで、1秒あたりのバイト数の統計を取得できます。
- droppedモードはLinux、HP-UXのみサポートされています。
ドロップされたパケットは、プラットフォームで
net.if.inとnet.if.outの両方がドロップされたパケットに対応している場合のみサポートされます。 - overruns、collision、compressedモードはLinuxのみサポートされています。
- HP-UXでは、このアイテムはループバックインターフェース(例: lo0)の詳細を提供しません。
例:
net.if.total[eth0]
net.if.total[eth0,errors]
net.tcp.listen[port]
このTCPポートがLISTEN状態かどうかをチェックします。
戻り値: 0 - LISTEN状態ではありません; 1 - LISTEN状態です。
対応プラットフォーム: Linux, FreeBSD, Solaris, MacOS X, Windows。
パラメータ:
- port - TCPポート番号
Linuxカーネル2.6.14以降では、可能であればカーネルのNETLINKインターフェースからLISTEN状態のTCPソケット情報を取得します。 それ以外の場合は、/proc/net/tcpおよび/roc/net/tcp6ファイルから情報を取得します。
例:
net.tcp.listen[80]
net.tcp.port[<ip>,port]
指定したポートへのTCP接続が可能かどうかをチェックします。
戻り値: 0 - 接続できない; 1 - 接続できる。
サポートされているプラットフォームを参照してください。
パラメータ:
- ip - IPアドレスまたはDNS名 (デフォルトは127.0.0.1);
- port - ポート番号。
コメント:
- シンプルなTCPパフォーマンステストには
net.tcp.service.perf[tcp,<ip>,<port>]を使用してください; - これらのチェックは、システムデーモンのログファイルに追加のメッセージを生成する場合があります (通常、SMTPやSSHセッションが記録されます)。
例:
net.tcp.port[,80] #このアイテムは、ポート80で稼働しているWebサーバの可用性テストに使用できます
net.tcp.service[service,<ip>,<port>]
サービスが稼働しており、TCP接続を受け付けているかどうかをチェックします。
戻り値: 0 - サービスがダウン; 1 - サービスが稼働中。
サポートされているプラットフォームを参照してください。
パラメータ:
- service - ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, または telnet (詳細を参照);
- ip - IPアドレスまたはDNS名 (デフォルトは127.0.0.1);
- port - ポート番号 (デフォルトでは標準サービスのポート番号が使用されます)。
コメント:
- これらのチェックは、システムデーモンのログファイルに追加のメッセージを生成する場合があります (通常、SMTPやSSHセッションが記録されます);
- 暗号化プロトコル (ポート993のIMAPやポート995のPOPなど) のチェックは現在サポートされていません。
このようなチェックには、
net.tcp.port[]を使用してください。 - WindowsでのLDAPおよびHTTPSのチェックは、Zabbix agent 2でのみサポートされています;
- telnetチェックはログインプロンプト (末尾の':'記号) を探します。
例:
net.tcp.service[ftp,,45] #このアイテムは、TCPポート45でのFTPサーバの可用性をテストするために使用できます
net.tcp.service.perf[service,<ip>,<port>]
TCPサービスのパフォーマンスをチェックします。
戻り値: Float (0 - サービスがダウン; 秒数 - サービスからの応答を待つのに費やした秒数)。
サポートされているプラットフォームを参照してください。
パラメータ:
- service - ssh、ldap、smtp、ftp、http、pop、nntp、imap、tcp、https、またはtelnet (詳細を参照);
- ip - IPアドレスまたはDNS名 (デフォルトは127.0.0.1);
- port - ポート番号 (デフォルトでは標準サービスのポート番号が使用されます)。
コメント:
- 暗号化プロトコル(ポート993のIMAPやポート995のPOPなど)のチェックは現在サポートされていません。
このようなチェックには、
net.tcp.service.perf[tcp,<ip>,<port>]を回避策として使用してください。 - telnetチェックはログインプロンプト(末尾の':')を探します。
例:
net.tcp.service.perf[ssh] #このアイテムはSSHサーバーからの初期応答の速度をテストするために使用できます
net.tcp.socket.count[<laddr>,<lport>,<raddr>,<rport>,<state>]
パラメータに一致するTCPソケットの数を返します。
戻り値:整数。
対応プラットフォーム:Linux、Windows。
パラメータ:
- laddr - ローカルIPv4/6アドレスまたはCIDRサブネット
- lport - ローカルポート番号またはサービス名
- raddr - リモートIPv4/6アドレスまたはCIDRサブネット
- rport - リモートポート番号またはサービス名
- state - 接続状態(established、syn_sent、syn_recv、fin_wait1、fin_wait2、time_wait、close、close_wait、last_ack、listen、closing)
例:
net.tcp.socket.count[,80,,,established] #確立状態のローカルTCPポート80への接続数
net.udp.listen[port]
このUDPポートがLISTEN状態かどうかをチェックします。
戻り値: 0 - LISTEN状態ではありません; 1 - LISTEN状態です。
対応プラットフォーム: Linux, FreeBSD, Solaris, MacOS X。
パラメータ:
- port - UDPポート番号
例:
net.udp.listen[68]
net.udp.service[service,<ip>,<port>]
サービスが実行されており、UDPリクエストに応答しているかどうかをチェックします。
戻り値: 0 - サービスがダウンしている; 1 - サービスが実行中。
サポートされているプラットフォームを参照してください。
パラメータ:
- service - ntp (詳細を参照);
- ip - IPアドレスまたはDNS名 (デフォルトは127.0.0.1);
- port - ポート番号 (デフォルトでは標準のサービスポート番号が使用されます)。
例:
net.udp.service[ntp,,45] #このアイテムはUDPポート45でのNTPサービスの可用性をテストするために使用できます
net.udp.service.perf[service,<ip>,<port>]
UDPサービスのパフォーマンスをチェックします。
戻り値: Float (0 - サービスがダウンしている場合; 秒数 - サービスからの応答を待つのに費やした秒数)。
サポートされているプラットフォームを参照してください。
パラメータ:
- service - ntp (詳細を参照);
- ip - IPアドレスまたはDNS名 (デフォルトは127.0.0.1);
- port - ポート番号 (デフォルトでは標準サービスのポート番号が使用されます)。
例:
net.udp.service.perf[ntp] #このアイテムはNTPサービスからの応答時間のテストに使用できます
net.udp.socket.count[<laddr>,<lport>,<raddr>,<rport>,<state>]
パラメータに一致するUDPソケットの数を返します。
戻り値: 整数。
対応プラットフォーム: Linux, Windows。
パラメータ:
- laddr - ローカルIPv4/6アドレスまたはCIDRサブネット
- lport - ローカルポート番号またはサービス名
- raddr - リモートIPv4/6アドレスまたはCIDRサブネット
- rport - リモートポート番号またはサービス名
- state - 接続状態 (established, unconn)
例:
net.udp.socket.count[,,,,established] #接続状態のUDPソケット数を返す
proc.cpu.util[<name>,<user>,<type>,<cmdline>,<mode>,<zone>]
プロセスのCPU使用率(%)。
戻り値: Float。
対応プラットフォーム: Linux, Solaris6。
パラメータ:
- name - プロセス名(デフォルトはすべてのプロセス);
- user - ユーザー名(デフォルトはすべてのユーザー);
- type - CPU使用率のタイプ: total(デフォルト)、user、またはsystem;
- cmdline - コマンドラインでフィルタリング(正規表現);
- mode - データ収集モード: avg1(デフォルト)、avg5、またはavg15;
- zone - 対象ゾーン: current(デフォルト)またはall。 このパラメータはSolarisのみでサポートされています。
コメント:
- 返される値は、単一のCPUコアの使用率に基づきます。 たとえば、2つのコアをフルに使用しているプロセスのCPU使用率は200%です。
- プロセスのCPU使用率データはコレクターによって収集され、名前、ユーザー、コマンドラインごとに最大1024個のユニークなクエリをサポートします。 過去24時間アクセスされなかったクエリはコレクターから削除されます。
zoneパラメータをcurrent(またはデフォルト)に設定し、エージェントがゾーンをサポートしないSolarisでコンパイルされているが、ゾーンがサポートされている新しいSolarisで実行されている場合、エージェントはNOTSUPPORTEDを返します(エージェントは結果を現在のゾーンのみに制限できません)。 ただし、この場合allはサポートされます。
例:
proc.cpu.util[,root] # "root"ユーザーで実行されているすべてのプロセスのCPU使用率
proc.cpu.util[zabbix_server,zabbix] # zabbixユーザーで実行されているすべてのzabbix_serverプロセスのCPU使用率
proc.get[<name>,<user>,<cmdline>,<mode>]
OSプロセスとそのパラメータのリスト。
低レベルディスカバリに使用できます。
戻り値: JSON文字列。
対応プラットフォーム: Linux, FreeBSD, Windows, OpenBSD, NetBSD。
パラメータ:
- name - プロセス名 (デフォルトはすべてのプロセス);
- user - ユーザー名 (デフォルトはすべてのユーザー);
- cmdline - コマンドラインでフィルタリング (正規表現)。 このパラメータはWindowsではサポートされていません。他のプラットフォームでもmodeが'summary'に設定されている場合はサポートされていません。
- mode - 可能な値:
process (デフォルト), thread (NetBSDではサポートされていません), summary。 各modeおよびOSで返されるプロセスパラメータのリストを参照してください。
コメント:
- たとえば、エラー(プロセスがすでに終了している、権限がない、システムコールの失敗など)のために値を取得できない場合は、
-1が返されます。 nameおよびcmdlineパラメータによるプロセスの選択については、注意事項を参照してください(Linux固有)。
例:
proc.get[zabbix_server,zabbix,,process] #zabbixユーザーで実行されているすべてのzabbix_serverプロセスのリスト、PIDごとに1つのエントリを返す
proc.get[java,,,thread] #すべてのJavaプロセスのリスト、スレッドごとに1つのエントリを返す
proc.get[,zabbix,,summary] #zabbixユーザーで実行されている各タイプのプロセスの集計データ、プロセス名ごとに1つのエントリを返す
proc.mem[<name>,<user>,<mode>,<cmdline>,<memtype>]
プロセスが使用しているメモリ量(バイト単位)。
戻り値: Integer - modeがmax、min、sumの場合; Float - modeがavgの場合
対応プラットフォーム: Linux, FreeBSD, Solaris, AIX, OpenBSD, NetBSD。
パラメータ:
- name - プロセス名 (デフォルトはすべてのプロセス);
- user - ユーザー名 (デフォルトはすべてのユーザー);
- mode - 許可される値: avg、max、min、またはsum (デフォルト);
- cmdline - コマンドラインでフィルタ (正規表現);
- memtype - プロセスが使用するメモリの種類
コメント:
memtypeパラメータはLinux、FreeBSD、Solaris6、AIXでのみサポートされています;- 複数のプロセスが共有メモリを使用している場合、プロセスが使用するメモリの合計は大きく非現実的な値になることがあります。
nameおよびcmdlineパラメータによるプロセス選択の注意事項 (Linux固有)を参照してください。
このアイテムをコマンドラインから呼び出し、コマンドラインパラメータを含めた場合(例: エージェントのテストモードでzabbix_agentd -t proc.mem[,,,apache2]を使用)、エージェント自身もカウントされるため、1つ余分にプロセスがカウントされます。
例:
proc.mem[,root] # "root"ユーザーで実行されているすべてのプロセスが使用するメモリ
proc.mem[zabbix_server,zabbix] # zabbixユーザーで実行されているすべてのzabbix_serverプロセスが使用するメモリ
proc.mem[,oracle,max,oracleZABBIX] # Oracleユーザーで実行されているプロセスのうち、コマンドラインにoracleZABBIXを含む最も多くのメモリを消費しているプロセスのメモリ
proc.num[<name>,<user>,<state>,<cmdline>,<zone>]
プロセス数。
戻り値:整数。
対応プラットフォーム:Linux、FreeBSD、Solaris6、HP-UX、AIX、OpenBSD、NetBSD、Windows。
パラメータ:
- name - プロセス名(デフォルトはすべてのプロセス);
- user - ユーザー名(デフォルトはすべてのユーザー);
- state - 設定可能な値:
all(デフォルト)、
disk - 割り込み不可のスリープ状態、
run - 実行中、
sleep - 割り込み可能なスリープ状態、
trace - 停止中、
zomb - ゾンビ状態; - cmdline - コマンドラインによるフィルタ(正規表現);
- zone - 対象ゾーン:current(デフォルト)またはall。 このパラメータはSolarisのみサポートされています。
コメント:
- diskおよびtraceのstateパラメータは、Linux、FreeBSD、OpenBSD、NetBSDのみサポートされています。
- このアイテムをコマンドラインから呼び出し、コマンドラインパラメータを含む場合(例:エージェントのテストモードで
zabbix_agentd -t proc.num[,,,apache2]を使用)、エージェント自身もカウントされるため、1つ多くプロセスがカウントされます。 - エージェントがゾーンサポートのないSolarisでコンパイルされているが、ゾーンがサポートされている新しいSolarisで実行されている場合、
zoneパラメータをcurrent(またはデフォルト)に設定すると、エージェントはNOTSUPPORTEDを返します(エージェントは結果を現在のゾーンのみに制限できません)。 ただし、この場合はallがサポートされます。 nameおよびcmdlineパラメータによるプロセス選択(Linux固有)については、注意事項を参照してください。
例:
proc.num[,mysql] #mysqlユーザーで実行されているプロセス数
proc.num[apache2,www-data] #www-dataユーザーで実行されているapache2プロセス数
proc.num[,oracle,sleep,oracleZABBIX] #コマンドラインにoracleZABBIXを含む、Oracleで実行中のsleep状態のプロセス数
sensor[device,sensor,<mode>]
ハードウェアセンサーの読み取り値。
戻り値: Float。
対応プラットフォーム: Linux, OpenBSD。
パラメータ:
- device - デバイス名
- sensor - センサー名
- mode - avg、max、min のいずれか
コメント:
- Linux 2.4では /proc/sys/dev/sensors を読み取ります
- Linux 2.6+では /sys/class/hwmon を読み取ります。Linuxでのsensorアイテムの詳細な説明を参照してください
- OpenBSDでは hw.sensors MIB を読み取ります
- Linux 2.4では、modeを指定した場合、deviceとsensorは正規表現として扱われます
- Linux 2.6+およびOpenBSD、またはmodeが省略された場合、deviceとsensorはそのまま扱われます
例:
sensor[w83781d-i2c-0-2d,temp1]
sensor[cpu0,temp0] #1つのCPUの温度
sensor["cpu[0-2]$",temp,avg] #最初の3つのCPUの平均温度
system.boottime
システムの起動時刻。
戻り値: 整数 (Unixタイムスタンプ)。
対応プラットフォーム: Linux, FreeBSD, Solaris, MacOS X, OpenBSD, NetBSD。
system.cpu.discovery
検出されたCPU/CPUコアのリスト。
低レベルディスカバリに使用されます。
戻り値: JSON文字列。
サポートされているプラットフォームを参照してください。
system.cpu.intr
デバイス割り込み。
戻り値: 整数。
対応プラットフォーム: Linux, FreeBSD, Solaris, AIX, OpenBSD, NetBSD。
system.cpu.load[<cpu>,<mode>]
CPUロード。
戻り値:Float。
サポートされているプラットフォームを参照。
パラメータ:
- cpu - 可能な値:all(デフォルト)またはpercpu(合計ロードをオンラインCPU数で割った値);
- mode - 可能な値:avg1(1分間の平均、デフォルト)、avg5、またはavg15。
例:
system.cpu.load[,avg5]
system.cpu.num[<type>]
CPUの数。
戻り値:整数。
対応プラットフォーム:Linux、FreeBSD、Solaris、HP-UX、AIX、MacOS X、OpenBSD、NetBSD、Windows。
パラメータ:
- type - 可能な値:online(デフォルト)またはmax
maxタイプのパラメータは、Linux、FreeBSD、Solaris、MacOS Xでのみサポートされています。
例:
system.cpu.num
system.cpu.switches
コンテキストスイッチの回数。
戻り値: 整数。
対応プラットフォーム: Linux、FreeBSD、Solaris、AIX、OpenBSD、NetBSD。
system.cpu.util[<cpu>,<type>,<mode>,<logical or physical>]
CPU使用率(%)を返します。
戻り値:Float。
対応プラットフォーム:Linux、FreeBSD、Solaris、HP-UX、AIX、OpenBSD、NetBSD、Windows。
パラメータ:
- cpu - <CPU番号> または all(デフォルト);
- type - 指定可能な値:user(デフォルト)、idle、nice、system、iowait、interrupt、softirq、steal、spin(OpenBSDのみ)、guest(Linuxカーネル2.6.24以降)、または guest_nice(Linuxカーネル2.6.33以降);
- mode - 指定可能な値:avg1(1分平均、デフォルト)、avg5、または avg15;
- logical or physical - 指定可能な値:logical(デフォルト)または physical。 このパラメータはAIXのみ対応しています。
コメント:
- niceタイプパラメータはLinux、FreeBSD、HP-UX、OpenBSD、NetBSDのみ対応しています。
- iowaitタイプパラメータはLinux 2.6以降、Solaris、AIXのみ対応しています。
- interruptタイプパラメータはLinux 2.6以降、FreeBSD、OpenBSDのみ対応しています。
- softirq、steal、guest、guest_niceタイプパラメータはLinux 2.6以降のみ対応しています。
- avg5およびavg15モードパラメータはLinux、FreeBSD、Solaris、HP-UX、AIX、OpenBSD、NetBSDで対応しています。
例:
system.cpu.util[0,user,avg5]
system.hostname[<type>,<transform>]
システムのホスト名。
戻り値: 文字列。
サポートされているプラットフォームを参照してください。
パラメータ:
- type - 可能な値: netbios (Windowsのデフォルト)、host (Linuxのデフォルト)、shorthost (最初のドットの前のホスト名の部分、ドットのない名前の場合は完全な文字列を返す)、fqdn (完全修飾ドメイン名を返す);
- transform - 可能な値: none (デフォルト) または lower (小文字に変換)。
値はuname()システムAPIの出力からnodenameを取得して取得されます。
返される値の例:
system.hostname → linux-w7x1
system.hostname → example.com
system.hostname[shorthost] → example
system.hostname → WIN-SERV2008-I6
system.hostname[host] → Win-Serv2008-I6LonG
system.hostname[host,lower] → win-serv2008-i6long
system.hostname[fqdn,lower] → blog.zabbix.com
system.hw.chassis[<info>]
シャーシ情報。
戻り値:文字列。
対応プラットフォーム:Linux。
パラメータ:
- info - 可能な値:full(デフォルト)、model、serial、type、vendor
コメント:
- このアイテムキーはSMBIOSテーブルの利用可能性に依存します。
- sysfsからDMIテーブルの読み取りを試み、sysfsへのアクセスに失敗した場合はメモリから直接読み取ります。
- 値はsysfsまたはメモリから読み取るため、root権限が必要です。
例:
system.hw.chassis[full] → Hewlett-Packard HP Pro 3010 Small Form Factor PC CZXXXXXXXX Desktop
system.hw.cpu[<cpu>,<info>]
CPU情報。
戻り値: String または Integer。
対応プラットフォーム: Linux。
パラメータ:
- cpu - <CPU番号> または all (デフォルト);
- info - 指定可能な値: full (デフォルト), curfreq, maxfreq, model または vendor。
コメント:
/proc/cpuinfoおよび/sys/devices/system/cpu/[cpunum]/cpufreq/cpuinfo_max_freqから情報を取得します;- CPU番号と curfreq または maxfreq が指定された場合、数値(Hz)が返されます。
例:
system.hw.cpu[0,vendor] → AuthenticAMD
system.hw.devices[<type>]
PCIまたはUSBデバイスの一覧。
戻り値: テキスト。
対応プラットフォーム: Linux。
パラメータ:
- type - pci (デフォルト) または usb
lspciまたはlsusbユーティリティ(パラメータなしで実行)の出力を返します。
例:
system.hw.devices → 00:00.0 Host bridge: Advanced Micro Devices [AMD] RS780 Host Bridge
system.hw.macaddr[<interface>,<format>]
MACアドレスの一覧。
戻り値:String。
対応プラットフォーム:Linux。
パラメータ:
- interface - all (デフォルト) または正規表現
- format - full (デフォルト) または short
コメント:
- 名前が指定された
interfaceの正規表現に一致するインターフェースのMACアドレスを一覧表示します(allはすべてのインターフェースを一覧表示します) formatがshortに指定されている場合、インターフェース名や同一のMACアドレスは一覧表示されません。
例:
system.hw.macaddr["eth0$",full] → [eth0] 00:11:22:33:44:55
system.localtime[<type>]
システム時刻。
戻り値: Integer - typeがutcの場合; String - typeがlocalの場合。
サポートされているプラットフォームを参照。
パラメータ:
- type - 可能な値: utc - (デフォルト)エポック(1970年1月1日00:00:00 UTC)からの秒数、またはlocal - 'yyyy-mm-dd,hh:mm:ss.nnn,+hh:mm'形式の時刻
Zabbixエージェントではパッシブチェックとして使用する必要があります。Zabbix agent 2ではアクティブチェックとして設定することもできます。
例:
system.localtime[local] #このキーを使用してアイテムを作成し、*Clock*ダッシュボードウィジェットでホスト時刻を表示するために使用します。
system.run[command,<mode>]
指定したコマンドをホストで実行します。
戻り値: コマンドのテキスト結果、またはmodeがnowaitの場合は1(コマンド結果に関係なく)。
サポートされているプラットフォームを参照してください。
パラメータ:
- command - 実行するコマンド;
- mode - 可能な値: wait - 実行終了まで待機(デフォルト)、またはnowait - 待機しない。
コメント:
- このアイテムはデフォルトで無効になっています。 有効化方法を参照してください;
- アイテムの戻り値は、コマンドによって生成された標準出力と標準エラーです。 終了コードのチェックは行われません;
- 正しく処理されるためには、コマンドの戻り値は
textデータ型でなければなりません。 空の結果も許可されます; - 戻り値は16MBに制限されます(末尾の空白も含み、切り捨てられます)。データベースの制限も適用されます;
- 参考: コマンド実行。
例:
system.run[ls -l /] #ルートディレクトリの詳細なファイルリストを返す
system.stat[resource,<type>]
システム統計情報。
戻り値: 整数 または float。
対応プラットフォーム: AIX。
パラメータ:
- ent - このパーティションが受け取ることができるプロセッサユニット数 (float)
- kthr,<type> - カーネルスレッド状態に関する情報:
r - 実行可能なカーネルスレッドの平均数 (float)
b - 仮想メモリマネージャの待機キューに配置されたカーネルスレッドの平均数 (float) - memory,<type> - 仮想メモリおよび実メモリの使用状況に関する情報:
avm - アクティブな仮想ページ数 (整数)
fre - フリーリストのサイズ (整数) - page,<type> - ページフォールトおよびページングアクティビティに関する情報:
fi - 1秒あたりのファイルページイン数 (float)
fo - 1秒あたりのファイルページアウト数 (float)
pi - ページングスペースからページインされたページ数 (float)
po - ページングスペースにページアウトされたページ数 (float)
fr - 解放されたページ数 (ページ置換) (float)
sr - ページ置換アルゴリズムによってスキャンされたページ数 (float) - faults,<type> - トラップおよび割り込み率:
in - デバイス割り込み (float)
sy - システムコール (float)
cs - カーネルスレッドのコンテキストスイッチ数 (float) - cpu,<type> - プロセッサ時間の使用率の内訳:
us - ユーザー時間 (float)
sy - システム時間 (float)
id - アイドル時間 (float)
wa - ディスク/NFS I/Oリクエストが未処理の間のアイドル時間 (float)
pc - 消費された物理プロセッサ数 (float)
ec - 消費されたエンタイトルドキャパシティの割合 (float)
lbusy - ユーザーおよびシステムレベルで実行中に発生した論理プロセッサの使用率 (float)
app - 共有プール内で利用可能な物理プロセッサ数 (float) - disk,<type> - ディスク統計情報:
bps - ドライブに転送されたデータ量 (読み取りまたは書き込み) を1秒あたりのバイト数で示す (整数)
tps - 物理ディスク/テープに発行された1秒あたりの転送数 (float)
コメント:
- これらのアイテムには以下の制限があることに注意してください:
system.stat[cpu,app]- AIX LPARのタイプ「Shared」でのみサポート
system.stat[cpu,ec]- AIX LPARのタイプ「Shared」と「Dedicated」でサポート(「Dedicated」は常に100(パーセント)を返す)
system.stat[cpu,lbusy]- AIX LPARのタイプ「Shared」でのみサポート
system.stat[cpu,pc]- AIX LPARのタイプ「Shared」と「Dedicated」でサポート
system.stat[ent]- AIX LPARのタイプ「Shared」と「Dedicated」でサポート
system.sw.arch
ソフトウェアアーキテクチャ情報。
戻り値: String。
サポートされているプラットフォームを参照。
情報はuname()関数から取得されます。
例:
system.sw.arch → i686
system.sw.os[<info>]
オペレーティングシステム情報。
戻り値: String。
対応プラットフォーム: Linux, Windows。
パラメータ:
- info - 可能な値: full (デフォルト), short, name
情報は以下から取得されます(すべてのディストリビューションで全てのファイルやオプションが存在するわけではありません):
- Linuxでは
/proc/version(full); - Linuxでは
/proc/version_signature(short); - Linuxシステムでサポートされている場合は
/etc/os-releaseの PRETTY_NAME パラメータ、または/etc/issue.net(name); - Windowsでは
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersionレジストリキー。
例:
system.sw.os[short] → Ubuntu 2.6.35-28.50-generic 2.6.35.11
system.sw.os[full] → [s|Windows 10 Enterprise 22621.1.asd64fre.ni_release.220506-1250 Build 22621.963]
system.sw.os.get
オペレーティングシステムに関する詳細情報(バージョン、タイプ、ディストリビューション名、マイナーおよびメジャーバージョンなど)。
戻り値:JSON文字列。
対応プラットフォーム:Linux、Windows。
system.sw.packages[<regexp>,<manager>,<format>]
インストールされているパッケージの一覧。
戻り値: テキスト。
対応プラットフォーム: Linux。
パラメータ:
- regexp - all (デフォルト) または正規表現
- manager - all (デフォルト) またはパッケージマネージャ
- format - full (デフォルト) または short
コメント:
- 名前が指定した正規表現に一致するインストール済みパッケージを(アルファベット順で)一覧表示します(allはすべてを表示)
- サポートされているパッケージマネージャ(実行コマンド):
dpkg (dpkg --get-selections)
pkgtool (ls /var/log/packages)
rpm (rpm -qa)
pacman (pacman -Q)
portage formatがfullの場合、パッケージはパッケージマネージャごとにグループ化されます(各マネージャは角括弧で囲まれた名前で始まる別々の行)formatがshortの場合、パッケージはグループ化されず、1行で一覧表示されます
例:
system.sw.packages[mini,dpkg,short] → python-minimal, python2.6-minimal, ubuntu-minimal
system.sw.packages.get[<regexp>,<manager>]
インストールされているパッケージの詳細リスト。
戻り値: JSON文字列。
対応プラットフォーム: Linux。
パラメータ:
- regexp - all (デフォルト) または正規表現
- manager - all (デフォルト) またはパッケージマネージャー (指定可能な値: rpm, dpkg, pkgtool, pacman, portage)
コメント:
- 指定した正規表現に一致する名前のインストール済みパッケージを、フォーマットされていないJSONで返します。
- 出力は、name、manager、version、size、architecture、buildtime、installtimeの各キーを含むオブジェクトの配列です(詳細はこちら)。
system.swap.in[<device>,<type>]
スワップイン(デバイスからメモリへの)統計情報。
戻り値:整数。
対応プラットフォーム:Linux、FreeBSD、OpenBSD。
パラメータ:
- device - スワップに使用するデバイス(Linuxのみ)またはall(デフォルト)を指定します。
- type - 可能な値:count(スワップインの回数、非Linuxプラットフォームのデフォルト)、sectors(スワップインしたセクタ数)、またはpages(スワップインしたページ数、Linuxのデフォルト)。
コメント:
- この情報のソースは以下の通りです:
/proc/swaps, /proc/partitions, /proc/stat (Linux 2.4)
/proc/swaps, /proc/diskstats, /proc/vmstat (Linux 2.6) - pagesはdeviceが指定されていない場合のみ機能します。
- sectorsタイプのパラメータはLinuxでのみサポートされています。
例:
system.swap.in[,pages]
system.swap.out[<device>,<type>]
スワップアウト(メモリからデバイスへの移動)の統計情報。
戻り値:整数。
対応プラットフォーム:Linux、FreeBSD、OpenBSD。
パラメータ:
- device - スワップに使用するデバイスを指定(Linuxのみ)またはall(デフォルト);
- type - 指定可能な値:count(スワップアウト回数、非Linuxプラットフォームのデフォルト)、sectors(スワップアウトしたセクタ数)、pages(スワップアウトしたページ数、Linuxのデフォルト)。
コメント:
- この情報のソースは以下の通り:
/proc/swaps,/proc/partitions,/proc/stat(Linux 2.4)/proc/swaps,/proc/diskstats,/proc/vmstat(Linux 2.6) - pagesはdeviceが指定されていない場合のみ機能することに注意;
- sectorsタイプパラメータはLinuxのみサポート。
例:
system.swap.out[,pages]
system.swap.size[<device>,<type>]
スワップ領域のサイズ (バイト単位または全体に対する割合)。
戻り値: バイトの場合は整数、割合の場合は浮動小数点数。
対応プラットフォーム: Linux, FreeBSD, Solaris, AIX, OpenBSD, Windows。
パラメータ:
- device - スワップに使用するデバイスを指定 (FreeBSDのみ) または all (デフォルト)
- type - free (空きスワップ領域, デフォルト), pfree (空きスワップ領域の割合), pused (使用済みスワップ領域の割合), total (スワップ領域の合計), used (使用済みスワップ領域) のいずれか
コメント:
- pfree、pusedは、スワップサイズが0の場合、Windowsではサポートされません。
- deviceが指定されていない場合、Zabbixエージェントはスワップデバイス (ファイル) のみを考慮し、物理メモリは無視します。
たとえば、Solarisシステムでは
swap -sコマンドは物理メモリの一部とスワップデバイスを含みます (swap -lとは異なります)。
例:
system.swap.size[,pfree] → 空きスワップ領域の割合
system.uname
システムの識別。
戻り値: 文字列。
サポートされているプラットフォームを参照してください。
コメント:
- UNIXでは、このアイテムの値はuname()システムコールで取得されます。
- WindowsではOSアーキテクチャを返し、UNIXではCPUアーキテクチャを返します。
例:
system.uname → FreeBSD localhost 4.2-RELEASE FreeBSD 4.2-RELEASE #0: Mon Nov i386
system.uname → Windows ZABBIX-WIN 6.0.6001 Microsoft® Windows Server® 2008 Standard Service Pack 1 x86
system.uptime
システムの稼働時間(秒単位)。
戻り値: 整数。
対応プラットフォーム: Linux, FreeBSD, Solaris, AIX, MacOS X, OpenBSD, NetBSD, Windows。
アイテムの設定で、sまたはuptimeの単位を使用すると、読みやすい値が得られます。
system.users.num
ログインしているユーザー数。
戻り値: 整数。
サポートされているプラットフォームを参照してください。
値を取得するために、エージェント側で who コマンドが使用されます。
vfs.dev.discovery
ブロックデバイスとそのタイプのリスト。
低レベルディスカバリに使用されます。
戻り値: JSON文字列。
対応プラットフォーム: Linux。
vfs.dev.read[<device>,<type>,<mode>]
ディスクの読み取り統計情報。
戻り値:Integer - typeがsectors、operations、bytesの場合;Float - typeがsps、ops、bpsの場合。
対応プラットフォーム:Linux、FreeBSD、Solaris、AIX、OpenBSD。
パラメータ:
- device - ディスクデバイス(デフォルトはall 3);
- type - 指定可能な値:sectors、operations、bytes、sps、ops、bps(sps、ops、bpsはそれぞれ、1秒あたりのセクタ数、1秒あたりの操作数、1秒あたりのバイト数);
- mode - 指定可能な値:avg1(1分間の平均、デフォルト)、avg5、avg15。
このパラメータは、
typeがsps、ops、bpsの場合のみサポートされます。
コメント:
- 更新間隔が3時間以上2の場合、このアイテムは常に'0'を返します;
- sectorsおよびspsタイプのパラメータはLinuxのみサポートされます;
- opsタイプのパラメータはLinuxおよびFreeBSDのみサポートされます;
- bpsタイプのパラメータはFreeBSDのみサポートされます;
- bytesタイプのパラメータはFreeBSD、Solaris、AIX、OpenBSDのみサポートされます;
modeパラメータはLinux、FreeBSDのみサポートされます;- 相対デバイス名(例:
sda)およびオプションの/dev/プレフィックス(例:/dev/sda)の両方を使用できます; - LVM論理ボリュームがサポートされています;
- OSごとの'type'パラメータのデフォルト値:
AIX - operations
FreeBSD - bps
Linux - sps
OpenBSD - operations
Solaris - bytes - サポートされているプラットフォームでのsps、ops、bpsは、1024デバイス(個別に1023台とall用に1台)に制限されています。
例:
vfs.dev.read[,operations]
vfs.dev.write[<device>,<type>,<mode>]
ディスク書き込み統計情報。
戻り値: Integer - typeがsectors、operations、bytesの場合; Float - typeがsps、ops、bpsの場合。
対応プラットフォーム: Linux, FreeBSD, Solaris, AIX, OpenBSD。
パラメータ:
- device - ディスクデバイス (デフォルトはall 3);
- type - 指定可能な値: sectors、operations、bytes、sps、ops、bps (sps、ops、bpsはそれぞれ、1秒あたりのセクタ数、オペレーション数、バイト数を表します);
- mode - 指定可能な値: avg1 (1分間の平均、デフォルト)、avg5、avg15。
このパラメータは、
typeがsps、ops、bpsの場合のみサポートされます。
コメント:
- 更新間隔が3時間以上2の場合、このアイテムは常に'0'を返します;
- sectorsおよびspsのtypeパラメータはLinuxのみサポートされます;
- opsのtypeパラメータはLinuxおよびFreeBSDのみサポートされます;
- bpsのtypeパラメータはFreeBSDのみサポートされます;
- bytesのtypeパラメータはFreeBSD、Solaris、AIX、OpenBSDのみサポートされます;
modeパラメータはLinux、FreeBSDのみサポートされます;- 相対デバイス名(例:
sda)または/dev/プレフィックス付き(例:/dev/sda)のいずれも使用できます; - LVM論理ボリュームがサポートされています;
- OSごとの'type'パラメータのデフォルト値:
AIX - operations
FreeBSD - bps
Linux - sps
OpenBSD - operations
Solaris - bytes - サポートされているプラットフォームでのsps、ops、bpsは、1024デバイス(個別1023台+all用1台)に制限されます。
例:
vfs.dev.write[,operations]
vfs.dir.count[dir,<regex incl>,<regex excl>,<types incl>,<types excl>,<max depth>,<min size>,<max size>,<min age>,<max age>,<regex excl dir>]
ディレクトリエントリの数を監視します。
戻り値: 整数。
サポートされているプラットフォームを参照してください。
パラメータ:
- dir - ディレクトリへの絶対パス
- regex incl - 含めるエンティティ(ファイル、ディレクトリ、シンボリックリンク)の名前パターンを記述する正規表現。空の場合はすべて含める(デフォルト値)
- regex excl - 除外するエンティティ(ファイル、ディレクトリ、シンボリックリンク)の名前パターンを記述する正規表現。空の場合は除外しない(デフォルト値)
- types incl - カウントするディレクトリエントリのタイプ。指定可能な値: file - 通常ファイル、dir - サブディレクトリ、sym - シンボリックリンク、sock - ソケット、bdev - ブロックデバイス、cdev - キャラクタデバイス、fifo - FIFO、dev - "bdev,cdev"と同義、all - すべてのタイプ(デフォルト)、つまり "file,dir,sym,sock,bdev,cdev,fifo"。 複数のタイプはカンマ区切りで引用符で囲む必要があります。
- types excl - カウントしないディレクトリエントリのタイプ(
types inclを参照)。types inclとtypes exclの両方に含まれるエントリタイプはカウントされません。 - max depth - サブディレクトリをたどる最大深度:
-1(デフォルト)- 無制限,
0 - サブディレクトリをたどらない。 - min size - カウント対象となるファイルの最小サイズ(バイト単位)。 これより小さいファイルはカウントされません。 メモリサフィックスが使用できます。
- max size - カウント対象となるファイルの最大サイズ(バイト単位)。 これより大きいファイルはカウントされません。 メモリサフィックスが使用できます。
- min age - カウント対象となるディレクトリエントリの最小経過時間(秒単位)。 これより新しいエントリはカウントされません。 時間サフィックスが使用できます。
- max age - カウント対象となるディレクトリエントリの最大経過時間(秒単位)。 これより古いエントリはカウントされません(最終更新時刻)。 時間サフィックスが使用できます。
- regex excl dir - 除外するディレクトリの名前パターンを記述する正規表現。 このディレクトリのすべての内容が除外されます(regex_exclとは異なります)
コメント:
- Windowsでは、このアイテムはUNCパスをたどります。これはセキュリティリスクとなる可能性があります。
- %APP_HOME%、$HOME、%TEMP%などの環境変数はサポートされていません。
- 疑似ディレクトリ"."および".."はカウントされません。
- ディレクトリの走査時にシンボリックリンクはたどりません。
- エントリ数の計算時には、
regex inclとregex exclの両方がファイルとディレクトリに適用されますが、サブディレクトリの走査時には無視されます(regex inclが“(?i)\^.+\.zip$”でmax depthが設定されていない場合、すべてのサブディレクトリが走査されますが、zipタイプのファイルのみがカウントされます)。 - 実行時間はエージェントの設定のtimeout値(3秒)で制限されます。 大きなディレクトリの走査にはそれ以上かかる場合があるため、データは返されず、アイテムは未サポートとなります。 部分的なカウントは返されません。
- サイズでフィルタリングする場合、意味のあるサイズを持つのは通常ファイルのみです。
LinuxやBSDでは、ディレクトリにも非ゼロのサイズ(通常は数KB)が設定されています。
デバイスはサイズがゼロです。たとえば、/dev/sda1のサイズは対応するパーティションサイズを反映しません。
したがって、
<min_size>や<max_size>を使用する場合は、驚きを避けるために<types_incl>を"file"に指定することを推奨します。
例:
vfs.dir.count[/dev] #/dev内のデバイス数を監視(Linux)
vfs.dir.count["C:\Users\ADMINI~1\AppData\Local\Temp"] #一時ディレクトリ内のファイル数を監視
vfs.dir.get[dir,<regex incl>,<regex excl>,<types incl>,<types excl>,<max depth>,<min size>,<max size>,<min age>,<max age>,<regex excl dir>]
ディレクトリエントリのリスト。
戻り値: JSON文字列。
サポートされているプラットフォームを参照してください。
パラメータ:
- dir - ディレクトリへの絶対パス
- regex incl - 含めるエンティティ(ファイル、ディレクトリ、シンボリックリンク)の名前パターンを記述する正規表現。空の場合はすべて含める(デフォルト値)
- regex excl - 除外するエンティティ(ファイル、ディレクトリ、シンボリックリンク)の名前パターンを記述する正規表現。空の場合は除外しない(デフォルト値)
- types incl - リストするディレクトリエントリのタイプ。指定可能な値: file - 通常ファイル, dir - サブディレクトリ, sym - シンボリックリンク, sock - ソケット, bdev - ブロックデバイス, cdev - キャラクタデバイス, fifo - FIFO, dev - "bdev,cdev"と同義, all - すべてのタイプ(デフォルト)、つまり "file,dir,sym,sock,bdev,cdev,fifo"。 複数のタイプはカンマ区切りで引用符で囲む必要があります。
- types excl - リストしないディレクトリエントリのタイプ(
types inclを参照)。 あるエントリタイプがtypes inclとtypes exclの両方に含まれている場合、そのタイプのディレクトリエントリはリストされません。 - max depth - サブディレクトリをたどる最大深度:
-1 (デフォルト) - 無制限,
0 - サブディレクトリに降りない。 - min size - リストするファイルの最小サイズ(バイト単位)。 これより小さいファイルはリストされません。 メモリサフィックスが使用できます。
- max size - リストするファイルの最大サイズ(バイト単位)。 これより大きいファイルはリストされません。 メモリサフィックスが使用できます。
- min age - リストするディレクトリエントリの最小経過時間(秒)。 これより新しいエントリはリストされません。 時間サフィックスが使用できます。
- max age - リストするディレクトリエントリの最大経過時間(秒)。 これより古いエントリはリストされません(最終更新時刻)。 時間サフィックスが使用できます。
- regex excl dir - 除外するディレクトリの名前パターンを記述する正規表現。
このディレクトリのすべての内容が除外されます(
regex exclとは異なります)
コメント:
- Windowsでは、このアイテムはUNCパスをたどります。これはセキュリティリスクとなる場合があります。
- %APP_HOME%、$HOME、%TEMP%などの環境変数はサポートされていません。
- 疑似ディレクトリ"."と".."は決してリストされません。
- ディレクトリのたどりではシンボリックリンクは決してたどりません。
- エントリリストの生成時には
regex inclとregex exclの両方がファイルとディレクトリに適用されますが、たどるサブディレクトリの選択時には無視されます(例えばregex inclが“(?i)\^.+\.zip$”でmax depthが設定されていない場合、すべてのサブディレクトリがたどられますが、zipファイルタイプのみがカウントされます)。 - 実行時間はエージェントの設定のtimeout値で制限されます。 大きなディレクトリのたどりはそれ以上かかる場合があるため、データは返されずアイテムはサポート外となります。 部分リストは返されません。
- サイズでフィルタリングする場合、意味のあるサイズを持つのは通常ファイルのみです。
LinuxやBSDではディレクトリもゼロ以外のサイズ(通常数KB)を持ちます。
デバイスはゼロサイズです。例えば/dev/sda1のサイズは対応するパーティションサイズを反映しません。
したがって、
min sizeやmax sizeを使用する場合は、types inclに"file"を指定することを推奨します。
例:
vfs.dir.get[/dev] #/devのデバイスリストを取得(Linux)
vfs.dir.get["C:\Users\ADMINI~1\AppData\Local\Temp"] #一時ディレクトリのファイルリストを取得
vfs.dir.size[dir,<regex incl>,<regex excl>,<mode>,<max depth>,<regex excl dir>]
ディレクトリのサイズ(バイト単位)。
戻り値: 整数。
対応プラットフォーム: Linux, Windows。
他のUNIX系プラットフォームでも動作する場合があります。
パラメータ:
- dir - ディレクトリへの絶対パス
- regex incl - 含めるエンティティ(ファイル、ディレクトリ、シンボリックリンク)の名前パターンを記述する正規表現。空の場合はすべて含める(デフォルト値)
- regex excl - 除外するエンティティ(ファイル、ディレクトリ、シンボリックリンク)の名前パターンを記述する正規表現。空の場合は除外しない(デフォルト値)
- mode - apparent(デフォルト):見かけ上のファイルサイズを取得(du -sb dirと同様)、disk:ディスク使用量を取得(du -s -B1 dirと同様)。
duコマンドとは異なり、vfs.dir.sizeアイテムはディレクトリサイズ計算時に隠しファイルも考慮します(dir内でdu -sb .[^.]* *と同様)。 - max depth - サブディレクトリをたどる最大深度: -1(デフォルト):無制限、0:サブディレクトリをたどらない
- regex excl dir - 除外するディレクトリの名前パターンを記述する正規表現。
ディレクトリの内容全体が除外されます(
regex exclとは対照的)
コメント:
- Windowsでは、このアイテムはUNCパスをたどります。これはセキュリティリスクとなる場合があります
- zabbixユーザーに少なくとも読み取り権限があるディレクトリのみが計算されます。 読み取り権限のみのディレクトリでは、ディレクトリ自体のサイズのみが計算されます。 読み取りと実行権限があるディレクトリは、内容を含めて計算されます。
- 大きなディレクトリや遅いドライブの場合、このアイテムはエージェントやサーバー/プロキシの設定ファイルのTimeout設定によりタイムアウトする場合があります。 必要に応じてタイムアウト値を増やしてください。
- ファイルサイズの上限は大きなファイルのサポートに依存します。
例:
vfs.dir.size[/tmp,log] #名前に'log'を含む/tmp内のすべてのファイルのサイズを計算
vfs.dir.size[/tmp,log,^.+\.old$] #名前に'log'を含み、かつ名前が'.old'で終わるファイルを除外した/tmp内のすべてのファイルのサイズを計算
vfs.file.cksum[file,<mode>]
UNIXのcksumアルゴリズムで計算されたファイルのチェックサム。
戻り値: Integer - modeがcrc32の場合、String - modeがmd5またはsha256の場合。
サポートされているプラットフォームを参照してください。
パラメータ:
- file - ファイルのフルパス
- mode - crc32 (デフォルト)、md5、またはsha256
コメント:
- Windowsでは、このアイテムはUNCパスをたどります。これはセキュリティリスクとなる可能性があります。
- ファイルサイズの制限は大きなファイルのサポートに依存します。
例:
vfs.file.cksum[/etc/passwd]
返される値の例 (crc32/md5/sha256 それぞれ):
675436101
9845acf68b73991eb7fd7ee0ded23c44
ae67546e4aac995e5c921042d0cf0f1f7147703aa42bfbfb65404b30f238f2dc
vfs.file.contents[file,<encoding>]
ファイルの内容を取得します7。
戻り値: テキスト。
サポートされているプラットフォームを参照してください。
パラメータ:
- file - ファイルへのフルパス
- encoding - コードページの識別子
コメント:
- Windowsでは、このアイテムはUNCパスに従います。これはセキュリティリスクとなる可能性があります。
- 戻り値は16MBに制限されます(末尾の空白も含み、切り捨てられます)。データベースの制限も適用されます。
- ファイルが空、またはLF/CR文字のみの場合は空文字列が返されます。
- バイトオーダーマーク(BOM)は出力から除外されます。
例:
vfs.file.contents[/etc/passwd]
vfs.file.exists[file,<types incl>,<types excl>]
ファイルの存在を確認します。
戻り値: 0 - 見つかりません; 1 - 指定したタイプのファイルが存在します。
サポートされているプラットフォームを参照してください。
パラメータ:
- file - ファイルへのフルパス
- types incl - 含めるファイルタイプのリスト。指定可能な値: file (通常のファイル、types_exclが設定されていない場合のデフォルト)、dir (ディレクトリ)、sym (シンボリックリンク)、sock (ソケット)、bdev (ブロックデバイス)、cdev (キャラクタデバイス)、fifo (FIFO)、dev ("bdev,cdev"と同義)、all (上記すべてのタイプ、types_exclが設定されている場合のデフォルト)
- types excl - 除外するファイルタイプのリスト。指定可能な値はtypes_inclを参照(デフォルトでは除外されるタイプはありません)
コメント:
- Windowsでは、このアイテムはUNCパスをたどります。これはセキュリティリスクとなる可能性があります。
- 複数のタイプを指定する場合はカンマで区切り、全体をダブルクォーテーション""で囲みます。
- <types_incl>と<types_excl>の両方に同じタイプがある場合、そのタイプのファイルは除外されます。
- ファイルサイズの制限は大きなファイルのサポートに依存します。
例:
vfs.file.exists[/tmp/application.pid]
vfs.file.exists[/tmp/application.pid,"file,dir,sym"]
vfs.file.exists[/tmp/application_dir,dir]
vfs.file.get[file]
ファイルに関する情報を返します。
戻り値: JSON文字列。
サポートされているプラットフォームを参照してください。
パラメータ:
- file - ファイルへのフルパス
コメント:
- Windowsでは、このアイテムはUNCパスに従います。これはセキュリティリスクとなる可能性があります。
- UNIX系システムでサポートされているファイルタイプ: 通常ファイル、ディレクトリ、シンボリックリンク、ソケット、ブロックデバイス、キャラクタデバイス、FIFO。
- ファイルサイズの制限は大きなファイルのサポートに依存します。
例:
vfs.file.get[/etc/passwd] #/etc/passwdファイルの情報(type, user, permissions, SID, uidなど)を含むJSONを返す
vfs.file.md5sum[file]
ファイルのMD5チェックサム。
戻り値: 文字列 (ファイルのMD5ハッシュ)。
サポートされているプラットフォームを参照してください。
パラメータ:
- file - ファイルのフルパス
コメント:
- Windowsでは、このアイテムはUNCパスに従います。これはセキュリティリスクとなる場合があります。
- ファイルサイズの制限は大きなファイルのサポートに依存します。
例:
vfs.file.md5sum[/usr/local/etc/zabbix_agentd.conf]
戻り値の例:
b5052decb577e0fffd622d6ddc017e82
vfs.file.owner[file,<ownertype>,<resulttype>]
ファイルの所有者を取得します。
戻り値:文字列。
対応プラットフォームを参照してください。
パラメータ:
- file - ファイルのフルパス
- ownertype - user(デフォルト)またはgroup(Unixのみ)
- resulttype - name(デフォルト)またはid。idの場合、Unixではuid/gid、WindowsではSIDを返します。
コメント:
- Windowsでは、このアイテムはUNCパスをたどります。これはセキュリティリスクとなる可能性があります。
- ファイルサイズの制限は大きなファイルのサポートに依存します。
例:
vfs.file.owner[/tmp/zabbix_server.log] #/tmp/zabbix_server.logのファイル所有者を返す
vfs.file.owner[/tmp/zabbix_server.log,,id] #/tmp/zabbix_server.logのファイル所有者IDを返す
vfs.file.permissions[file]
UNIXパーミッションを8進数で表した4桁の文字列を返します。
戻り値: 文字列。
対応プラットフォーム: Linux。
他のUNIX系プラットフォームでも動作する場合があります。
パラメータ:
- file - ファイルのフルパス
ファイルサイズの制限は大きなファイルのサポートに依存します。
例:
vfs.file.permissions[/etc/passwd] #/etc/passwdのパーミッションを返します。例えば'0644'
vfs.file.regexp[file,regexp,<encoding>,<start line>,<end line>,<output>]
ファイル内の文字列を取得します7。
戻り値: 一致した文字列を含む行、または省略可能なoutputパラメータで指定された値。
サポートされているプラットフォームを参照してください。
パラメータ:
- file - ファイルへのフルパス
- regexp - 必要なパターンを記述する正規表現
- encoding - コードページの識別子
- start line - 検索を開始する最初の行番号 (デフォルトはファイルの最初の行)
- end line - 検索を終了する最後の行番号 (デフォルトはファイルの最後の行)
- output - 省略可能な出力フォーマットテンプレート。 \0 エスケープシーケンスは一致したテキスト部分 (一致が始まる最初の文字から一致が終わる文字まで) に置き換えられ、\N (N=1...9) エスケープシーケンスはN番目の一致グループ (またはキャプチャグループ数を超える場合は空文字列) に置き換えられます。
コメント:
- Windowsでは、このアイテムはUNCパスをたどります。これはセキュリティリスクとなる可能性があります。
- ファイルサイズの制限は大きなファイルのサポートに依存します。
- 一致した最初の行のみが返されます。
- 式に一致する行がない場合は空文字列が返されます。
- バイトオーダーマーク (BOM) は出力から除外されます。
outputパラメータによる内容抽出はエージェント側で行われます。
例:
vfs.file.regexp[/etc/passwd,zabbix]
vfs.file.regexp[/path/to/some/file,"([0-9]+)$",,3,5,\1]
vfs.file.regexp[/etc/passwd,"^zabbix:.:([0-9]+)",,,,\1] → ユーザー*zabbix*のIDを取得
vfs.file.regmatch[file,regexp,<encoding>,<start line>,<end line>]
ファイル内で文字列を検索します7。
返り値: 0 - 一致しない; 1 - 一致する。
サポートされているプラットフォームを参照してください。
パラメータ:
- file - ファイルのフルパス
- regexp - 必要なパターンを記述する正規表現
- encoding - コードページの識別子
- start line - 検索を開始する最初の行番号 (デフォルトはファイルの最初の行)
- end line - 検索を終了する最後の行番号 (デフォルトはファイルの最後の行)
コメント:
- Windowsでは、このアイテムはUNCパスをたどります。これはセキュリティリスクとなる可能性があります。
- ファイルサイズの制限は大きなファイルのサポートに依存します。
- バイトオーダーマーク(BOM)は無視されます。
例:
vfs.file.regmatch[/var/log/app.log,error]
vfs.file.size[file,<mode>]
ファイルサイズ(バイト単位)を返します。
戻り値:整数。
サポートされているプラットフォームを参照してください。
パラメータ:
- file - ファイルのフルパス
- mode - 可能な値:bytes(デフォルト)またはlines(空行もカウントされます)
コメント:
- Windowsでは、このアイテムはUNCパスをたどります。これはセキュリティリスクとなる場合があります。
- ファイルにはzabbixユーザーの読み取り権限が必要です。
- ファイルサイズの上限は大きなファイルのサポートに依存します。
例:
vfs.file.size[/var/log/syslog]
vfs.file.time[file,<mode>]
ファイルの時刻情報。
戻り値: 整数 (Unixタイムスタンプ)。
サポートされているプラットフォームを参照してください。
パラメータ:
- file - ファイルのフルパス
- mode - 指定可能な値:
modify (デフォルト) - ファイル内容の最終更新時刻,
access - ファイルの最終アクセス時刻,
change - ファイル属性の最終変更時刻
コメント:
- Windowsでは、このアイテムはUNCパスをたどります。これはセキュリティリスクとなる場合があります。
- ファイルサイズの制限は大きなファイルのサポートに依存します。
例:
vfs.file.time[/etc/passwd,modify]
vfs.fs.discovery
ファイルシステムのタイプとマウントオプションを含む、マウントされたファイルシステムのリスト。
ローレベルディスカバリで使用されます。
戻り値: JSON文字列。
対応プラットフォーム: Linux, FreeBSD, Solaris, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows。
vfs.fs.get
マウントされたファイルシステムのリストと、そのタイプ、利用可能なディスク容量、inode統計、マウントオプションを返します。
低レベルディスカバリに使用できます。
戻り値: JSON文字列。
対応プラットフォーム: Linux, FreeBSD, Solaris, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows。
コメント:
- inode数がゼロのファイルシステム(btrfsなどの動的inodeを持つファイルシステムの場合)は、inode数ゼロとしても報告されます。
- 参考: マウントされたファイルシステムのディスカバリ。
vfs.fs.inode[fs,<mode>]
inodeの数またはパーセンテージ。
戻り値: Integer - 数値の場合; Float - パーセンテージの場合。
サポートされているプラットフォームを参照してください。
パラメータ:
- fs - ファイルシステム;
- mode - 可能な値: total (デフォルト), free, used, pfree (free, パーセンテージ), pused (used, パーセンテージ)。
inode数がゼロの場合(例えばbtrfsのような動的inodeを持つファイルシステム)、pfree/pusedの値はそれぞれ"100"と"0"として報告されます。
例:
vfs.fs.inode[/,pfree]
vfs.fs.size[fs,<mode>]
ディスク容量をバイト単位または全体に対するパーセンテージで取得します。
戻り値: バイトの場合はInteger、パーセンテージの場合はFloat。
サポートされているプラットフォームを参照してください。
パラメータ:
- fs - ファイルシステム;
- mode - total (デフォルト), free, used, pfree (空き容量のパーセンテージ), pused (使用容量のパーセンテージ) のいずれか。
コメント:
- ファイルシステムがマウントされていない場合、マウントポイントが存在するローカルファイルシステムのサイズを返します;
- ファイルシステムの予約領域は考慮され、freeモードを使用した場合は含まれません。
例:
vfs.fs.size[/tmp,free]
vm.memory.size[<mode>]
バイト単位または合計に対するパーセンテージでのメモリサイズ。
戻り値: バイトの場合は整数、パーセンテージの場合は浮動小数点数。
サポートされているプラットフォームを参照。
パラメータ:
- mode - 指定可能な値: total (デフォルト), active, anon, buffers, cached, exec, file, free, inactive, pinned, shared, slab, wired, used, pused (使用中, パーセンテージ), available, pavailable (利用可能, パーセンテージ)。
コメント:
- このアイテムは3つのカテゴリのパラメータを受け付けます:
1) total - メモリの合計量
2) プラットフォーム固有のメモリタイプ: active, anon, buffers, cached, exec, file, free, inactive, pinned, shared, slab, wired
3) 使用中および利用可能なメモリのユーザーレベルの推定値: used, pused, available, pavailable - active モードパラメータはFreeBSD、HP-UX、MacOS X、OpenBSD、NetBSDでのみサポートされています。
- anon、exec、file モードパラメータはNetBSDでのみサポートされています。
- buffers モードパラメータはLinux、FreeBSD、OpenBSD、NetBSDでのみサポートされています。
- cached モードパラメータはLinux、FreeBSD、AIX、OpenBSD、NetBSDでのみサポートされています。
- inactive、wired モードパラメータはFreeBSD、MacOS X、OpenBSD、NetBSDでのみサポートされています。
- pinned モードパラメータはAIXでのみサポートされています。
- shared モードパラメータはLinux 2.4、FreeBSD、OpenBSD、NetBSDでのみサポートされています。
- このアイテムの追加詳細も参照してください。
例:
vm.memory.size[pavailable]
web.page.get[host,<path>,<port>]
Webページの内容を取得します。
戻り値: テキストとしてのWebページのソース(ヘッダーを含む)。
サポートされているプラットフォームを参照してください。
パラメータ:
- host - ホスト名またはURL(
scheme://host:port/path、hostのみ必須)。 許可されるURLスキーム: http、https4。 スキームが省略された場合はhttpとして扱われます。 URLが指定された場合、pathとportは空でなければなりません。 認証が必要なサーバーに接続する際にユーザー名/パスワードを指定すること(例:http://user:[email protected])は、cURLサポートがある場合のみ可能です4。 ホスト名でPunycodeがサポートされています。 - path - HTMLドキュメントへのパス(デフォルトは/)。
- port - ポート番号(HTTPの場合はデフォルトで80)
コメント:
hostで指定されたリソースが存在しないか利用できない場合、このアイテムはサポート外になります。hostはホスト名、ドメイン名、IPv4またはIPv6アドレスを指定できます。 ただし、IPv6アドレスの場合は、ZabbixエージェントがIPv6サポートを有効にしてコンパイルされている必要があります。
例:
web.page.get[www.example.com,index.php,80]
web.page.get[https://www.example.com]
web.page.get[https://blog.example.com/?s=zabbix]
web.page.get[localhost:80]
web.page.get["[::1]/server-status"]
web.page.perf[host,<path>,<port>]
Webページ全体の読み込み時間(秒単位)。
戻り値:Float。
サポートされているプラットフォームを参照。
パラメータ:
- host - ホスト名またはURL(
scheme://host:port/pathの形式、hostのみ必須)。 許可されるURLスキーム:http、https4。 スキームが省略された場合はhttpとして扱われます。 URLを指定する場合、pathとportは空でなければなりません。 認証が必要なサーバーに接続する際にユーザー名/パスワードを指定するには、例えばhttp://user:[email protected]のように、cURLサポートが必要です4。 ホスト名でPunycodeがサポートされています。 - path - HTMLドキュメントへのパス(デフォルトは/);
- port - ポート番号(HTTPのデフォルトは80)
コメント:
hostで指定されたリソースが存在しない、または利用できない場合、このアイテムは未サポートになります。hostにはホスト名、ドメイン名、IPv4またはIPv6アドレスを指定できます。 ただし、IPv6アドレスの場合は、ZabbixエージェントをIPv6サポート有効でコンパイルする必要があります。
例:
web.page.perf[www.example.com,index.php,80]
web.page.perf[https://www.example.com]
web.page.regexp[host,<path>,<port>,regexp,<length>,<output>]
Webページ上の文字列を検索します。
戻り値:一致した文字列、または省略可能なoutputパラメータで指定された値。
サポートされているプラットフォームを参照してください。
パラメータ:
- host - ホスト名またはURL(
scheme://host:port/pathの形式、hostのみ必須)。 許可されるURLスキーム:http、https4。 スキームが省略された場合はhttpとして扱われます。 URLを指定する場合、pathとportは空にする必要があります。 認証が必要なサーバーに接続する際にユーザー名/パスワードを指定するには、例えばhttp://user:[email protected]のように指定しますが、これはcURLサポートが有効な場合のみ可能です4。 ホスト名でPunycodeがサポートされています。 - path - HTMLドキュメントへのパス(デフォルトは/);
- port - ポート番号(HTTPのデフォルトは80)
- regexp - 必要なパターンを記述する正規表現;
- length - 返す最大文字数;
- output - 省略可能な出力フォーマットテンプレート。 \0 エスケープシーケンスは一致したテキスト部分(マッチが始まる最初の文字からマッチが終わる文字まで)に置き換えられ、\N(N=1...9)エスケープシーケンスはN番目の一致グループ(またはNがキャプチャグループ数を超える場合は空文字列)に置き換えられます。
コメント:
hostで指定されたリソースが存在しないか利用できない場合、このアイテムは未サポートになります。hostにはホスト名、ドメイン名、IPv4またはIPv6アドレスを指定できます。 ただし、IPv6アドレスの場合はZabbixエージェントがIPv6サポートを有効にしてコンパイルされている必要があります。outputパラメータを使用したコンテンツ抽出はエージェント側で行われます。
例:
web.page.regexp[www.example.com,index.php,80,OK,2]
web.page.regexp[https://www.example.com,,,OK,2]
agent.hostmetadata
エージェントのホストメタデータ。
戻り値: 文字列。
サポートされているプラットフォームを参照。
HostMetadataまたはHostMetadataItemパラメータの値を返します。どちらも定義されていない場合は空文字列を返します。
agent.hostname
エージェントのホスト名。
戻り値: String。
サポートされているプラットフォームを参照。
戻り値:
- パッシブチェックの場合 - エージェント設定ファイルのHostnameパラメータにリストされている最初のホスト名
- アクティブチェックの場合 - 現在のホスト名
agent.ping
エージェントの可用性チェック。
戻り値: なし - 利用不可; 1 - 利用可能。
サポートされているプラットフォームを参照してください。
ホストの利用不可を確認するには、nodata() トリガー関数を使用します。
agent.variant
Zabbixエージェントのバリアント(Zabbix agentまたはZabbix agent 2)。
戻り値: 1 - Zabbix agent; 2 - Zabbix agent 2。
サポートされているプラットフォームを参照。
agent.version
Zabbixエージェントのバージョン。
戻り値: String。
サポートされているプラットフォームを参照してください。
返される値の例:
6.0.3
zabbix.stats[<ip>,<port>]
Zabbixサーバーまたはプロキシの内部メトリクスのセットをリモートで返します。
戻り値: JSON文字列。
サポートされているプラットフォームを参照してください。
パラメータ:
- ip - リモートでクエリを実行するサーバー/プロキシのIP/DNS/ネットワークマスクリスト(デフォルトは127.0.0.1);
- port - リモートでクエリを実行するサーバー/プロキシのポート(デフォルトは10051)
コメント:
- このアイテムによって選択された内部メトリクスのセットが返されます。 詳細については、Zabbix統計情報のリモート監視を参照してください;
- statsリクエストは、ターゲットインスタンスの'StatsAllowedIP' server/proxyパラメータにリストされているアドレスからのみ受け付けられることに注意してください。
zabbix.stats[<ip>,<port>,queue,<from>,<to>]
Zabbixサーバーまたはプロキシで遅延しているキュー内の監視項目数をリモートで返します。
戻り値: JSON文字列。
サポートされているプラットフォームを参照してください。
パラメータ:
- ip - リモートでクエリするサーバー/プロキシのIP/DNS/ネットワークマスクリスト(デフォルトは127.0.0.1)
- port - リモートでクエリするサーバー/プロキシのポート(デフォルトは10051)
- queue - 定数(そのまま使用)
- from - 少なくともこの秒数遅延(デフォルトは6秒)
- to - 最大でこの秒数遅延(デフォルトは無限大)
statsリクエストは、ターゲットインスタンスのserver/proxyパラメータの'StatsAllowedIP'にリストされているアドレスからのみ受け付けられることに注意してください。
脚注
1Linux固有の注意事項です。 Zabbixエージェントはファイルシステム/procへの読み取り専用アクセス権を持っている必要があります。 www.grsecurity.orgのカーネルパッチは、非特権ユーザーのアクセス権を制限します。
2 vfs.dev.read[], vfs.dev.write[]: アイテム値が3時間以上アクセスされない場合、Zabbixエージェントは「古い」デバイス接続を終了します。
これは、システムに動的にパスが変更されるデバイスがある場合や、デバイスが手動で削除された場合に発生する可能性があります。
また、これらのアイテムが3時間以上の更新間隔を使用している場合、常に「0」を返すことにも注意してください。
3 vfs.dev.read[], vfs.dev.write[]: 最初のパラメータにデフォルトのallを使用した場合、キーはsda、sdbなどのすべてのブロックデバイスと、それらのパーティション(sda1、sda2、sdb3...)、およびそれらのブロックデバイス/パーティションに基づく複数デバイス(MD raid)、論理ボリューム(LVM)を含む集計統計を返します。
このような場合、返される値は絶対値ではなく、相対値(時間とともに変動する値)としてのみ考慮する必要があります。
4 SSL(HTTPS)は、エージェントがcURLサポート付きでコンパイルされている場合のみサポートされます。 それ以外の場合、アイテムは未サポートになります。
5 Solaris 10 6/06までのSolarisシステムでは、ループバックインターフェースのbytesおよびerrors値はサポートされていません。これは、バイト、エラー、および使用率の統計がカーネルによって保存または報告されていないためです。
ただし、net-snmp経由でSolarisシステムを監視している場合、値が返されることがあります。これは、net-snmpが1997年まで遡るcmu-snmpのレガシーコードを保持しており、インターフェース統計からバイト値の読み取りに失敗した場合、パケットカウンタ(ループバックインターフェースには存在する)に任意の値308を掛けたものを返すためです。
これは、パケットの平均長が308オクテットであると仮定していますが、SolarisシステムのループバックインターフェースのMTU制限は8892バイトであるため、非常に大まかな推定値です。
これらの値が正しい、または正確であると仮定すべきではありません。
あくまで推測値です。
Zabbixエージェントは推測を行いませんが、net-snmpはこれらのフィールドに値を返します。
6 Solarisで/proc/pid/psinfoから取得されるコマンドラインは80バイトに制限されており、プロセスが開始されたときのコマンドラインが含まれます。
7 vfs.file.contents[], vfs.file.regexp[], vfs.file.regmatch[]アイテムはファイルの内容を取得するために使用できます。
機密情報を含む特定のファイルへのアクセスを制限したい場合は、これらのファイルの閲覧権限を持たないユーザーでZabbixエージェントを実行してください。
コマンドラインユーティリティでの使用
zabbix_agentdやzabbix_getでアイテムキーをコマンドラインからテストまたは使用する場合、シェルの構文も考慮する必要があります。
たとえば、キーの特定のパラメータをダブルクォーテーションで囲む必要がある場合、ダブルクォーテーションを明示的にエスケープする必要があります。そうしないと、シェルによって特殊文字としてトリムされ、Zabbixユーティリティに渡されません。
例:
zabbix_agentd -t 'vfs.dir.count[/var/log,,,"file,dir",,0]'
zabbix_agentd -t vfs.dir.count[/var/log,,,\"file,dir\",,0]
エンコーディング設定
取得したデータが破損しないように、チェック(例:'vfs.file.contents')の処理に正しいエンコーディングをencodingパラメータで指定することができます。
サポートされているエンコーディング(コードページ識別子)の一覧は、libiconv(GNUプロジェクト)のドキュメントや、Microsoft Windows SDKの"コードページ識別子"のドキュメントで確認できます。
Microsoftは一部のコードページを「マネージアプリケーションでのみ利用可能」としている場合があります。これは、.NETランタイム経由でのみ公開され、ネイティブWin32 APIでは利用できないことを意味します。
Zabbixエージェントは独自のエンコーディング変換ロジックを実装しているため、ネイティブWindows関数が提供しない場合でも、これらのコードページはZabbixエージェントでサポートされています。
encodingパラメータでエンコーディングが指定されていない場合、以下の解決戦略が適用されます:
- エンコーディングが指定されていない(または空文字列)の場合、UTF-8とみなされ、データは「そのまま」処理されます。
- BOM解析 - アイテム 'vfs.file.contents'、'vfs.file.regexp'、'vfs.file.regmatch' に適用されます。 ファイルの先頭にあるバイトオーダーマーク(BOM)を使用して正しいエンコーディングを判定しようとします。 BOMが存在しない場合は、標準の解決方法(上記参照)が適用されます。
エージェントアイテムのトラブルシューティング
パッシブチェックの場合、サーバーからエージェントへのリクエストが先にタイムアウトしてアイテムが値を取得できなくなるのを防ぐために、以下の点に注意してください。
- エージェントのバージョンがサーバーのバージョンより古い場合、アイテムの設定のTimeout値(またはグローバルタイムアウト)を、エージェントの設定ファイルの
Timeout値より大きくする必要があります。 - エージェントのバージョンがサーバーのバージョンより新しい場合、サーバーの設定ファイルの
Timeout値を、エージェントの設定ファイルのTimeout値より大きくする必要があります。