1 Zabbix エージェント

概要

このセクションでは、データ収集のためにZabbixエージェントとの通信を使用するアイテムキーの詳細を説明します。

エージェントチェックには、パッシブチェックとアクティブチェックがあります。 アイテムを設定する際に、必要なタイプを選択できます。

  • Zabbixエージェント - パッシブチェック用
  • Zabbixエージェント (active) - アクティブチェック用

Zabbixエージェントでサポートされているすべてのアイテムキーは、新世代のZabbixエージェント 2でもサポートされていることに注意してください。 エージェント 2 でのみ使用できる追加のアイテムキーも参照してください。

サポートされているアイテムキー

Zabbix エージェントで使用できるアイテムキーを以下に示します。

アイテムキーは、パラメータおよび追加情報を除いて一覧表示されています。 詳細を確認するには、アイテムキーをクリックしてください。

Item key 説明 アイテムグループ
kernel.maxfiles OS がサポートするオープン可能なファイルの最大数。 カーネル
kernel.maxproc OS がサポートするプロセスの最大数。
kernel.openfiles 現在オープンされているファイルディスクリプタの数。
log ログファイルの監視。 ログ監視
log.count 監視対象のログファイル内で一致した行数。
logrt ローテーションされるログファイルの監視。
logrt.count ローテーションされる監視対象ログファイル内で一致した行数。
modbus.get Modbus データを読み取ります。 Modbus
net.dns DNS サービスの状態を確認します。 ネットワーク
net.dns.perf DNS サービスのパフォーマンスを確認します。
net.dns.record DNS クエリを実行します。
net.if.collisions 衝突ウィンドウ外のコリジョン数。
net.if.discovery ネットワークインターフェースの一覧。
net.if.in ネットワークインターフェースの受信トラフィック統計。
net.if.out ネットワークインターフェースの送信トラフィック統計。
net.if.total ネットワークインターフェースの受信および送信トラフィック統計の合計。
net.tcp.listen この TCP ポートが LISTEN 状態かどうかを確認します。
net.tcp.port 指定したポートへの TCP 接続が可能かどうかを確認します。
net.tcp.service サービスが稼働中で TCP 接続を受け付けているかどうかを確認します。
net.tcp.service.perf TCP サービスのパフォーマンスを確認します。
net.tcp.socket.count パラメータに一致する TCP ソケット数を返します。
net.udp.listen この UDP ポートが LISTEN 状態かどうかを確認します。
net.udp.service サービスが稼働中で UDP リクエストに応答しているかどうかを確認します。
net.udp.service.perf UDP サービスのパフォーマンスを確認します。
net.udp.socket.count パラメータに一致する UDP ソケット数を返します。
proc.cpu.util プロセスの CPU 使用率。 プロセス
proc.get OS プロセスとそのパラメータの一覧。
proc.mem プロセスが使用しているメモリ量(バイト単位)。
proc.num プロセス数。
sensor ハードウェアセンサーの読み取り値。 センサー
system.boottime システムの起動時刻。 システム
system.cpu.discovery 検出された CPU/CPU コアの一覧。
system.cpu.intr デバイス割り込み。
system.cpu.load CPU 負荷。
system.cpu.num CPU 数。
system.cpu.switches コンテキストスイッチ数。
system.cpu.util CPU 使用率。
system.hostname システムのホスト名。
system.hw.chassis シャーシ情報。
system.hw.cpu CPU 情報。
system.hw.devices PCI または USB デバイスの一覧。
system.hw.macaddr MAC アドレスの一覧。
system.localtime システム時刻。
system.run ホスト上で指定したコマンドを実行します。
system.stat システム統計。
system.sw.arch ソフトウェアアーキテクチャ情報。
system.sw.os オペレーティングシステム情報。
system.sw.os.get オペレーティングシステムの詳細情報(バージョン、種類、ディストリビューション名、マイナーバージョン、メジャーバージョンなど)。
system.sw.packages インストール済みパッケージの一覧。
system.sw.packages.get インストール済みパッケージの詳細一覧。
system.swap.in スワップイン(デバイスからメモリへ)の統計。
system.swap.out スワップアウト(メモリからデバイスへ)の統計。
system.swap.size スワップ領域のサイズ(バイト単位または全体に対する割合)。
system.uname システムの識別情報。
system.uptime システムの稼働時間(秒単位)。
system.users.num ログイン中のユーザー数。
vfs.dev.discovery ブロックデバイスとそのタイプの一覧。 仮想ファイルシステム
vfs.dev.read ディスク読み取り統計。
vfs.dev.write ディスク書き込み統計。
vfs.dir.count ディレクトリエントリ数。
vfs.dir.get ディレクトリエントリの一覧。
vfs.dir.size ディレクトリサイズ。
vfs.file.cksum UNIX の cksum アルゴリズムで計算されたファイルチェックサム。
vfs.file.contents ファイル内容の取得。
vfs.file.exists ファイルが存在するかどうかを確認します。
vfs.file.get ファイルに関する情報を返します。
vfs.file.md5sum ファイルの MD5 チェックサム。
vfs.file.owner ファイルの所有者を取得します。
vfs.file.permissions UNIX パーミッションの 8 進数を含む 4 桁の文字列を返します。
vfs.file.regexp ファイル内の文字列を取得します。
vfs.file.regmatch ファイル内の文字列を検索します。
vfs.file.size ファイルサイズ。
vfs.file.time ファイル時刻情報。
vfs.fs.discovery マウントされたファイルシステムとそのタイプおよびマウントオプションの一覧。
vfs.fs.get マウントされたファイルシステムとそのタイプ、利用可能なディスク容量、inode 統計、およびマウントオプションの一覧。
vfs.fs.inode inode の数または割合。
vfs.fs.size ディスク容量(バイト単位または全体に対する割合)。
vm.memory.size メモリサイズ(バイト単位または全体に対する割合)。 仮想メモリ
web.page.get Web ページの内容を取得します。 Web 監視
web.page.perf Web ページ全体の読み込み時間。
web.page.regexp Web ページ上の文字列を検索します。
agent.hostmetadata エージェントのホストメタデータ。 Zabbix
agent.hostname エージェントのホスト名。
agent.ping エージェントの可用性チェック。
agent.variant Zabbix エージェントのバリアント(Zabbix エージェントまたは Zabbix エージェント 2)。
agent.version Zabbix エージェントのバージョン。
zabbix.stats Zabbix サーバーまたはプロキシの内部メトリクス一式を返します。ipport が指定されている場合、メトリクスはリモートインスタンスから取得されます。指定されていない場合は、ローカルインスタンスから取得されます。
zabbix.stats Zabbix サーバーまたはプロキシで遅延しているキュー内の監視対象アイテム数を返します。ipport が指定されている場合、メトリクスはリモートインスタンスから取得されます。指定されていない場合は、ローカルインスタンスから取得されます。

サポート対象プラットフォーム

アイテムの詳細で別途指定がない限り、エージェントアイテム(およびすべてのパラメータ)は以下でサポートされています。

  • Linux
  • FreeBSD
  • Solaris
  • HP-UX
  • AIX
  • MacOS X
  • OpenBSD
  • NetBSD

多くのエージェントアイテムは Windows でもサポートされています。
詳細は Windows agent item ページを参照してください。

アイテムキーの詳細

山括弧のないパラメータは必須です。山括弧 < > でマークされたパラメータはオプションです。

kernel.maxfiles


OS がサポートするオープンファイルの最大数
戻り値: Integer
サポート対象プラットフォーム: Linux、FreeBSD、MacOS X、OpenBSD、NetBSD

kernel.maxproc


OS がサポートするプロセスの最大数
戻り値: Integer
サポート対象プラットフォーム: Linux 2.6 以降、FreeBSD、Solaris、MacOS X、OpenBSD、NetBSD

kernel.openfiles


現在開いているファイル記述子の数
戻り値: Integer
サポート対象プラットフォーム: 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' のみをサーバーへ送信します。数値が送信されるため、このアイテムの「情報の型」は「数値(符号なし)」に設定でき、値はグラフやトリガーなどで使用できます。

サーバーへ送信する前にログレコードを書き換えるために 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 ではサポートされません) - 永続ファイルを保存するディレクトリの絶対パス名。 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 - copytruncatemaxdelay と同時に使用できないことに注意してください。 この場合、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' のみをサーバーへ送信します。数値が送信されるため、このアイテムの「情報の型」は「数値(整数)」に設定でき、その値はグラフ、トリガーなどで使用できます。

サーバーへ送信する前にログレコードを書き換えるために 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 - copytruncatemaxdelay と同時に使用できないことに注意してください。 この場合、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 object
サポートされているプラットフォーム: 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 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ルックアップ(typePTR に設定した場合)では、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 (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ルックアップ (typePTR に設定した場合) では、DNS名を逆順形式と非逆順形式の両方で指定できます (以下の例を参照)。 PTRレコードが要求された場合、DNS名は実際にはIPアドレスであることに注意してください。
  • 国際化ドメイン名はサポートされていません。代わりにIDNAエンコードされた名前を使用してください。
  • Zabbix 7.0.1 以降、このアイテムは、DNSサーバーがエラーコード (NXDOMAINSERVFAIL など) を返した場合でも、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ルックアップ(typePTR に設定した場合)では、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 object
サポートされているプラットフォーム: Linux、FreeBSD、Solaris、HP-UX、AIX、OpenBSD、NetBSD、Windows。

net.if.in[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 バッファエラー数
    frame - パケットフレーミングエラー数
    compressed - デバイスドライバーが受信した圧縮パケット数
    multicast - デバイスドライバーが受信したマルチキャストフレーム数

コメント:

  • バイト/秒の統計を取得するために、このキーを 1秒あたりの変化量 前処理ステップとともに使用できます。
  • dropped モードは Linux、FreeBSD、HP-UX、MacOS X、OpenBSD、NetBSD でのみサポートされています。
  • overrunsframecompressedmulticast モードは 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 でのみサポートされています。
  • overrunscollisioncarriercompressed モードは 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 - デバイスドライバーによって送信または受信された圧縮パケット数

コメント:

  • バイト/秒の統計を取得するために、このキーを 1秒あたりの変化量 前処理ステップとともに使用できます。
  • dropped モードは Linux、HP-UX でのみサポートされています。 ドロップされたパケットは、お使いのプラットフォームで net.if.innet.if.out の両方が dropped パケットに対して動作する場合にのみサポートされます。
  • overrunscollisioncompressed モードは 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 - sshldapsmtpftphttppopnntpimaptcphttps、または 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 - sshldapsmtpftphttppopnntpimaptcphttps、または 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 - 接続状態 (establishedunconn)。

例:

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 object
対応プラットフォーム: 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>]


プロセスが使用しているメモリ量(バイト単位)。
戻り値: modemaxminsum の場合は Integermodeavg の場合は Float
対応プラットフォーム: Linux, FreeBSD, Solaris, AIX, OpenBSD, NetBSD.

パラメータ:

  • name - プロセス名(デフォルトは すべてのプロセス);
  • user - ユーザー名(デフォルトは すべてのユーザー);
  • mode - 使用可能な値: avgmaxmin、または 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 の state パラメータは、Linux、FreeBSD、OpenBSD、NetBSD でのみサポートされています;
  • Windows では、name および user パラメータのみサポートされています;
  • このアイテムがコマンドラインから呼び出され、コマンドラインパラメータを含む場合(例: エージェントのテストモード zabbix_agentd -t proc.num[,,,apache2] を使用)、エージェント自身もカウントするため、プロセスが1つ余分にカウントされます;
  • zone パラメータを current(またはデフォルト値)に設定した場合、エージェントがゾーンサポートなしのSolaris上でコンパイルされていて、ゾーンがサポートされる新しいSolaris上で実行されていると、エージェントは NOTSUPPORTED を返します(エージェントは結果を現在のゾーンのみに制限できません)。 ただし、この場合は 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 - 指定可能な値: avgmax、または 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 object
サポートされているプラットフォームを参照してください。

system.cpu.intr


デバイスの割り込み
戻り値: Integer
サポート対象プラットフォーム: 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の数。
戻り値: Integer
サポートされているプラットフォーム: 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


コンテキストスイッチの回数
戻り値: Integer
サポート対象プラットフォーム: 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(デフォルト)、idlenicesystemiowaitinterruptsoftirqstealguest(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 でのみサポートされています。
  • softirqstealguestguest_nice タイプのパラメータは、Linux 2.6 以降でのみサポートされています。
  • avg5 および avg15 モードのパラメータは、Linux、FreeBSD、Solaris、HP-UX、AIX、OpenBSD、NetBSD でサポートされています。

例:

system.cpu.util[0,user,avg5]
system.hostname[<type>,<transform>]


システムのホスト名です。
戻り値: String
サポートされているプラットフォームを参照してください。

パラメータ:

  • 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 (デフォルト)、modelserialtype、または 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(デフォルト)、curfreqmaxfreqmodel または 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アドレスの一覧です。
戻り値: String
対応プラットフォーム: Linux。

パラメータ:

  • interface - all(デフォルト)または正規表現
  • format - full(デフォルト)または short

コメント:

  • 指定された interface の正規表現 に一致する名前のインターフェースのMACアドレスを一覧表示します(all の場合はすべてのインターフェースを一覧表示します)。
  • formatshort を指定した場合、インターフェース名および同一のMACアドレスは一覧表示されません。

例:

system.hw.macaddr["eth0$",full] → [eth0] 00:11:22:33:44:55
system.localtime[<type>]


システム時刻。
戻り値: typeutc の場合は Integertypelocal の場合は 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 結果、または modenowait の場合は 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 - 仮想メモリマネージャの待機キューに配置されたカーネルスレッドの平均数 (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 - ユーザー側で実行中に発生した論理プロセッサの使用率 (%)およびシステムレベル(浮動小数点)
    app - 共有プール内の利用可能な物理プロセッサ数(浮動小数点)
  • disk,<type> - ディスク統計情報:
    bps - ドライブに転送されたデータ量(読み取りまたは書き込み)を1秒あたりのバイト数(整数)で示します。
    tps - 物理ディスク/テープへの1秒あたりの転送回数(浮動小数点)

コメント:

  • これらの項目には以下の制限事項があります。
    system.stat[cpu,app] - タイプ"Shared"のAIX LPARでのみサポートされます。
    system.stat[cpu,ec] - タイプ"Shared"および"Dedicated"のAIX LPARでサポートされます("Dedicated"は常に100(パーセント)を返します)。
    system.stat[cpu,lbusy] - タイプ"Shared"のAIX LPARでのみサポートされます。
    system.stat[cpu,pc] - AIX LPAR タイプ"共有"および"専用"でサポートされます。
    system.stat[ent] - AIX LPAR タイプ"共有"および"専用"でサポートされます。
system.sw.arch


ソフトウェアアーキテクチャ情報。
戻り値: String
サポートされているプラットフォームを参照してください。

この情報は uname() 関数から取得されます。

例:

system.sw.arch → i686
system.sw.os[<info>]


オペレーティングシステムの情報です。
戻り値: String
サポートされるプラットフォーム: Linux、Windows。

パラメータ:

  • info - 指定可能な値: full(デフォルト)、short、または name

info は以下から取得されます(すべてのディストリビューションですべてのファイルやオプションが存在するわけではないことに注意してください):

  • Linux では /proc/versionfull);
  • Linux では /proc/version_signatureshort);
  • Linux では、これをサポートするシステム上の /etc/os-release の PRETTY_NAME パラメータ、または /etc/issue.netname);
  • 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
  • formatfull を指定した場合、パッケージはパッケージマネージャーごとにグループ化されます(各マネージャーは、角括弧内の名前で始まる別々の行に表示されます)。
  • formatshort を指定した場合、パッケージはグループ化されず、1行で一覧表示されます。

例:

system.sw.packages[mini,dpkg,short] → python-minimal, python2.6-minimal, ubuntu-minimal
system.sw.packages.get[<regexp>,<manager>]


インストール済みパッケージの詳細なリスト
戻り値: JSON オブジェクト
サポート対象プラットフォーム: Linux

パラメーター:

  • regexp - all (デフォルト) または正規表現 (/manual/regular_expressions#overview);
  • manager - all (デフォルト) またはパッケージマネージャー (可能な値: rpmdpkgpkgtoolpacmanportage)

コメント:

  • 指定された正規表現に一致する名前のインストール済みパッケージを、フォーマットされていない 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>]


スワップアウト(メモリからデバイスへの書き出し)の統計情報です。
戻り値: 整数
対応プラットフォーム: 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(使用済みスワップ領域)。

コメント:

  • pfreepused は、スワップサイズが 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


システムの稼働時間(秒単位)。
戻り値: Integer
サポートされているプラットフォーム: Linux、FreeBSD、Solaris、AIX、MacOS X、OpenBSD、NetBSD、Windows。

アイテムの設定では、読みやすい値を取得するために、単位として s または uptime を使用します。

system.users.num


ログインしているユーザー数
戻り値: Integer
サポート対象プラットフォームを参照してください。

エージェント側では、who コマンドを使用して値を取得します。

vfs.dev.discovery


ブロックデバイスとそのタイプの一覧です。
ローレベルディスカバリに使用されます。
戻り値: JSON object
サポートされているプラットフォーム: Linux。

vfs.dev.read[<device>,<type>,<mode>]


ディスクの読み取り統計情報です。
戻り値: typesectorsoperationsbytes の場合は Integertypespsopsbps の場合は Float
対応プラットフォーム: Linux、FreeBSD、Solaris、AIX、OpenBSD。

パラメータ:

  • device - ディスクデバイス(デフォルトは all 3);
  • type - 指定可能な値: sectorsoperationsbytesspsops、または bpsspsopsbps はそれぞれ 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
  • サポート対象プラットフォームにおける spsopsbps は 1024 デバイスに制限されます(個別 1023 台と all 用 1 台)。

例:

vfs.dev.read[,operations]
vfs.dev.write[<device>,<type>,<mode>]


ディスクの書き込み統計情報です。
戻り値: typesectorsoperationsbytes の場合は Integertypespsopsbps の場合は Float
対応プラットフォーム: Linux, FreeBSD, Solaris, AIX, OpenBSD.

パラメータ:

  • device - ディスクデバイス(デフォルトは all 3);
  • type - 指定可能な値: sectorsoperationsbytesspsops、または bpsspsopsbps はそれぞれ 1 秒あたりのセクター数、操作数、バイト数を表します);
  • mode - 指定可能な値: avg1(1 分平均、デフォルト)、avg5、または avg15。 このパラメータは、type が sps、ops、bps の場合にのみサポートされます。

コメント:

  • 更新間隔が 3 時間以上2の場合、このアイテムは常に '0' を返します;
  • sectors および sps の type パラメータは Linux でのみサポートされます;
  • ops の type パラメータは Linux および FreeBSD でのみサポートされます;
  • bps の type パラメータは FreeBSD でのみサポートされます;
  • bytes の type パラメータは FreeBSD、Solaris、AIX、OpenBSD でのみサポートされます;
  • mode パラメータは Linux、FreeBSD でのみサポートされます;
  • 相対デバイス名(例: sda)および省略可能な /dev/ プレフィックス付きの名前(例: /dev/sda)を使用できます;
  • LVM 論理ボリュームがサポートされます;
  • OS ごとの 'type' パラメータのデフォルト値:
    AIX - operations
    FreeBSD - bps
    Linux - sps
    OpenBSD - operations
    Solaris - bytes
  • サポート対象プラットフォームにおける spsopsbps は 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 incltypes 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 inclregex 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 object
サポートされるプラットフォームを参照してください。

パラメータ:

  • 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 incltypes 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 inclregex excl の両方がファイルとディレクトリに適用されますが、走査するサブディレクトリの選択時には無視されます(regex incl が “(?i)\^.+\.zip$” で、max depth が設定されていない場合、すべてのサブディレクトリが走査されますが、カウントされるのは zip タイプのファイルのみです)。
  • 実行時間は、エージェントの設定にある timeout 値によって制限されます。 大規模なディレクトリ走査はそれより長くかかる可能性があるため、データは返されず、このアイテムは未サポートになります。 部分的な一覧は返されません。
  • サイズによるフィルタリングでは、意味のあるサイズを持つのは通常ファイルのみです。 Linux および BSD では、ディレクトリにもゼロ以外のサイズがあります(通常は数 KB)。 デバイスのサイズはゼロです。たとえば /dev/sda1 のサイズは、対応するパーティションサイズを反映しません。 したがって、min sizemax 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 ユーザーに読み取り権限があるディレクトリのみが計算対象となります。 読み取り権限のみを持つディレクトリについては、ディレクトリ自体のサイズのみが計算されます。 読み取り権限と実行権限を持つディレクトリについては、内容を含めて計算されます。
  • 大きなディレクトリや低速なドライブでは、このアイテムは agent および server/proxy 設定ファイルの 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アルゴリズムで計算されたファイルのチェックサムです。
戻り値: modecrc32 の場合は Integermodemd5sha256 の場合は String
サポートされているプラットフォームを参照してください。

パラメータ:

  • file - ファイルのフルパス。
  • mode - crc32(デフォルト)、md5、または sha256

コメント:

例:

vfs.file.cksum[/etc/passwd]

戻り値の例(それぞれ crc32/md5/sha256):

675436101
9845acf68b73991eb7fd7ee0ded23c44
ae67546e4aac995e5c921042d0cf0f1f7147703aa42bfbfb65404b30f238f2dc
vfs.file.contents[file,<encoding>]


ファイルの内容を取得します7
戻り値: テキスト
サポートされているプラットフォームを参照してください。

パラメータ:

  • file - ファイルへのフルパス。
  • encoding - コードページの識別子

コメント:

  • Windowsでは、このアイテムはUNCパスに従います。これはセキュリティリスクとなる可能性があります。
  • 戻り値は16MBに制限されます(切り捨てられる末尾の空白文字を含む)。データベースの制限も適用されます。
  • ファイルが空である場合、またはLF/CR文字のみを含む場合は、空文字列が返されます。
  • バイトオーダーマーク(BOM)は出力から除外されます。

例:

vfs.file.contents[/etc/passwd]
vfs.file.exists[file,<types incl>,<types excl>]


ファイルが存在するかどうかを確認します。
戻り値: 0 - 見つからない; 1 - 指定したタイプのファイルが存在する。
サポートされているプラットフォームを参照してください。

パラメータ:

  • file - ファイルへのフルパス;
  • types incl - 含めるファイルタイプのリスト。指定可能な値: file (通常ファイル。types_excl が設定されていない場合のデフォルト), dir (ディレクトリ), sym (シンボリックリンク), sock (ソケット), bdev (ブロックデバイス), cdev (キャラクタデバイス), fifo (FIFO), dev ("bdev,cdev" と同義), all (上記すべてのタイプ。types_excl が設定されている場合のデフォルト)。
  • types excl - 除外するファイルタイプのリスト。指定可能な値については types_incl を参照してください (デフォルトでは何も除外されません)

コメント:

  • Windows では、このアイテムは UNC パスをたどります。これはセキュリティリスクになる可能性があります;
  • 複数のタイプはカンマで区切り、セット全体を引用符 "" で囲む必要があります;
  • 同じタイプが <types_incl> と <types_excl> の両方に含まれている場合、そのタイプのファイルは除外されます;
  • ファイルサイズの上限は大きなファイルのサポートに依存します。

例:

vfs.file.exists[/tmp/application.pid]
vfs.file.exists[/tmp/application.pid,"file,dir,sym"]
vfs.file.exists[/tmp/application_dir,dir]
vfs.file.get[file]


ファイルに関する情報を返します。
戻り値: JSON object
サポートされているプラットフォームを参照してください。

パラメータ:

  • 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 - ファイルへのフルパス

コメント:

例:

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 を返します。

コメント:

例:

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 - ファイルへのフルパス

ファイルサイズの上限は、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 の読み取り権限が必要です。
  • ファイルサイズの上限は、large file support に依存します。

例:

vfs.file.size[/var/log/syslog]
vfs.file.time[file,<mode>]


ファイルの時刻情報です。
戻り値: Integer(Unixタイムスタンプ)。
サポートされるプラットフォームを参照してください。

パラメータ:

  • file - ファイルへのフルパス。
  • mode - 指定可能な値:
    modify(デフォルト) - ファイル内容が最後に変更された時刻。
    access - ファイルが最後に読み取られた時刻。
    change - ファイルのプロパティが最後に変更された時刻。

コメント:

例:

vfs.file.time[/etc/passwd,modify]
vfs.fs.discovery


マウントされているファイルシステムの一覧と、そのタイプおよびマウントオプションを返します。 ローレベルディスカバリに使用されます。
戻り値: JSON object
サポートされているプラットフォーム: Linux、FreeBSD、Solaris、HP-UX、AIX、MacOS X、OpenBSD、NetBSD、Windows。

vfs.fs.get


マウントされているファイルシステムの一覧を、タイプ、利用可能なディスク容量、inode統計、およびマウントオプションとともに返します。 ローレベルディスカバリに使用できます。
戻り値: JSON object
対応プラットフォーム: Linux、FreeBSD、Solaris、HP-UX、AIX、MacOS X、OpenBSD、NetBSD、Windows。

コメント:

vfs.fs.inode[fs,<mode>]


inode の数または割合。
戻り値: 数の場合は Integer、割合の場合は Float
サポートされているプラットフォームを参照してください。

パラメータ:

  • fs - ファイルシステム。
  • mode - 指定可能な値: total (デフォルト)、freeusedpfree (空き、割合)、または pused (使用中、割合)。

inode 数が 0 の場合、これは動的 inode を持つファイルシステム (例: btrfs) で発生することがあり、その場合 pfree/pused の値はそれぞれ "100" および "0" として報告されます。

例:

vfs.fs.inode[/,pfree]
vfs.fs.size[fs,<mode>]


ディスク容量をバイト単位または全体に対する割合(パーセンテージ)で返します。
戻り値: バイトの場合は Integer、割合の場合は Float
サポートされているプラットフォームを参照してください。

パラメータ:

  • fs - ファイルシステム。
  • mode - 指定可能な値: total(デフォルト)、freeusedpfree(空き容量、パーセンテージ)、または pused(使用済み容量、パーセンテージ)。

コメント:

  • ファイルシステムがマウントされていない場合、マウントポイントが存在するローカルファイルシステムのサイズを返します。
  • ファイルシステムの予約領域は考慮され、free モードを使用する場合は含まれません。

例:

vfs.fs.size[/tmp,free]
vm.memory.size[<mode>]


メモリサイズを、バイト単位または総メモリに対する割合で返します。
戻り値: バイトの場合は Integer、割合の場合は Float
サポートされているプラットフォームを参照してください。

パラメータ:

  • mode - 指定可能な値: total (デフォルト)、activeanonbufferscachedexecfilefreeinactivepinnedsharedslabwiredusedpused (使用量、割合)、available、または pavailable (利用可能量、割合)。

コメント:

  • このアイテムは3つのカテゴリのパラメータを受け付けます:
    • total - メモリの総量;
    • プラットフォーム固有のメモリタイプ: activeanonbufferscachedexecfilefreeinactivepinnedsharedslabwired;
    • ユーザーレベルで見積もられた使用中および利用可能なメモリ量: usedpusedavailablepavailable;
  • active モードのパラメータは、FreeBSD、HP-UX、MacOS X、OpenBSD、NetBSD でのみサポートされています;
  • anonexecfile モードのパラメータは、NetBSD でのみサポートされています;
  • buffers モードのパラメータは、Linux、FreeBSD、OpenBSD、NetBSD でのみサポートされています;
  • cached モードのパラメータは、Linux、FreeBSD、AIX、OpenBSD、NetBSD でのみサポートされています;
  • inactivewired モードのパラメータは、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が指定されている場合、pathport は空でなければなりません。 認証が必要なサーバーに接続する際にユーザー名/パスワードを指定すること(例: 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が指定されている場合、pathport は空でなければなりません。 認証が必要なサーバーに接続する際のユーザー名/パスワードの指定(例: 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を指定する場合、pathport は空でなければなりません。 認証が必要なサーバーに接続する際のユーザー名/パスワードの指定(例: 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


エージェントのホスト名
戻り値: 文字列
サポート対象プラットフォームを参照してください。

戻り値:

  • パッシブチェックの場合 - エージェント設定ファイルの 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サーバーまたはプロキシの内部メトリクス一式を返します。ipport が指定されている場合、メトリクスはリモートインスタンスから取得されます。指定されていない場合は、ローカルインスタンスから取得されます。
戻り値: JSON object
サポートされるプラットフォームを参照してください。

パラメータ:

  • ip - リモート照会するサーバー/プロキシのIP/DNS/ネットワークマスクリスト(デフォルトは127.0.0.1)
  • port - リモート照会するサーバー/プロキシのポート(デフォルトは10051)

コメント:

  • このアイテムは、選択された内部メトリクス一式を返します。詳細は、Zabbix統計のリモート監視を参照してください。
  • 統計情報のリクエストは、対象インスタンスの server/proxy パラメータ StatsAllowedIP に一覧表示されているアドレスからのみ受け付けられることに注意してください。
zabbix.stats[<ip>,<port>,queue,<from>,<to>]


Zabbixサーバーまたはプロキシ上で遅延しているキュー内の監視対象アイテム数を返します。ipport が指定されている場合、メトリクスはリモートインスタンスから取得されます。指定されていない場合は、ローカルインスタンスから取得されます。
戻り値: JSON object
サポートされるプラットフォームを参照してください。

パラメータ:

  • 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 が、インターフェース統計からバイト値の読み取りに失敗した際に、パケットカウンタ(ループバックインターフェース上には存在します)に任意の値 308 を掛けて返す、1997年頃までさかのぼる cmu-snmp のレガシーコードを引き継いでいるためです。 これは、パケットの平均長が 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.contentsvfs.file.regexpvfs.file.regmatch に適用されます。 ファイルの先頭にあるバイトオーダーマーク(BOM)を使用して、正しいエンコーディングを判定しようとします。 BOM が存在しない場合は、代わりに標準の解決方法(上記参照)が適用されます。

エージェントアイテムのトラブルシューティング

パッシブチェックの場合、サーバーからエージェントへのリクエストが先にタイムアウトし、その結果アイテムが値を取得できなくなることを防ぐため、次の点に注意してください。

  • エージェントのバージョンがサーバーのバージョンより古い場合、アイテム設定Timeout値(またはグローバルタイムアウト)を、エージェントの設定ファイル内のTimeout値より大きくする必要がある場合があります。
  • エージェントのバージョンがサーバーのバージョンより新しい場合、サーバーの設定ファイル内のTimeout値を、エージェントの設定ファイル内のTimeout値より大きくする必要がある場合があります。