1 Zabbix エージェント
概要
このセクションでは、データ収集のためにZabbixエージェントとの通信を使用するアイテムキーの詳細を説明します。
エージェントチェックには、パッシブチェックとアクティブチェックがあります。 アイテムを設定する際に、必要なタイプを選択できます。
- Zabbixエージェント - パッシブチェック用
- Zabbixエージェント (active) - アクティブチェック用
Zabbixエージェントでサポートされているすべてのアイテムキーは、新世代のZabbixエージェント 2でもサポートされていることに注意してください。 エージェント 2 でのみ使用できる追加のアイテムキーも参照してください。
サポートされているアイテムキー
Zabbixエージェントで使用できるアイテムキーを以下に示します。
アイテムキーは、パラメータおよび追加情報を省略して一覧表示しています。 詳細は、アイテムキーをクリックして確認してください。
| Item key | Description | Item group |
|---|---|---|
| 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エージェントまたはZabbixエージェント 2)。 | |
| agent.version | Zabbixエージェントのバージョン。 | |
| zabbix.stats | Zabbixサーバーまたはプロキシの内部メトリクス一式を返します。ip と port が指定されている場合はリモートインスタンスから、そうでない場合はローカルインスタンスからメトリクスを取得します。 |
|
| zabbix.stats | 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 - 一意でないレコードについて、ファイルサイズが変化した場合にのみ再読み込みします(更新時刻の変更は無視します)。 (このパラメータは 5.0.2 以降非推奨です。現在は mtime が無視されるためです。) - persistent dir (Unixシステム上の zabbix_agentd のみ。Zabbix agent 2 ではサポートされません) - 永続ファイルを保存するディレクトリの絶対パス名。 persistent files に関する追加の注意事項も参照してください。
コメント:
- このアイテムはアクティブチェックとして設定する必要があります。
- 一致した行は、エージェントによる前回のログチェック以降の新しい行の中でカウントされるため、アイテムの更新間隔に依存します。
- ファイルが存在しない場合、または権限によりアクセスできない場合、このアイテムは未サポートになります。
logrt[file regexp,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>,<persistent dir>]
ローテーションされるログファイルの監視。
戻り値: Log。
サポートされるプラットフォームを参照してください。
パラメータ:
- file regexp - ファイルへの絶対パス。ファイル名は通常の正規表現で指定します。
正規表現はファイル名にのみ適用され、名前全体に一致する必要はないことに注意してください(例: /path/to/agent は zabbix_agentd.log に一致します)。
- 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 - ログファイルローテーションの種類およびその他のオプション。
指定可能な値:
rotate(デフォルト)、
copytruncate - copytruncate は maxdelay と同時に使用できないことに注意してください。 この場合、maxdelay は 0 にするか指定しない必要があります。copytruncate の注意事項を参照してください。
mtime-reread - 一意でないレコード。更新時刻またはサイズが変化した場合に再読み込みします(mtime-*オプションが明示的に設定されていない場合のデフォルト)。
mtime-noreread - 一意でないレコード。サイズが変化した場合のみ再読み込みします(更新時刻の変化は無視します)。 - persistent dir (Unixシステム上の zabbix_agentd のみ。Zabbix agent 2 では未サポート) - 永続ファイルを保存するディレクトリの絶対パス名。 persistent files に関する追加の注意事項も参照してください。
コメント:
- このアイテムはアクティブチェックとして設定する必要があります。
- ログローテーションはファイルの最終更新時刻に基づきます。
- 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' のみをサーバーに送信します。数値が送信されるため、このアイテムの "Type of information" は "Numeric (unsigned)" に設定でき、その値はグラフ、トリガーなどで使用できます。
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。
サポートされるプラットフォームを参照してください。
パラメータ:
- 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 に関する追加の注意事項も参照してください。
コメント:
- このアイテムはアクティブチェックとして設定する必要があります。
- 一致した行は、エージェントによる前回のログチェック以降の新しい行の中でカウントされるため、アイテムの更新間隔に依存します。
- ログローテーションは、ファイルの最終更新時刻に基づきます。
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(Windows では Zabbix エージェント 2 を使用している場合を除き無視されます)- DNSサーバーのIPアドレス(デフォルトのDNSサーバーを使用する場合は空のままにします);
- name - 問い合わせるDNS名;
- type - 問い合わせるレコードタイプ(デフォルトは SOA);
- timeout(Windows では Zabbix エージェント 2 を使用している場合を除き無視されます)- リクエストのタイムアウト(秒単位、デフォルトは1秒);
- count(Windows では Zabbix エージェント 2 を使用している場合を除き無視されます)- リクエストの試行回数(デフォルトは2);
- protocol - DNSクエリの実行に使用するプロトコル: udp(デフォルト)または tcp。
コメント:
typeに指定可能な値は次のとおりです: ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS(Windows 上の Zabbix エージェント、およびすべての OS 上の Zabbix エージェント 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 エージェント 2 を使用しない限り無視されます) - DNSサーバーのIPアドレス (デフォルトのDNSサーバーを使用する場合は空のままにします);
- name - 問い合わせるDNS名;
- type - 問い合わせるレコードタイプ (デフォルトは SOA);
- timeout (Windows では Zabbix エージェント 2 を使用しない限り無視されます) - リクエストのタイムアウト (秒単位、デフォルトは1秒);
- count (Windows では Zabbix エージェント 2 を使用しない限り無視されます) - リクエストの試行回数 (デフォルトは2);
- protocol - DNSクエリの実行に使用するプロトコル: udp (デフォルト) または tcp。
コメント:
typeに指定可能な値は次のとおりです:
ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (Windows上のZabbix エージェント、すべてのOS上のZabbix エージェント 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エージェント 2 では、追加のレコードタイプやDNS監視のより詳細な制御などの追加機能を提供する net.dns.get も利用できます。
戻り値: 必要な種類の情報を含む文字列。
サポートされるプラットフォームを参照してください。
パラメータ:
- ip (Windows では Zabbixエージェント 2 を使用しない限り無視されます) - DNSサーバーのIPアドレス (デフォルトのDNSサーバーを使用する場合は空のままにします);
- name - 問い合わせるDNS名;
- type - 問い合わせるレコードタイプ (デフォルトは SOA);
- timeout (Windows では Zabbixエージェント 2 を使用しない限り無視されます) - リクエストのタイムアウト時間 (秒単位、デフォルトは1秒);
- count (Windows では Zabbixエージェント 2 を使用しない限り無視されます) - リクエストの試行回数 (デフォルトは2);
- protocol - DNSクエリの実行に使用するプロトコル: udp (デフォルト) または tcp。
コメント:
typeに指定可能な値は次のとおりです:
ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (Windows上のZabbixエージェント、すべてのOS上のZabbixエージェント 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]
ウィンドウ外コリジョンの数。
戻り値: Integer。
サポートされているプラットフォーム: 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秒あたりの変化量 前処理ステップとともに使用できます。
- 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 - デバイスドライバーによって送信された圧縮パケット数
コメント:
- バイト/秒の統計を取得するために、このキーを 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>]
ネットワークインターフェースにおける受信および送信トラフィック統計の合計です。
戻り値: Integer。
対応プラットフォーム: 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 - デバイスドライバーによって送受信された圧縮パケット数
コメント:
- バイト/秒の統計を取得するには、このキーを 1秒あたりの変化量 の前処理ステップとともに使用できます。
- dropped モードは Linux、HP-UX でのみサポートされています。
ドロップされたパケットは、お使いのプラットフォームで
net.if.inとnet.if.outの両方が dropped パケットに対して機能する場合にのみサポートされます。 - 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 以降では、可能な場合、待ち受け中のTCPソケットに関する情報はカーネルのNETLINKインターフェースから取得されます。 それ以外の場合、情報は /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エージェント 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への接続のうち、established状態にある接続数
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使用率データは、collector によって収集されます。この collector は、(name、user、command line の組み合わせで)最大1024個の一意なクエリをサポートします。 過去24時間アクセスされていないクエリは collector から削除されます。
zoneパラメータを current(またはデフォルト値)に設定した場合、zone サポートのないSolaris上でエージェントがコンパイルされ、その後 zone をサポートする新しいSolaris上で実行されていると、エージェントは NOTSUPPORTED を返します(エージェントは結果を現在の zone のみに制限できません)。 ただし、この場合は all がサポートされます。
例:
proc.cpu.util[,root] #CPU utilization of all processes running under the "root" user
proc.cpu.util[zabbix_server,zabbix] #CPU utilization of all zabbix_server processes running under the zabbix user
proc.get[<name>,<user>,<cmdline>,<mode>]
OSプロセスとそのパラメータの一覧です。
ローレベルディスカバリに使用できます。
戻り値: JSON string。
Supported platforms: Linux, FreeBSD, Windows, OpenBSD, NetBSD。
パラメータ:
- name - プロセス名(デフォルトは すべてのプロセス);
- user - ユーザー名(デフォルトは すべてのユーザー);
- cmdline - コマンドラインでフィルタリングします(正規expressionです)。 このパラメータはWindowsではサポートされません。その他のプラットフォームでは、mode が 'summary' に設定されている場合はサポートされません。
- mode - 指定可能な値:
process(デフォルト), thread(NetBSDではサポートされません), summary。 各 mode およびOSで返されるprocess parametersの一覧を参照してください。
コメント:
- 値を取得できない場合、たとえばエラー(プロセスがすでに終了している、権限不足、システムコールの失敗)により、
-1が返されます。 nameおよびcmdlineパラメータでプロセスを選択する際のnotesを参照してください(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>]
プロセスが使用しているメモリ量(バイト単位)。
戻り値: mode が max、min、sum の場合は Integer、mode が avg の場合は Float
対応プラットフォーム: 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] #the memory used by all processes running under the "root" user
proc.mem[zabbix_server,zabbix] #the memory used by all zabbix_server processes running under the zabbix user
proc.mem[,oracle,max,oracleZABBIX] #the memory used by the most memory-hungry process running under Oracle having oracleZABBIX in its command line
proc.num[<name>,<user>,<state>,<cmdline>,<zone>]
プロセス数。
戻り値: Integer。
対応プラットフォーム: 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 の状態パラメータは、Linux、FreeBSD、OpenBSD、NetBSD でのみサポートされています。
- Windows では、
nameおよびuserパラメータのみサポートされています。 - このアイテムがコマンドラインから呼び出され、コマンドラインパラメータを含む場合(例: エージェントのテストモードを使用する場合:
zabbix_agentd -t proc.num[,,,apache2])、エージェント自身もカウントするため、プロセスが1つ余分にカウントされます。 zoneパラメータを current(またはデフォルト)に設定した場合、ゾーンサポートなしでコンパイルされたエージェントを、ゾーンがサポートされている新しい Solaris 上で実行すると、エージェントは NOTSUPPORTED を返します(エージェントは結果を現在のゾーンのみに制限できません)。 ただし、この場合は all がサポートされます。nameおよびcmdlineパラメータを使用したプロセスの選択については、注意事項(Linux固有)を参照してください。
例:
proc.num[,mysql] #the number of processes running under the mysql user
proc.num[apache2,www-data] #the number of apache2 processes running under the www-data user
proc.num[,oracle,sleep,oracleZABBIX] #the number of processes in sleep state running under Oracle having oracleZABBIX in its command line
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 string。
サポートされているプラットフォームを参照してください。
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 number> または 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情報です。
戻り値: 文字列 または 整数。
対応プラットフォーム: 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 デバイスの一覧です。
戻り値: Text。
対応プラットフォーム: 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アドレスの一覧。
戻り値: 文字列。
サポートされるプラットフォーム: 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>]
ホスト上で指定したコマンドを実行します。
戻り値: コマンドの結果のテキスト、または mode が nowait の場合は 1(コマンドの結果に関係なく)。
サポートされるプラットフォームを参照してください。
パラメータ:
- command - 実行するコマンド;
- mode - 指定可能な値: wait - 実行終了まで待機(デフォルト)、または nowait - 待機しない。
コメント:
- このアイテムはデフォルトで無効になっています。 有効化する方法はこちらを参照してください。
- アイテムの戻り値は、コマンドによって生成された標準出力と標準エラー出力を合わせたものです。 終了コードのチェックは実行されません。
- 正しく処理されるためには、コマンドの戻り値は
textデータ型である必要があります。 空の結果も許可されます。 - 戻り値は 16MB に制限されます(切り捨てられる末尾の空白を含む)。また、データベースの制限も適用されます。
- あわせて参照: コマンド実行。
例:
system.run[ls -l /] #ルートディレクトリの詳細なファイル一覧を返す
system.stat[resource,<type>]
システム統計情報です。
戻り値: Integer または float。
サポートされているプラットフォーム: AIX。
パラメータ:
- ent - このパーティションに割り当てられている受給可能なプロセッサーユニット数 (float);
- kthr,<type> - カーネルスレッドの状態に関する情報:
r - 実行可能なカーネルスレッドの平均数 (float)
b - Virtual Memory Manager の待機キューに置かれたカーネルスレッドの平均数 (float) - memory,<type> - 仮想メモリおよび実メモリの使用状況に関する情報:
avm - アクティブな仮想ページ数 (integer)
fre - フリーリストのサイズ (integer) - 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秒あたりのバイト数で示します (integer)
tps - 物理ディスク/テープに対して発行された1秒あたりの転送回数を示します (float)
コメント:
- これらのアイテムには、以下の制限があることに注意してください:
system.stat[cpu,app]- AIX LPAR のタイプが "Shared" の場合のみサポートされます。
system.stat[cpu,ec]- AIX LPAR のタイプが "Shared" および "Dedicated" の場合にサポートされます ("Dedicated" は常に 100 (percent) を返します)。
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
info は以下から取得されます(すべてのディストリビューションですべてのファイルやオプションが存在するわけではないことに注意してください):
- 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 string。
サポートされているプラットフォーム: 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 string。
対応プラットフォーム: Linux。
パラメータ:
- regexp - all(デフォルト)または通常のexpression。
- 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 型のパラメータは Linux でのみサポートされています。
例:
system.swap.in[,pages]
system.swap.out[<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 型パラメータは Linux でのみサポートされています。
例:
system.swap.out[,pages]
system.swap.size[<device>,<type>]
スワップ領域のサイズを、バイト単位または合計に対する割合で返します。
戻り値: バイトの場合は Integer、割合の場合は Float。
対応プラットフォーム: Linux、FreeBSD、Solaris、AIX、OpenBSD、Windows。
パラメータ:
- device - スワップに使用するデバイス(FreeBSDのみ)または all(デフォルト)を指定します。
- type - 指定可能な値: free(空きスワップ領域、デフォルト)、pfree(空きスワップ領域、割合)、pused(使用済みスワップ領域、割合)、total(スワップ領域の合計)、または used(使用済みスワップ領域)。
コメント:
- Windows では、スワップサイズが 0 の場合、pfree と pused はサポートされません。
- 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
システムの稼働時間(秒単位)。
戻り値: Integer。
サポートされているプラットフォーム: Linux、FreeBSD、Solaris、AIX、MacOS X、OpenBSD、NetBSD、Windows。
アイテムの設定では、読みやすい値を取得するために、単位として s または uptime を使用します。
system.users.num
ログインしているユーザー数。
戻り値: 整数。
サポートされているプラットフォームを参照してください。
値の取得には、エージェント側で who コマンドが使用されます。
vfs.dev.discovery
ブロックデバイスとそのタイプの一覧です。
ローレベルディスカバリに使用されます。
戻り値: JSON string。
サポートされているプラットフォーム: Linux。
vfs.dev.read[<device>,<type>,<mode>]
ディスクの読み取り統計情報です。
戻り値: type が sectors、operations、bytes の場合は Integer、type が sps、ops、bps の場合は Float。
対応プラットフォーム: Linux、FreeBSD、Solaris、AIX、OpenBSD。
パラメータ:
- device - ディスクデバイス(デフォルトは all 3);
- type - 使用可能な値: sectors、operations、bytes、sps、ops、または bps(sps、ops、bps はそれぞれ 1 秒あたりの sectors、operations、bytes を表します);
- 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>]
ディスクの書き込み統計情報です。
戻り値: type が sectors、operations、bytes の場合は Integer、type が sps、ops、bps の場合は Float。
対応プラットフォーム: Linux、FreeBSD、Solaris、AIX、OpenBSD。
パラメータ:
- device - ディスクデバイス(デフォルトは all 3);
- type - 指定可能な値: sectors、operations、bytes、sps、ops、または bps(sps、ops、bps はそれぞれ 1 秒あたりの sectors、operations、bytes を表します);
- 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 では、ディレクトリにもゼロ以外のサイズがあります(通常は数 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 string。
対応プラットフォームを参照してください。
パラメータ:
- 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 では、ディレクトリも 0 以外のサイズを持ちます(通常は数 KB)。
デバイスのサイズは 0 です。たとえば /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>]
ディレクトリのサイズ(バイト単位)。
戻り値: Integer。
対応プラットフォーム: 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 設定によりタイムアウトする場合があります。 必要に応じてタイムアウト値を増やしてください。
- ファイルサイズの上限は、large file support に依存します。
例:
vfs.dir.size[/tmp,log] #/tmp 内で名前に 'log' を含むすべてのファイルのサイズを計算します
vfs.dir.size[/tmp,log,^.+\.old$] #/tmp 内で名前に 'log' を含み、名前の末尾が '.old' のファイルを除外したすべてのファイルのサイズを計算します
vfs.file.cksum[file,<mode>]
UNIX cksumアルゴリズムで計算されたファイルのチェックサムです。
戻り値: mode が crc32 の場合は Integer、mode が md5、sha256 の場合は String。
サポートされているプラットフォームを参照してください。
パラメータ:
- file - ファイルへのフルパス。
- mode - crc32(デフォルト)、md5、または sha256。
コメント:
- Windowsでは、このアイテムはUNCパスに従います。これはセキュリティリスクとなる可能性があります。
- ファイルサイズの上限は、large file support に依存します。
例:
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> の両方に含まれている場合、そのタイプのファイルは除外されます。
- ファイルサイズの上限は、large file support に依存します。
例:
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。
- ファイルサイズの上限は、large file support に依存します。
例:
vfs.file.get[/etc/passwd] # /etc/passwd ファイルに関する情報(タイプ、ユーザー、パーミッション、SID、uid など)を含む JSON を返す
vfs.file.md5sum[file]
ファイルのMD5チェックサム。
戻り値: 文字列(ファイルのMD5ハッシュ)。
サポートされているプラットフォームを参照してください。
パラメータ:
- file - ファイルへのフルパス
コメント:
- Windowsでは、このアイテムはUNCパスに従います。これはセキュリティリスクとなる可能性があります。
- ファイルサイズの上限は、large file supportに依存します。
例:
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 パスに従います。これはセキュリティリスクとなる可能性があります。
- ファイルサイズの制限は、large file support に依存します。
例:
vfs.file.owner[/tmp/zabbix_server.log] #return the file owner of /tmp/zabbix_server.log
vfs.file.owner[/tmp/zabbix_server.log,,id] #return the file owner ID of /tmp/zabbix_server.log
vfs.file.permissions[file]
UNIX パーミッションの8進数を含む4桁の文字列を返します。
戻り値: 文字列。
サポートされているプラットフォーム: Linux。
このアイテムは、他の UNIX 系プラットフォームでも動作する場合があります。
パラメータ:
- file - ファイルへのフルパス
ファイルサイズの上限は、large file support に依存します。
例:
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パスに従います。これはセキュリティリスクとなる可能性があります。
- ファイルサイズの上限は、large file supportに依存します。
- 最初に一致した行のみが返されます。
- 式に一致する行がない場合は、空文字列が返されます。
- バイトオーダーマーク(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>]
ファイルサイズ(バイト単位)。
戻り値: Integer。
サポートされているプラットフォームを参照してください。
パラメータ:
- file - ファイルへのフルパス。
- mode - 指定可能な値: bytes(デフォルト)または lines(空行もカウントされます)。
コメント:
- Windowsでは、このアイテムはUNCパスに従います。これはセキュリティリスクとなる可能性があります。
- ファイルには、ユーザー zabbix の読み取り権限が必要です。
- ファイルサイズの上限は、大きなファイルのサポートに依存します。
例:
vfs.file.size[/var/log/syslog]
vfs.file.time[file,<mode>]
ファイルの時刻情報です。
戻り値: Integer(Unixタイムスタンプ)。
サポートされているプラットフォームを参照してください。
パラメータ:
- file - ファイルへのフルパス;
- mode - 指定可能な値:
modify(デフォルト) - ファイル内容が最後に変更された時刻,
access - ファイルが最後に読み取られた時刻,
change - ファイルのプロパティが最後に変更された時刻
コメント:
- Windows では、このアイテムは UNC パスに従います。これはセキュリティリスクとなる可能性があります。
- ファイルサイズの制限は、large file support に依存します。
例:
vfs.file.time[/etc/passwd,modify]
vfs.fs.discovery
マウントされているファイルシステムの一覧と、そのタイプおよびマウントオプションです。
ローレベルディスカバリに使用されます。
戻り値: JSON string。
サポートされているプラットフォーム: 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)で発生する場合があります。
- 参照: マウントされたファイルシステムのディスカバリ。
vfs.fs.inode[fs,<mode>]
inode の数または割合。
戻り値: 数の場合は Integer、割合の場合は Float。
サポートされているプラットフォームを参照してください。
パラメータ:
- fs - ファイルシステム。
- mode - 指定可能な値: total (デフォルト)、free、used、pfree (空き、割合)、または pused (使用中、割合)。
inode 数が 0 の場合、これは動的 inode を持つファイルシステム (例: btrfs) で発生することがあり、その場合 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
エージェントのホストメタデータ。
戻り値: String。
サポートされているプラットフォームを参照してください。
HostMetadata または HostMetadataItem パラメータの値を返します。どちらも定義されていない場合は、空文字列を返します。
agent.hostname
エージェントのホスト名です。
戻り値: String。
サポートされているプラットフォームを参照してください。
戻り値:
- パッシブチェックの場合 - エージェント設定ファイルの Hostname パラメータに記載された最初のホスト名。
- アクティブチェックの場合 - 現在のホスト名。
agent.ping
エージェントの可用性チェックです。
戻り値: 利用不可の場合は何も返さない、利用可能な場合は 1。
サポートされているプラットフォームを参照してください。
ホストの利用不可を確認するには、nodata() トリガー関数を使用してください。
agent.variant
Zabbixエージェントのバリアント(ZabbixエージェントまたはZabbixエージェント 2)。
戻り値: 1 - Zabbixエージェント; 2 - Zabbixエージェント 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統計のリモート監視を参照してください。
- 統計情報のリクエストは、対象インスタンスの 'StatsAllowedIP' server/proxy パラメータに一覧表示されているアドレスからのみ受け付けられることに注意してください。
zabbix.stats[<ip>,<port>,queue,<from>,<to>]
Zabbixサーバーまたはプロキシ上で遅延しているキュー内の監視対象アイテム数を返します。ip と port が指定されている場合、メトリクスはリモートインスタンスから取得されます。指定されていない場合は、ローカルインスタンスから取得されます。
戻り値: JSON string。
サポートされるプラットフォームを参照してください。
パラメータ:
- ip - リモート照会されるサーバー/プロキシのIP/DNS/ネットワークマスクリスト(デフォルトは127.0.0.1)
- port - リモート照会されるサーバー/プロキシのポート(デフォルトは10051)
- queue - 定数(そのまま使用)
- from - 少なくともこの時間だけ遅延(デフォルトは6秒)
- to - 最大でこの時間まで遅延(デフォルトは無限大)
統計情報のリクエストは、対象インスタンスの 'StatsAllowedIP' server/proxy パラメータに記載されたアドレスからのみ受け付けられることに注意してください。
注釈
1 Linux固有の注記です。 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 bytes および errors の値は、Solaris 10 6/06 までの Solaris システム上のループバックインターフェースではサポートされていません。これは、バイト、エラー、および使用率の統計がカーネルによって保存および/または報告されないためです。
ただし、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 は一部のコードページを「managed アプリケーションでのみ利用可能」として扱うことがある点に注意してください。つまり、.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値より大きくする必要がある場合があります。