1 Zabbix エージェント
概要
このセクションでは、データ収集のためにZabbixエージェントとの通信を使用するアイテムキーの詳細について説明します。
パッシブチェックとアクティブチェックがあります。 アイテムを設定する際に、必要なタイプを選択できます:
- Zabbixエージェント - パッシブチェック用
- Zabbixエージェント(アクティブ) - アクティブチェック用
Zabbixエージェントでサポートされているすべてのアイテムキーは、新世代のZabbixエージェント2でもサポートされていることに注意してください。 エージェント2でのみ使用できる追加のアイテムキーも参照してください。
サポートされるアイテムキー
Zabbix エージェントで使用できるアイテムキーを以下に示します。
アイテムキーは、パラメータおよび追加情報なしで記載されています。 アイテムキーをクリックすると、詳細を表示できます。
| アイテムキー | 説明 | アイテムグループ |
|---|---|---|
| kernel.maxfiles | OS でサポートされる、開いているファイルの最大数。 | Kernel |
| kernel.maxproc | OS でサポートされるプロセスの最大数。 | |
| kernel.openfiles | 現在開いているファイルディスクリプタの数。 | |
| log | ログファイルの監視。 | Log monitoring |
| log.count | 監視対象のログファイル内で一致した行数。 | |
| logrt | ローテーションされるログファイルの監視。 | |
| logrt.count | ローテーションされる監視対象ログファイル内で一致した行数。 | |
| modbus.get | Modbus データを読み取ります。 | Modbus |
| net.dns | DNS サービスの状態を確認します。 | Network |
| 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 使用率。 | Processes |
| proc.get | OS プロセスとそのパラメータの一覧。 | |
| proc.mem | プロセスが使用しているメモリ量(バイト)。 | |
| proc.num | プロセス数。 | |
| sensor | ハードウェアセンサーの読み取り値。 | Sensors |
| system.boottime | システムの起動時刻。 | System |
| 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 | ブロックデバイスとその種類の一覧。 | Virtual file systems |
| 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 | メモリサイズ(バイト、または全体に対する割合)。 | Virtual memory |
| web.page.get | Web ページの内容を取得します。 | Web monitoring |
| 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 サーバーまたはプロキシの内部メトリクスのセットを返します。ip と port が指定されている場合はリモートインスタンスから取得し、指定されていない場合はローカルインスタンスから取得します。 |
|
| zabbix.stats (queue) | Zabbix サーバーまたはプロキシ上で遅延している監視対象アイテムのキュー内件数を返します。ip と port が指定されている場合はリモートインスタンスから取得し、指定されていない場合はローカルインスタンスから取得します。 |
サポートされているプラットフォーム
アイテムの詳細で特に指定がない限り、エージェントアイテム(およびすべてのパラメータ)は以下でサポートされています:
- 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 - エージェントが1秒あたりにZabbixサーバーまたはプロキシへ送信する新しい行の最大数。
このパラメータは、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 ではサポートされません) - 永続ファイルを保存するディレクトリの絶対パス名。 persistent files に関する追加の注意事項も参照してください。
コメント:
- このアイテムはアクティブチェックとして設定する必要があります。
- ファイルが存在しない場合、または権限によりアクセスできない場合、このアイテムは未サポートになります。
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' のみをサーバーへ送信します。数値が送信されるため、このアイテムの "Type of information" は "Numeric (unsigned)" に設定でき、その値はグラフ、トリガーなどで使用できます。
サーバーへ送信する前にログレコードを書き換えるために 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>]
監視対象のログファイル内で一致した行数です。
戻り値: Integer。
サポートされているプラットフォームを参照してください。
パラメータ:
- file - ログファイルのフルパスとファイル名。
- regexp - 必要なパターンを記述する正規表現。
- encoding - コードページの識別子。
- maxproclines - エージェントが1秒あたりに解析する新規行の最大数(10000を超えることはできません)。
デフォルト値は zabbix_agentd.conf の 10*'MaxLinesPerSecond' です。
- mode - 指定可能な値: all(デフォルト)または skip - 古いデータの処理をスキップします(新規作成されたアイテムにのみ影響します)。
- maxdelay - 最大遅延(秒)。
型: float。
値: 0 - (デフォルト)ログファイルの行を無視しない; > 0.0 - "maxdelay" 秒以内に最新の行を解析できるように、古い行を無視します。
使用する前に maxdelay に関する注意事項を読んでください。
- options - 追加オプション:
mtime-noreread - 一意でないレコードについて、ファイルサイズが変化した場合にのみ再読み込みします(更新時刻の変更は無視します)。 (mtime は現在無視されるため、このパラメータは 5.0.2 以降非推奨です。) - persistent dir (Unixシステム上の zabbix_agentd のみ。Zabbix agent 2 ではサポートされません) - 永続ファイルを保存するディレクトリの絶対パス名。 あわせて、永続ファイル に関する追加の注意事項も参照してください。
コメント:
- このアイテムはアクティブチェックとして設定する必要があります。
- 一致した行は、エージェントによる前回のログチェック以降の新しい行からカウントされるため、アイテムの更新間隔に依存します。
- ファイルが存在しない場合、または権限によりアクセスできない場合、このアイテムは未サポートになります。
logrt[file regexp,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>,<persistent dir>]
ローテーションされるログファイルの監視です。
戻り値: Log。
supported platforms を参照してください。
パラメーター:
- file regexp - ファイルへの絶対パス。ファイル名は正規expressionで指定します。
正規表現はファイル名にのみ適用され、名前全体に一致する必要はありません(例: /path/to/agent は zabbix_agentd.log に一致します)。
- regexp - 必要な内容パターンを記述する正規expression。
- encoding - コードページidentifier。
- maxlines - エージェントが 1 秒あたりに Zabbix サーバーまたはプロキシへ送信する最大改行数。
このパラメーターは zabbix_agentd.conf の 'MaxLinesPerSecond' の値を上書きします。
- mode - 指定可能な値: all(デフォルト)または skip - 古いデータの処理をスキップします(新規作成されたアイテムにのみ影響します)。
- output - 省略可能な出力フォーマット用テンプレート。
\0 エスケープシーケンスは一致したテキストの一部(一致が始まる最初の文字から一致が終わる文字まで)に置き換えられ、\N(N=1...9)は N 番目の一致グループ(または 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 ではサポートされません) - 永続ファイルを保存するディレクトリの絶対パス名。 ログアイテムの persistent files に関する追加の注意事項も参照してください。
コメント:
- アイテムは active check として設定する必要があります。
- ログローテーションはファイルの最終更新時刻に基づきます。
- 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"] #このアイテムは、ファイル名が "filename" で始まり、".log" に一致する任意の拡張子で終わる "c:/dir1/dir2/dir3" 内のログファイルからデータを収集します。
logrt["//example.com/share/dir1/dir2/dir3\filename.*\.log","pattern_to_match"] #このアイテムは、ファイル名が "filename" で始まり、".log" に一致する任意の拡張子で終わるネットワーク共有 "//example.com/share/dir1/dir2/dir3" 内のログファイルからデータを収集します。
その他のシステムの例:
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>]
ローテーションされる監視対象のログファイル内で、マッチした行の件数を返します。
戻り値: Integer。
supported platforms を参照してください。
パラメーター:
- 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 ではサポートされません) - 永続ファイルを保存するディレクトリの絶対パス名。 ログアイテムの persistent files に関する追加の注意事項も参照してください。
コメント:
- このアイテムは active check として設定する必要があります。
- マッチした行は、エージェントによる前回のログチェック以降に追加された新しい行の中からカウントされるため、アイテムの更新間隔に依存します。
- ログのローテーションは、ファイルの最終更新時刻に基づいています。
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 string。
サポートされているプラットフォーム: 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>]
プロセス数。
戻り値: Integer。
サポートされるプラットフォーム: Linux, FreeBSD, Solaris6, HP-UX, AIX, OpenBSD, NetBSD, Windows。
パラメータ:
- name - プロセス名(デフォルトは all processes);
- user - ユーザー名(デフォルトは all users);
- state - 指定可能な値:
all(デフォルト),
disk - 割り込み不可スリープ,
run - 実行中,
sleep - 割り込み可能スリープ,
trace - 停止中,
zomb - ゾンビ; - cmdline - コマンドラインでフィルタリングします(正規表現です);
- zone - 対象ゾーン: current(デフォルト)または all。 このパラメータは Solaris でのみサポートされます。
コメント:
- disk および trace の state パラメータは Linux, FreeBSD, OpenBSD, NetBSD でのみサポートされます。
- Windows では、
nameとuserパラメータのみサポートされます。 - このアイテムがコマンドラインから呼び出され、コマンドラインパラメータを含む場合(たとえば、エージェントのテストモードを使用する場合:
zabbix_agentd -t proc.num[,,,apache2])、エージェント自身もカウントするため、1 つ余分にプロセスがカウントされます。 zoneパラメータを current(またはデフォルト)に設定した場合、エージェントが zone サポートなしの Solaris でコンパイルされているが、zone がサポートされる新しい Solaris 上で実行されていると、エージェントは NOTSUPPORTED を返します(エージェントは結果を現在の zone のみに制限できません)。 ただし、この場合でも all はサポートされます。nameおよびcmdlineパラメータを使用したプロセスの選択については、注記 を参照してください(Linux 固有)。
例:
proc.num[,mysql] #mysql ユーザーで実行されているプロセス数
proc.num[apache2,www-data] #www-data ユーザーで実行されている apache2 プロセス数
proc.num[,oracle,sleep,oracleZABBIX] #oracle で実行され、コマンドラインに oracleZABBIX を含む 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] #the temperature of one CPU
sensor["cpu[0-2]$",temp,avg] #the average temperature of the first three CPUs
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>]
システム時刻。
戻り値: type が utc の場合は Integer、type が local の場合は String。
サポートされているプラットフォームを参照してください。
パラメータ:
- type - 指定可能な値: utc - (デフォルト)エポック(1970年1月1日 00:00:00 UTC)からの経過時間を秒単位で表したもの、または local - 'yyyy-mm-dd,hh:mm:ss.nnn,+hh:mm' 形式の時刻
Zabbixエージェントではパッシブチェックとして使用する必要があります。Zabbixエージェント2ではアクティブチェックとして設定することもできます。
例:
system.localtime[local] #このキーを使用してアイテムを作成し、それを使って*Clock*ダッシュボードウィジェットにホスト時刻を表示します。
system.run[command,<mode>]
ホスト上で指定されたコマンドを実行します。
戻り値: コマンドの Text 結果、または mode が nowait の場合は 1(コマンド結果に関係なく)。
supported platforms を参照してください。
パラメーター:
- command - 実行するコマンド;
- mode - 指定可能な値: wait - 実行終了まで待機(デフォルト)または nowait - 待機しない。
コメント:
- このアイテムはデフォルトでは無効です。 有効化する方法については、enable them を参照してください。
- アイテムの戻り値は、コマンドによって出力された標準出力と標準エラー出力です。 Exit code checking は実行されません。
- 正しく処理するには、コマンドの戻り値は
textデータ型である必要があります。 空の結果も許可されます。 - 戻り値の上限は 16MB です(切り捨てられる末尾の空白を含む)。database limits も適用されます。
- 参照: Command execution。
例:
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>]
インストール済みパッケージの一覧です。
戻り値: Text。
対応プラットフォーム: 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>]
スワップイン(デバイスからメモリへの読み込み)の統計情報。
戻り値: Integer。
サポートされるプラットフォーム: 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 の type パラメーターは 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 はそれぞれ sectors、operations、bytes per second を意味します);
- 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.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 はそれぞれ sectors, operations, bytes per second を意味します);
- 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>]
ディレクトリエントリ数です。
戻り値: Integer。
サポートされているプラットフォームを参照してください。
パラメータ:
- 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 タイプのファイルのみがカウントされます)。 - 実行時間は、エージェントの設定にあるタイムアウト値(3 秒)によって制限されます。 大規模なディレクトリ走査はこれより長くかかる場合があるため、データは返されず、このアイテムは未サポートになります。 部分的なカウントは返されません。
- サイズでフィルタリングする場合、意味のあるサイズを持つのは通常ファイルだけです。
Linux および BSD では、ディレクトリにも 0 以外のサイズがあります(通常は数 KB)。
デバイスのサイズは 0 です。たとえば /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。
戻り値: Text。
supported platforms を参照してください。
Parameters:
- file - ファイルへの完全なパス;
- encoding - コードページの識別子。
Comments:
- Windows では、このアイテムは UNC パスに従います。これは security risk となる可能性があります。
- 戻り値は 16MB に制限されます(切り捨てられる末尾の空白を含む)。database limits も適用されます。
- ファイルが空、または LF/CR 文字のみを含む場合は、空文字列が返されます。
- バイトオーダーマーク(BOM)は出力から除外されます。
Example:
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番目の一致グループに置き換えられます(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 パスに従います。これはセキュリティリスクとなる可能性があります。
- ファイルサイズの上限は、large file support に依存します。
- バイトオーダーマーク (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 string.
対応プラットフォーム: Linux, FreeBSD, Solaris, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows.
コメント:
- inode 数が 0 のファイルシステムも報告されます。これは、動的 inode を持つファイルシステム(例: btrfs)の場合に該当します。
- 利用可能なディスク容量と inode 統計は、Zabbix エージェントユーザーがマウントポイントのパスにあるすべてのディレクトリに対して traverse 権限を持っている場合にのみ返されます。そうでない場合、そのファイルシステムは出力から除外されます。
- 参照: マウントされたファイルシステムのディスカバリ。
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>]
メモリサイズをバイト単位、または総メモリに対する割合で返します。
戻り値: バイトの場合は Integer、割合の場合は Float。
サポートされているプラットフォームを参照してください。
パラメータ:
- mode - 指定可能な値: total (デフォルト)、active、anon、buffers、cached、exec、file、free、inactive、pinned、shared、slab、wired、used、pused (使用中、割合)、available、または pavailable (利用可能、割合)。
コメント:
- このアイテムは3つのカテゴリのパラメータを受け付けます:
- total - メモリの総量;
- プラットフォーム固有のメモリ種別: active、anon、buffers、cached、exec、file、free、inactive、pinned、shared、slab、wired;
- 使用中および利用可能なメモリ量に関するユーザーレベルの推定値: 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サーバーまたはプロキシの内部メトリクスのセットを返します。
ip と port が指定されている場合、メトリクスはリモートインスタンスから取得されます。指定されていない場合は、ローカルインスタンスから取得されます。
戻り値: JSON文字列。
サポートされるプラットフォームを参照してください。
パラメータ:
- ip - リモート照会されるサーバー/プロキシの IP/DNS/ネットワークマスクリスト(デフォルトは 127.0.0.1)
- port - リモート照会されるサーバー/プロキシのポート(デフォルトは 10051)
コメント:
- このアイテムは、選択された内部メトリクスのセットを返します。 詳細については、Zabbix stats のリモート監視を参照してください。
- 統計情報のリクエストは、対象インスタンスの 'StatsAllowedIP' サーバー/プロキシ パラメータに一覧表示されているアドレスからのみ受け付けられることに注意してください。
zabbix.stats[<ip>,<port>,queue,<from>,<to>]
Zabbixサーバーまたはプロキシ上で遅延しているキュー内の監視対象アイテム数を返します。
ip と port が指定されている場合、メトリクスはリモートインスタンスから取得されます。指定されていない場合は、ローカルインスタンスから取得されます。
戻り値: JSON文字列。
サポートされるプラットフォームを参照してください。
パラメータ:
- ip - リモート照会されるサーバー/プロキシの IP/DNS/ネットワークマスクリスト(デフォルトは 127.0.0.1)
- port - リモート照会されるサーバー/プロキシのポート(デフォルトは 10051)
- queue - 定数(そのまま使用)
- from - 少なくともこの秒数だけ遅延(デフォルトは 6 秒)
- to - 最大でこの秒数まで遅延(デフォルトは無限大)
統計情報のリクエストは、対象インスタンスの 'StatsAllowedIP' server/proxy パラメータに一覧表示されているアドレスからのみ受け付けられることに注意してください。
脚注
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]
エンコーディング設定
取得したデータが破損しないようにするには、encoding パラメータでチェックの処理に使用する正しいエンコーディングを指定できます(例: 'vfs.file.contents')。
サポートされているエンコーディング(コードページ識別子)の一覧は、libiconv(GNU Project)のドキュメント、または Microsoft Windows SDK の "Code Page Identifiers" に関するドキュメントで確認できます。
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値より大きくする必要があります。