Table of Contents

9 アイテム

アイテムとは、1つのパフォーマンスチェック項目または可用性チェック項目です。

3.1 アイテムキー

3.1.1 引数付きパラメータと引数なしパラメータ

引数付きパラメータには、引数を渡すことができます。たとえば、vfs.fs.size[*]は引数付きパラメータです。*は、パラメータの引数として渡される任意の文字列です。正しい定義の例:

3.1.2 キーのフォーマット

キーパラメータを含むアイテムキー形式は、構文ルールに従う必要があります。以下の例は、サポートされる構文を表しています。このラインに従って、各ポイントで使用可能な項目と文字を決定できます。ラインに従ってブロックに当たった場合、その項目や文字を使用できます。当たらない場合は使用できません。

アイテムキー

有効なアイテムキーを構築するには、キー名を指定してから、パラメータを使用するかどうかを選択します。これは、選択可能な2つのラインで表されています。

キー名

キー名では、使用可能な文字範囲が制限され、各文字が他の文字に続きます。使用可能な文字は次のとおりです: 0-9a-zA-Z_-. 具体的には以下のようになります。

キーのパラメータ

アイテムキーでは、複数のパラメータをカンマ区切りで使用できます。

各キーのパラメータ

各キーパラメータは、引用符付き文字列、引用符なし文字列、または配列のいずれかになります。

パラメータは空白のままにすることもでき、デフォルト値が使用されます。その場合、追加のパラメータを指定するには、適切な数のカンマを追加してください。たとえば、アイテムキーicmpping[,,200,,500]の場合、ping同士の間隔は200ミリ秒、タイムアウトは500ミリ秒、その他のパラメータはデフォルトのままになります。

パラメータ - 引用符付き文字列

キーパラメータが引用符付き文字列の場合、Unicode文字を使用できます。二重引用符付きの場合、バックスラッシュでエスケープする必要があります。

パラメータ - 引用符なし文字列

キーパラメータが引用符なし文字列の場合、すべてのUnicode文字を使用できます。

パラメータ - 配列

キーパラメータが配列の場合、角カッコで再度囲みます。各パラメータの後に、ルールと構文を指定する複数のパラメータが続きます。

3.1.3 使用可能なエンコード

パラメータ「encoding」を使用して、対応するアイテムチェックを処理するためのエンコードを指定するため、取得されたデータは破損しません。サポート対象のエンコードのリスト(コードページ識別子)については、 (GNUプロジェクト)のドキュメントや「Code Page Identifier」に関するMicrosoft Windows SDKドキュメントなどの各ドキュメントを参照してください。空白の「encoding」パラメータが渡されると、システム固有の拡張子が付いたANSI (Windows)またはUTF-8 (比較的新しいUNIX/Linuxディストリビューションのデフォルトのロケール、システムの設定を参照)がデフォルトで使用されます。

3.2 サポートされないアイテム

アイテムの値が何らかの理由で取得できない場合、そのアイテムはサポートされません。このようなアイテムは固定間隔で再チェックされます。間隔は管理のセクションで設定することができます。

3.3 プラットフォーム別のサポート

以下のリストの山カッコ(<や>)で囲まれたパラメータは省略可能です。
パラメータ/システム Windows Linux 2.4 Linux 2.6 FreeBSD Solaris HP-UX AIX Tru64 Mac OS/X OpenBSD
agent.ping X X X X X X X X X X
agent.version X X X X X X X X X X
kernel.maxfiles - X X X - - - - - X
kernel.maxproc - - X X X - - - - X
log[file,<regexp>,<encoding>,<maxlines>,<mode>] X X X X X X X X X X
logrt[file_format,<regexp>,<encoding>,<maxlines>,<mode>] X X X X X X X X X X
eventlog[name,<regexp>,<severity>,<source>,<eventid>,<maxlines>,<mode>] X - - - - - - - - -
net.if.collisions[<if>] - X X X X - - - - -
net.if.in[<if>,<mode>] X X X X X - - - - -
mode bytes X X X X X - - - - -
packets X X X X X - - - - -
errors X X X X X - - - - -
dropped X X X X - - - - - -
net.if.list X - - - - - - - - -
net.if.out[<if>,<mode>] X X X X X - - - - -
mode bytes X X X X X - - - - -
packets X X X X X - - - - -
errors X X X X X - - - - -
dropped X X X - - - - - - -
net.tcp.dns[<ip>,zone] - X X X X X X X X X
net.tcp.dns.query[<ip>,zone,<type>] - X X X X X X X X X
net.tcp.listen[port] X - - X X - - - - -
net.tcp.port[<ip>,port] X X X X X X X X X -
net.tcp.service.perf[service,<ip>,<port>] - X X X X X X X - -
net.tcp.service[service,<ip>,<port>] - X X X X X X X - -
proc.mem[<name>,<user>,<mode>,<cmdline>] - X X X X - X X - -
mode sum - X X X X - X X - -
avg - X X X X - X X - -
max - X X X X - X X - -
min - X X X X - X X - -
proc.num[<name>,<user>,<state>,<cmdline>] - X X X X - X X - -
state all - X X X X - X X - -
sleep - X X X X - X X - -
zomb - X X X X - X X - -
run - X X X X - X X - -
system.boottime - X X X - - - - - X
system.cpu.intr - X X X X - - - - X
system.cpu.load[<cpu>,<mode>] X X X X X X - - - X
mode avg1 - X X X X X - - - X
avg5 - X X X X X - - - X
avg15 - X X X X X - - - X
system.cpu.num[<type>] X X X X X X - - - X
type online - X X X - - - - - X
max - X X X - - - - - -
system.cpu.switches - X X X X - - - - X
system.cpu.util[<cpu>,<type>,<mode>] X X X X X - - - - X
type user - X X X X X - - - X
nice - X X X - X - - - X
idle - X X X X X - - - X
system - X X X - X - - - X
kernel - - - - X X - - - -
iowait - - X - X X - - - -
interrupt - - X X - - - - - X
softirq - - X - - - - - - -
steal - - X - - - - - - -
mode avg1 - X X X - X - - - X
avg5 - X X X - X - - - X
avg15 - X X X - X - - - X
system.run[command,<mode>] X X X X X X X X X X
mode wait X X X X X X X X X X
nowait X X X X X X X X X X
system.hostname X X X X X X X X X X
system.localtime X X X X X X X X X X
type utc X X X X X X X X X X
local X X X X X X X X X X
system.swap.in[<swap>,<type>] - X X - X - - - - -
type count - X X - X - - - - -
sectors - X X - X - - - - -
pages - X X - X - - - - -
system.swap.out[<swap>,<type>] - X X - X - - - - -
type count - X X - X - - - - -
sectors - X X - X - - - - -
pages - X X - X - - - - -
system.swap.size[<swap>,<type>] X X X X X - - X - X
mode free - X X X X - - X - X
total - X X X X - - X - X
used - X X X - - - - - X
pfree - X X X - - - - - X
pused - X X X - - - - - X
system.uname X X X X X X X X - X
system.uptime X X X X X - - - - X
system.users.num - X X X X X X X - X
vfs.dev.read[device,<type>,<mode>] - X X X X - - - - -
type sectors - X X - - - - - - -
operations - X X - X - - - - -
bytes - - - - X - - - - -
sps - X X - - - - - - -
ops - X X X - - - - - -
bps - - - X - - - - - -
mode avg1 - X X X - - - - - -
avg5 - X X X - - - - - -
avg15 - X X X - - - - - -
vfs.dev.write[device,<type>,<mode>] - X X X X - - - - -
type sectors - X X - - - - - - -
operations - X X - X - - - - -
bytes - - - - X - - - - -
sps - X X - - - - - - -
ops - X X X - - - - - -
bps - - - X - - - - - -
mode avg1 - X X X - - - - - -
avg5 - X X X - - - - - -
avg15 - X X X - - - - - -
vfs.file.cksum[file] X X X X X X X X - -
vfs.file.exists[file] X X X X X X X X X -
vfs.file.md5sum[file] X X X X X X X X - -
vfs.file.regexp[file,regexp,<encoding>] X X X X X X X X - -
vfs.file.regmatch[file,regexp,<encoding>] X X X X X X X X - -
vfs.file.size[file] X X X X X X X X - -
vfs.file.time[file,<mode>] X X X X X X X X - -
mode modify X X X X X X X X - -
access X X X X X X X X - -
change X X X X X X X X - -
vfs.fs.inode[fs,<mode>] - X X X X X X X - -
mode total - X X X X X X X - -
free - X X X X X X X - -
used - X X X X X X X - -
pfree - X X X X X X X - -
pused - X X X X X X X - -
vfs.fs.size[fs,<mode>] X X X X X X X X - -
mode total X X X X X X X X - -
free X X X X X X X X - -
used X X X X X X X X - -
pfree X X X X X X X X - -
pused X X X X X X X X - -
vm.memory.size[<mode>] X X X X X X X - - -
mode total - X X X X X X X - -
free - X X X X X X X - -
shared - X X X - X X - - -
buffers - X X X - X X - - -
cached - X X X - X X - - -
pfree - X X X - X X - - -
available - X X X - X X - - -

3.4 Zabbixエージェント

[]内で使用できる文字:

0-9a-zA-Z.:,()_/[空白]

取得可能なパラメータのリスト

キー 説明 返り値 パラメータ コメント
agent.ping エージェントの可用性のチェック エージェントが使用可能な場合は1を返し、使用不可能な場合は何も返しません。 - TCP pingとして使用可能関数nodata()を使用してホストが使用可能かどうかをチェックします。
agent.version Zabbixエージェントのバージョン 文字列 - 戻り値の例: 1.8.2
kernel.maxfiles オープンできる最大ファイル数(OSで設定されている値) ファイルの数整数
kernel.maxproc 最大プロセス数(OSで設定されている値) プロセスの数
整数
log[file,<regexp>,<encoding>,<maxlines>,<mode>] 監視するログファイル ログ file - 詳細なファイル名
regrxp- 正規表現パターン
encoding - コードページ識別子
maxlines - エージェントがZabbixサーバまたはプロキシに送信する1秒当たりの新しい行の最大数このパラメータは「MaxLinesPerSecond」のオプションを上書きします。 zabbix_agentd.conf
mode - all (デフォルト)、 skip (比較的古いデータの処理を省略)のいずれかを指定。
modeパラメータはバージョン2.0以降でサポートされます。
アクティブチェックとして設定してください。
例:
log[\home\zabbix\logs\logfile,,,100]
次を参照してください。 ログ監視の詳細.
logrt[file_format,<regexp>,<encoding>,<maxlines>,<mode>] ログローテーションサポートによるログファイルの監視 ログ file_format - [絶対パス][正規表現によるファイル名]のフォーマットでファイルのフルパスを指定します
regrxp- 正規表現パターン
encoding - コードページ識別子
maxlines - エージェントがZabbixサーバまたはプロキシに送信する1秒当たりの新しい行の最大数このパラメータは「MaxLinesPerSecond」のオプションを上書きします。 zabbix_agentd.conf
mode - all (デフォルト)、 skip (比較的古いデータの処理を省略)のいずれかを指定。
modeパラメータはバージョン2.0以降でサポートされます。
アクティブチェックとして設定してください。
例:
logrt[“\home\zabbix\logs\ ^ logfile[0-9]{1,3}$”,,,100]
ログローテーションは、ファイルの最終変更時間に基づきます。
次を参照してください。 ログ監視の詳細.
eventlog[name,<regexp>,<severity>,<source>,<eventid>,<maxlines>,<mode>] イベントログの監視 ログ name – イベントログ名
regexp - 正規表現
severity - 正規表現
このパラメータは次の値のみ利用できます: “Information”, “Warning”, “Error”, “Failure Audit”, “Success Audit”
source - ソース識別子
eventid - 正規表現
maxlines - エージェントがZabbixサーバまたはプロキシに送信する1秒当たりの新しい行の最大数このパラメータは「MaxLinesPerSecond」のオプションを上書きします。 zabbix_agentd.conf
mode - all (デフォルト)、 skip (比較的古いデータの処理を省略)のいずれかを指定。
modeパラメータはバージョン2.0以降でサポートされます。
アクティブチェックとして設定してください。
例:
eventlog[Application]
net.if.collisions[if] Out-of-windowコリジョン。 コリジョン数
整数
if - インタフェース
net.if.in[if,<mode>] ネットワークインタフェースの受信統計 整数 if - インタフェース
mode
bytes - バイト数(デフォルト)
packets - パケット数
errors - エラー数
dropped - ドロップパケット数
net.if.list ネットワークインタフェースのリスト: IPv4の説明 文字列
net.if.out[if,<mode>] ネットワークインタフェースの送信統計 整数 if - インタフェース
mode
bytes - バイト数(デフォルト)
packets - パケット数
errors - エラー数
dropped - ドロップパケット数
例:
net.if.out[eth0,errors]
net.if.out[eth0]
[差分/時間]の設定とこのキーを組み合わせると、1秒あたりのバイト数を取得できます。
net.tcp.dns[<ip>,zone] DNSサービスの動作チェック 0 - DNSは停止中
1 - DNSは動作中
ip - DNSサーバのIPアドレス(無視)
zone - DNSをテストするゾーン
例:
net.tcp.dns[127.0.0.1,zabbix.com]
net.tcp.dns.query[<ip>,zone,<type>] 付属のDNSレコードタイプに対するクエリーの実行 成功の場合は、必要なタイプの情報を含む文字列を返します。 ip - DNSサーバのIPアドレス(無視)
zone - DNSをテストするゾーン
type - クエリーを実行するレコードタイプ(デフォルトはSOA)
例:
net.tcp.dns.query[127.0.0.1,zabbix.com,MX]
typeは以下のいずれかを利用できます:
A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS, HINFO, MINFO, TXT
net.tcp.listen[port] ポートの待ち受け状態チェック 0 - 待ち受け状態ではない
1 - 待ち受け状態
port - ポート番号 例:
net.tcp.listen[80]
net.tcp.port[<ip>,port] portで指定されたポート番号に対するTCP接続可否チェック 0 - 接続不可
1 - 接続可
ip - IPアドレス(デフォルトは127.0.0.1)
port - ポート番号
例:
net.tcp.port[,80]は、ポート80で動作するウェブサーバの可用性をテストします。
旧記法: check_port[*]
net.tcp.service[service,<ip>,<port>] サービスが動作中でTCP接続を受け入れ可能かどうかをチェック 0 - サービスは停止中
1 - サービスは動作中
2 - サービスへの接続がタイムアウト
service - ssh、service.ntp、ldap、smtp、ftp、http、pop、nntp、imap、tcpのいずれか1つを指定
ip - IPアドレス(デフォルトは127.0.0.1)
port - ポート番号(デフォルトでは各サービスの標準ポート番号を使用)
例:
net.tcp.service[ftp,,45]は、TCPポート45で動作するFTPサーバの可用性をテストします。
旧記法: check_service[*]
ntpの代わりにバージョン1.8.3以前のZabbixのservice.ntpを使用してください。
net.tcp.service.perf[service,<ip>,<port>] サービスのパフォーマンスチェック 0 - サービスは停止中
sec - サービスへの接続にかかる時間(秒単位)
service - ssh、service.ntp、ldap、smtp、ftp、http、pop、nntp、imap、tcpのいずれか1つを指定
ip - IPアドレス(デフォルトは127.0.0.1)
port - ポート番号(デフォルトでは各サービスの標準ポート番号を使用)
例:
net.tcp.service.perf[ssh]は、SSHサーバからの初期応答速度をテストします。
旧記法: check_service[*]
ntpの代わりにバージョン1.8.3以前のZabbixのservice.ntpを使用してください。
proc.mem[<name>,<user>,<mode>,<cmdline>] ユーザuserが実行するプロセスnameのメモリ使用量 プロセスのメモリ使用量 name - プロセス名
user - ユーザ名(デフォルトは全ユーザ)
mode - avg、max、min、sum(デフォルト)のいずれか1つを指定
cmdline - コマンドラインによるフィルター
例:
proc.mem[,root] - ユーザrootが実行する全てのプロセスのメモリ使用量
proc.mem[zabbix_server,zabbix] - ユーザzabbixが実行する全てのプロセスzabbix_serverのメモリ使用量
proc.mem[,oracle,max,oracleZABBIX] - ユーザoracleが実行し、コマンドラインに「oracleZABBIX」を含むプロセスのうち、最もメモリを消費しているプロセスのメモリ使用量
proc.num[<name>,<user>,<state>,<cmdline>] ユーザuserが実行し、状態がstateであるようなプロセスnameの数 プロセスの数 name - プロセス名
user - ユーザ名(デフォルトは全ユーザ)
state - all(デフォルト)、run、sleep、zombのいずれか1つを指定
cmdline - コマンドラインによるフィルター
例:
proc.num[,mysql] - ユーザmysqlが実行するプロセスの数
proc.num[apache2,www-data] - ユーザwww-dataが実行するプロセスapache2の数
proc.num[,oracle,sleep,oracleZABBIX] - ユーザoracleが実行し、コマンドラインに「oracleZABBIX」を含むスリープ状態のプロセスの数
system.cpu.intr デバイスの割り込み回数 整数
system.boottime システム起動時のタイムスタンプ 整数 タイムスタンプを秒数で返します。
system.cpu.load[<cpu>,<mode>] CPU load. プロセッサロードアベレージ
(浮動小数点)
cpu - CPU番号(デフォルトは全CPU)
mode - avg1(デフォルト)、avg5(直近5分間の平均値)、avg15のいずれか1つを指定
例:
system.cpu.load[]
旧記法: system.cpu.loadX
system.cpu.num[<type>] CPUの数 使用可能なプロセッサの数 type - online (デフォルト)、maxのいずれかを指定 例:
system.cpu.num
system.cpu.switches コンテキストスイッチの回数 スイッチ回数 旧記法: system[switches]
system.cpu.util[<cpu>,<type>,<mode>] CPUの使用率 プロセッサロードアベレージ(パーセント値) cpu - CPU番号(デフォルトは全CPU)
type - idle、nice、user(デフォルト)、systemのいずれか1つを指定
mode - avg1(デフォルト)、avg5(直近5分間の平均値)、avg15のいずれか1つを指定
旧記法: system.cpu.idleX, system.cpu.niceX, system.cpu.systemX, system.cpu.userX
例:
system.cpu.util[0,user,avg5]
system.run[command,<mode>] ホスト上で指定されたコマンドを実行 コマンドの実行結果(テキスト) command - 実行するコマンド
mode - wait(デフォルト、実行終了を待機)、nowait(待機しない)のいずれか1つを指定
例:
system.run[ls -l /] - rootディレクトリの詳細なファイルリスト
注:
この機能を有効にするには、エージェント設定ファイルで「EnableRemoteCommands=1」を設定する必要があります。
system.hostname ホスト名 文字列 戻り値の例:
www.zabbix.com
system.localtime システム時刻 整数または文字列値 utc - (デフォルト) エポック(1970年1月1日00時00分00秒UTC)を起点とした経過秒数。
local - 「yyyy-mm-dd,hh:mm:ss.nn,+hh:mm」形式の時刻
modeパラメータはバージョン2.0以降でサポートされます。
system.swap.in[<device>,<type>] スワップインの回数 スワップ統計 device - スワップデバイス(デフォルトは全スワップデバイス)、type - count(デフォルト、スワップイン回数)、pages(スワップインページ数)のいずれか1つを指定 例:
system.swap.in[,bytes]
Old naming: swap[in]
system.swap.out[<device>,<type>] スワップインの回数 スワップ統計 device - スワップデバイス(デフォルトは全スワップデバイス)、type - count(デフォルト、スワップアウト回数)、pages(スワップアウトページ数)のいずれか1つを指定 例: system.swap.out[,pages] Old naming: swap[out]
system.swap.size[<device>,<mode>] スワップ容量 バイト数またはパーセント値 device - スワップデバイス(デフォルトは全スワップデバイス)、type - free(デフォルト、空きスワップ容量)、total(合計スワップ容量)、pfree(空きスワップ容量、パーセント値)、pused(使用中スワップ容量、パーセント値)のいずれか1つを指定 例: system.swap.size[,pfree] - 空きスワップ容量率
旧記法 system.swap.free, system.swap.total
system.uname 詳細なホスト情報 文字列 戻り値の例:
FreeBSD localhost 4.4-RELEASE FreeBSD 4.4-RELEASE #0: Tue Sep 18 11:57:08 PDT 2001 murra[email protected]: /usr/src/sys/compile/GENERIC i386
system.uptime システムのアップタイム(秒単位) 秒数 [単位]にsまたはuptimeが設定されている場合、読みやすく変換された値を返します。
system.users.num 接続ユーザ数 ユーザ数 エージェントサイドでwhoコマンドが実行されます。
vfs.dev.read[device,<type>] ディスク読み込み統計 数値 device - ディスクデバイス(デフォルトは全ディスクデバイス)
type - sectors、operations、bytes、sps、ops、bpsのいずれかを指定 (デフォルトでは各種OSで異なるため、使用するパラメータを正確に指定すること)
例: vfs.dev.read[,operations] 旧記法: io[*]
vfs.dev.write[device,<type>] ディスク書き込み統計 数値 device - ディスクデバイス(デフォルトは全ディスクデバイス)
type - sectors、operations、bytes、sps、ops、bpsのいずれかを指定 (デフォルトでは各種OSで異なるため、使用するパラメータを正確に指定すること)
例: vfs.dev.write[,operations] 旧記法: io[*]
vfs.file.cksum[file] ファイルのチェックサムの計算 UNIXのcksumと同じアルゴリズムで計算したチェックサム file - ファイルのフルパス 戻り値の例:
1938292000
例:
vfs.file.cksum[/etc/passwd]
vfs.file.exists[file] ファイルが存在するかどうかのチェック 0 - ファイルは存在しない 1 - ファイルは存在する file - ファイルのフルパス 例: vfs.file.exists[/tmp/application.pid]
vfs.file.md5sum[file] ファイルのMD5チェックサム ファイルのMD5ハッシュ値。サポートされているのはサイズが64MB未満のファイルのみであり、それ以外のファイルは未サポート 戻り値の例:
b5052decb577e0fffd622d6ddc017e82

例:
vfs.file.md5sum[/etc/zabbix/zabbix_agentd.conf]
vfs.file.regexp[file,regexp,<encoding>] ファイル内の文字列検索 一致した文字列、または条件式が見つからない場合はEOF file - ファイルのフルパス、regexp - GNU正規表現
encoding - コードページ識別子
例: vfs.file.regexp[/etc/passwd,zabbix]
vfs.file.regmatch[file,regexp,<encoding>] ファイル内の文字列検索 0 - 条件式が見つからない 1 - 条件式が検出された file - ファイルのフルパス
regexp - GNU正規表現
encoding - コードページ識別子
例: vfs.file.regmatch[/var/log/app.log,error]
vfs.file.size[file] ファイルサイズ サイズ(バイト単位) file - ファイルのフルパス ファイルには、ユーザzabbixの読み取り権限が必要です。例: vfs.file.size[/var/log/syslog]
vfs.file.time[file,<mode>] ファイル時刻情報 秒数 file - ファイルのフルパス
mode - modify(デフォルト、変更時刻)、access(最終アクセス時刻)、change(最終変更時刻)のいずれか1つを指定
例: vfs.file.time[/etc/passwd,modify]
vfs.fs.inode[fs,<mode>] iノードの数 数値 fs - ファイルシステム
mode - total(デフォルト)、free、used、pfree(空き容量、パーセント値)、pused(使用中容量、パーセント値)のいずれか1つを指定
例: vfs.fs.inode[/,pfree] Old naming: vfs.fs.inode.free[*], vfs.fs.inode.pfree[*], vfs.fs.inode.total[*]
vfs.fs.size[fs,<mode>] ディスク容量 ディスク容量(バイト単位) fs - ファイルシステム
mode - total(デフォルト)、free、used、pfree(空き容量、パーセント値)、pused(使用中容量、パーセント値)のいずれか1つを指定
マウントされているボリュームの場合、ローカルファイルシステムのディスク容量を返します。例: vfs.fs.size[/tmp,free] Old naming: vfs.fs.free[*], vfs.fs.total[*], vfs.fs.used[*], vfs.fs.pfree[*], vfs.fs.pused[*]
vm.memory.size[<mode>] メモリサイズ メモリサイズ(バイト単位) mode - total(デフォルト)、shared、free、buffers、cachedのいずれか1つを指定 旧記法: vm.memory.buffers, vm.memory.cached, vm.memory.free, vm.memory.shared, vm.memory.total
web.page.get[host,<path>,<port>] ウェブページの内容の取得 ウェブページのソース(テキスト) host - ホスト名
path - HTMLドキュメントへのパス(デフォルトは/)
port - ポート番号(デフォルトは80)
異常終了の場合はEOFを返します。例: web.page.get[www.zabbix.com,index.php,80]
web.page.perf[host,<path>,<port>] ウェブページ全体のロードにかかる時間の取得 秒数 host - ホスト名
path - HTMLドキュメントへのパス(デフォルトは/)
port - ポート番号(デフォルトは80)
例: web.page.perf[www.zabbix.com,index.php,80]
web.page.regexp[host,<path>,<port>,<regexp>,<length>] ウェブページで最初に正規表現に一致した文字列の取得 見つかった文字列 host - ホスト名
path - HTMLドキュメントへのパス(デフォルトは/)
port - ポート番号(デフォルトは80)
regexp - GNU正規表現, length - 返す文字数
異常終了または一致しない場合はEOFを返します。例: web.page.regexp[www.zabbix.com,index.php,80,OK,2]
Linux特有の注意事項:ZABBIXエージェントには、ファイルシステム/procに対する読み取り専用アクセス権が必要です。www.grsecurity.orgで公開されているカーネルパッチは、非特権ユーザのアクセス権を制限します。

3.5 WIN32固有のパラメータ

ここでは、Zabbix WIN32エージェントでのみサポートされているパラメータについて説明します。

キー 説明 返り値 コメント
perf_counter[counter,<interval>] パフォーマンスカウンタの値、「counter」はカウンタパスの値、「interval」は平均値を保存する期間です。 最新の「interval」秒の間の「counter」の平均値を返します。指定しない場合、「interval」のデフォルト値は1です。 [パフォーマンス モニタ]で、使用可能なカウンタのリストを取得できます。バージョン1.6までは、このパラメータが正しい値を返すのは、サンプルを1つだけ必要とするカウンタ(
System
Threadsなど)が指定された場合だけです。CPU使用率のように複数のサンプルを必要とするカウンタが指定された場合は正しい値を返しません。1.6以降ではintervalが使用されるため、最後の「interval」秒の平均値が毎回返されます。
service_state[*] パラメータで指定された名前のサービスの状態 0 - 実行中
1 - 一時停止中
2 - 開始待ち
3 - 一時停止待ち
4 - 続行待ち
5 - 停止待ち
6 - 停止
7 - 不明
255 - 該当サービスなし
パラメータには、サービスのプロパティの[名前]に表示される正確なサービス名またはEXEファイルの名前を指定する必要があります。
services[<type>,<state>,<exclude>] サービスのリスト。リストが空の場合は、新しい行または0で区切られます。 type - all(デフォルト)、automatic、manual、disabledのいずれかを指定
state - all(デフォルト)、stopped、started、start_pending、stop_pending、running、continue_pending、pause_pending、pausedのいずれかを指定
exclude - 結果から除外するサービスのリストを指定
除外されたサービスは二重引用符で囲み、空白なしのカンマ区切りで指定する必要があります。
このパラメータは、バージョン1.8.1以降でサポートされます。
例:
services[,started] - 実行中のサービスのリスト
services[automatic, stopped] - 実行されている必要があるにも関わらず停止中のサービスのリスト
services[automatic, stopped, “service1,service2,service3”] -実行されている必要があるにも関わらず停止中のサービスのリストで、service1、service2、service3の名前を持つサービスを除外したもの
proc_info[<process>,<attribute>,<type>] 指定されたプロセス(複数可)の様々な情報 <process> - プロセス名(proc_cnt[]パラメータと同じ)

<attribute> - 要求するプロセス属性

<type> - 表示タイプ(同じ名前のプロセスが複数存在する場合に有効)。
以下のattributeが現在サポートされています。
vmsize - プロセスの仮想メモリサイズ(KB)
wkset - プロセスのワーキングセットサイズ(プロセスによって使用されている物理メモリの合計。KB)
pf - ページフォルトの数
ktime - プロセスのカーネル時間(ミリ秒)
utime - プロセスのユーザ時間(ミリ秒)
io_read_b - プロセスのI/O読込みバイト数
io_read_op -プロセスのI/O読込み操作回数
io_write_b - プロセスのI/O書込みバイト数
io_write_op - プロセスのI/O書込み操作回数
io_other_b - 読込み、書込み以外のI/Oバイト数
io_other_op - 読込み、書込み以外のI/O操作回数
gdiobj - プロセスが利用しているGDIオブジェクト数
userobj - プロセスが利用しているUSERオブジェクト数

利用できるtype:
min - プロセス名<process>の最小値
max - プロセス名<process>の最大値
avg - プロセス名<process>の平均値
sum - プロセス名<process>の合計値

例: 1. 全てのInternet Explorerプロセスが使用している物理メモリ量を取得するには、次のパラメータを指定します。proc_info[iexplore.exe,wkset,sum]
2. Internet Explorerプロセスのページフォールトの平均数を取得するには、以下のパラメータを指定します。proc_info[iexplore.exe,pf,avg
注意: 「io_」で始まる全ての属性、gdiobj、およびuserobjを取得できるのはWindows 2000以降のWindowsバージョンだけであり、Windows NT 4.0では取得できません。

3.6 SNMPエージェント

SNMPエージェントが収集したデータを取得するには、SNMPをサポートするようにZabbixを設定する必要があります。

SNMPv3デバイスを監視する場合は、(snmpEngineIDまたは“EngineID”として知られている)msgAuthoritativeEngineIDは二つのデバイスで共有されていない事を確認してください。これは、デバイス毎に一意である必要があります。
SNMPv3のプライバシーと認証のために現在、MD5とDESのプロトコルがサポートされています。

SNMPパラメータを監視するために必要な手順を以下に示します。

ステップ1

SNMPデバイスのホストの作成

IPアドレスを入力します。ホストの[ステータス]は[無効]に設定します。SNMPテンプレート(Template_SNMPv1_Device, Template_SNMPv2_Device)のいずれかを使用すると、自動的にアイテムに追加されます。ただし、ただし、テンプレートとホストでは互換性がない場合もあります。

SNMPチェックはエージェントのポートを使用していません、それは無視されます。
ステップ2

監視するアイテムのSNMP文字列の特定

ホストを作成した後、snmpwalk(ZABBIXインストールに付属するucd-snmp/net-snmpソフトウェアに含まれる)または同等のツールを実行します。

shell> snmpwalk <host or host IP> public

SNMP文字列とその最新値のリストが表示されます。リストが表示されない場合は、SNMPコミュニティが標準のpublicではないことが考えられるので、それを確認する必要があります。リストが表示されたら、監視する文字列を探します。たとえば、スイッチのポート3に着信するバイト数を監視する場合、以下の文字列を探します。

interfaces.ifTable.ifEntry.ifOctetsIn.3 = Counter 32: 614794138

次に、interfaces.ifTable.ifEntry.ifInOctets.3のOIDを調べるために、snmpgetコマンドを実行します。

shell> snmpget -On 10.62.1.22 interfaces.ifTable.ifEntry.ifOctetsIn.3

文字列の最後の数値は、監視するポート番号です。このコマンドを実行すると、以下のような文字列が出力されます。

.1.3.6.1.2.1.2.2.1.10.3 = Counter32: 614794138

出力されたOIDの最後の数値もポート番号です。

3COMは、ポート1=ポート101、ポート3=ポート103というように、ポート番号を100単位で使用するようです。一方Ciscoは、ポート3=ポート3というようにそのまま使用します。

ステップ3

監視するアイテムの作成

Zabbixに戻り、アイテムをクリックして、先の手順で作成したSNMPホストを選択します。ホストを作成する際にテンプレートを使用したかどうかによって、ホストに関連付けられているSNMPアイテムのリストが表示される場合と新しいアイテムを入力するボックスだけが表示される場合があります。ここではsnmpwalkとsnmpgetを使用して収集した情報に基づいてアイテムを作成するものと仮定して、新しいアイテムの[名前]フィールドに簡単な説明を英語で入力します。[ホスト]フィールドにはスイッチ/ルータを入力し、[タイプ]フィールドでは[SNMPv1エージェント]を選択します([SNMPv2エージェント]を選択すると正常に動作しなかったのでここでは使用しない)。コミュニティ(通常はpublic)を入力し、[SNMP OID]フィールドに先の手順で取得したOIDを入力します。先頭にピリオドを付けることを忘れないでください(例: .1.3.6.1.2.1.2.2.1.10.3)。

[SNMPポート]に161を入力し、[キー]に有効な値(「SNMP-InOctets-Bps」など)を入力します。必要に応じて[乗数]を選択し、[更新間隔]と[ヒストリの保存期間(日)]では必要に応じてデフォルト以外の値を選択します。[ステータス]に[有効]、[データ型]に[数値]、[保存時の計算]に[差分]を設定します。[差分]以外の値を設定すると、SNMPデバイスから直近の変化量ではなく累積値を取得することになるので、必ず[差分]を設定してください。

以上の内容でアイテムを追加し、ZABBIXの[ホスト]領域に戻ります。ここでSNMPデバイスを[有効]に設定し、必要なSNMPデータについて[最新データ]を選択します。

例1

一般的な例

パラメータ 説明
コミュニティ public
OID 1.2.3.45.6.7.8.0(または.1.2.3.45.6.7.8.0)
キー トリガーが参照する一意な文字列
例, ‘my_param’.

OIDは数値または文字列のどちらでも指定できます。ただし、文字列のOIDを数値表現に変換する必要がある場合があります。その場合はsnmpgetを使用します。

shell> snmpget -On localhost public enterprises.ucdavis.memory.memTotalSwap.0

Zabbixのソースをconfigureする時に-with-net-snmpまたは-with-ucd-snmpを指定した場合、SNMPパラメータのモニタリングが可能になります。

例2

アップタイムの監視

パラメータ 説明
コミュニティ public
OID MIB::sysUpTime.0
キー router.uptime
データ型 浮動小数
単位 uptime
乗数 0.01

3.7 シンプルチェック

シンプルチェックは、主にエージェントレス監視またはサービスのリモートチェックに使用します。シンプルチェックを行う場合、Zabbixエージェントは必要ありません。シンプルチェックを処理(外部接続の確立など)するのは、Zabbixサーバの役割です。

tcpとtcp_perfを除く全てのシンプルチェックでは、省略可能なパラメータを1つ受け入れます。

シンプルチェックの使用例:

ftp,155
http
http_perf,8080 
IPはZabbixホスト定義から取得されます。
(IMAPのポート993またはPOPのポート995のような)暗号化されたプロトコルのチェックは、現在サポートされていません。回避策として、これらのチェックにはTCPとtcp_perfを使用してください。

サポートされているシンプルチェックのリストを以下に示します。

キー 説明 返り値
ftp,<port> FTPサーバが動作中で接続を受け付けるかどうかのチェック 0 - FTPサーバは停止中
1 - FTPサーバは動作中
2 - タイムアウト
ftp_perf,<port> FTPサーバが動作中で接続を受け付けるかどうかのチェック 0 - FTPサーバは停止中
それ以外の値はFTPサーバへの接続にかかった時間(秒単位)
http,<port> HTTPサーバが動作中で接続を受け付けるかどうかのチェック 0 - HTTPサーバは停止中
1 - HTTPサーバは動作中
2 - タイムアウト
http_perf,<port> HTTP(ウェブ)サーバが動作中で接続を受け付けるかどうかのチェック 0 - HTTP(ウェブ)サーバは停止中
それ以外の値はHTTPサーバへの接続にかかった時間(秒単位)
icmpping[<target>,<packets>,<interval>,<size>,<timeout>] ICMP pingでサーバにアクセスできるかどうかのチェック
target - ホストのIPアドレスまたはDNS名
packets - パケット数
interval - パケットの送信間隔(ミリ秒単位)
size - パケットサイズ(バイト単位)
timeout - タイムアウト(ミリ秒単位)
0 - ICMP pingが異常終了
1 - ICMP pingが正常終了
icmppingloss[<target>,<packets>,<interval>,<size>,<timeout>] ロスパケット率を返します
target - ホストのIPアドレスまたはDNS名
packets - パケット数
interval - パケットの送信間隔(ミリ秒単位)
size - パケットサイズ(バイト単位)
timeout - タイムアウト(ミリ秒単位)
パケットの損失(パーセント値)
icmppingsec[<target>,<packets>,<interval>,<size>,<timeout>,<mode>] ICMP pingの応答時間
target - ホストのIPアドレスまたはDNS名
packets - パケット数
interval - パケットの送信間隔(ミリ秒単位)
size - パケットサイズ(バイト単位)
timeout - タイムアウト(ミリ秒単位)
mode - avg、max、min、sum(デフォルト)のいずれか1つを指定
秒数
imap,<port> IMAPサーバが動作中で接続を受け付けるかどうかのチェック 0 - IMAPサーバは停止中
1 - IMAPサーバは動作中
2 - タイムアウト
imap_perf,<port> IMAPサーバが動作中で接続を受け付けるかどうかのチェック 0 - IMAPサーバは停止中
それ以外の値はIMAPサーバへの接続にかかった時間(秒単位)
ldap,<port> LDAPサーバが動作中で接続を受け付けるかどうかのチェック 0 - LDAPサーバは停止中
1 - LDAPサーバは動作中
2 - タイムアウト
ldap_perf,<port> LDAPサーバが動作中で接続を受け付けるかどうかのチェック 0 - LDAPサーバは停止中
それ以外の値はLDAPサーバへの接続にかかった時間(秒単位)
nntp,<port> NNTPサーバが動作中で接続を受け付けるかどうかのチェック 0 - NNTPサーバは停止中
1 - NNTPサーバは動作中
2 - タイムアウト
nntp_perf,<port> NNTPサーバが動作中で接続を受け付けるかどうかのチェック 0 - NNTPサーバは停止中
それ以外の値はNNTPサーバへの接続にかかった時間(秒単位)
ntp,<port> NTPサーバが動作中で接続を受け付けるかどうかのチェック 0 - NTPサーバは停止中
1 - NTPサーバは動作中
2 - タイムアウト
ntp_perf,<port> NTPサーバが動作中で接続を受け付けるかどうかのチェック 0 - NTPサーバは停止中
それ以外の値はNTPサーバへの接続にかかった時間(秒単位)
pop,<port> POPサーバが動作中で接続を受け付けるかどうかのチェック 0 - POPサーバは停止中
1 - POPサーバは動作中
2 - タイムアウト
pop_perf,<port> POPサーバが動作中で接続を受け付けるかどうかのチェック 0 - POPサーバは停止中
それ以外の値はPOPサーバへの接続にかかった時間(秒単位)
smtp,<port> SMTPサーバが動作中で接続を受け付けるかどうかのチェック 0 - SMTPサーバは停止中
1 - SMTPサーバは動作中
2 - タイムアウト
smtp_perf,<port> SMTPサーバが動作中で接続を受け付けるかどうかのチェック 0 - SMTPサーバは停止中
それ以外の値はSMTPサーバへの接続にかかった時間(秒単位)
ssh,<port> SSHサーバが動作中で接続を受け付けるかどうかのチェック 0 - SSHサーバは停止中
1 - SSHサーバは動作中
2 - タイムアウト
ssh_perf,<port> SSHサーバが動作中で接続を受け付けるかどうかのチェック 0 - SSHサーバは停止中
それ以外の値はSSHサーバへの接続にかかった時間(秒単位)
tcp,port TCPサービスが動作中で接続を受け付けるかどうかのチェック 0 - TCPサービスは停止中
1 - TCPサービスは動作中
2 - タイムアウト
tcp_perf,port TCPサービスが動作中で接続を受け付けるかどうかのチェック 0 - TCPサービスは停止中
それ以外の値はTCPサービスへの接続にかかった時間(秒単位)
タイムアウト処理

シンプルチェックにかかる時間がZabbixサーバ設定ファイルで定義されているタイムアウト時間(秒単位)を超えると、シンプルチェックは終了します。

その場合、戻り値は2です。

ICMP ping

ZABBIXは、外部ユーティリティfpingを使用してICMP pingを処理します。このユーティリティはZabbixディストリビューションに付属していないので、別途インストールする必要があります。このユーティリティが存在しない場合、正しい権限が設定されていない場合、または設定ファイルのFpingLocationで定義されている場所と違う場所に存在する場合、ICMP ping(icmppingicmppingsecicmppingloss)は処理されません。

fpingはZabbixデーモンのユーザで実行できsetuid rootが実行可能でなければなりません。 適切な権限を設定するために、rootユーザーとして次のコマンドを実行します。

shell> chown root:zabbix /usr/sbin/fping
shell> chmod 4710 /usr/sbin/fping

ICMPチェックパラメータのデフォルト値は以下のとおりです。

パラメータ 説明 fpingフラグ
packets 3 ターゲットへのping -c
インターバル 25 ミリ秒、「fping」のデフォルト -i
サイズ 56または68 バイト、「fping」のデフォルト、x86の場合は56バイト、x86_64の場合は68バイト -b
タイムアウト 500 ミリ秒、「fping」のデフォルト -t
fpingのデフォルトは、プラットフォームとバージョンに応じて異なる場合があります。疑わしい場合は、fpingのドキュメントを確認してください。

Zabbixはチェックするアドレスを一時ファイルに書き込み、これがfpingに渡されます。アイテムに異なるパラメータがある場合、1つのファイルに書き込まれるのは同じパラメータのアイテムのみです。

3.8 内部チェック

内部チェックを使用すると、Zabbix内部を監視できます。内部チェックは、Zabbixサーバが処理します。

内部チェックはZabbix pollersによって処理されます。
キー
説明 コメント
zabbix[boottime]
Zabbixサーバプロセスの起動時間(秒単位) エポックを起点とした経過秒数が返されます。
zabbix[history]
テーブルHISTORYに保存されている値の数 MySQL InnoDB、Oracle、またはPostgreSQLを使用している場合は、このキーを使用しないでください。
zabbix[history_log]
テーブルHISTORY_LOGに保存されている値の数 MySQL InnoDB、Oracle、またはPostgreSQLを使用している場合は、このキーを使用しないでください。
このアイテムは、バージョン1.8.3以降でサポートされています。
zabbix[history_str]
テーブルHISTORY_STRに保存されている値の数 MySQL InnoDB、Oracle、またはPostgreSQLを使用している場合は、このキーを使用しないでください。
zabbix[history_text]
テーブルHISTORY_TEXTに保存されている値の数 MySQL InnoDB、Oracle、またはPostgreSQLを使用している場合は、このキーを使用しないでください。
このアイテムは、バージョン1.8.3以降でサポートされています。
zabbix[history_uint]
テーブルHISTORY_UINTに保存されている値の数 MySQL InnoDB、Oracle、またはPostgreSQLを使用している場合は、このキーを使用しないでください。
このアイテムは、バージョン1.8.3以降でサポートされています。
zabbix[items]
Zabbixデータベースに保存されているアイテムの数
zabbix[items_unsupported]
Zabbixデータベースに保存されている取得不可アイテムの数
zabbix[log]
Zabbixサーバで生成された警告メッセージとエラーメッセージを保存します。文字。このキーを使用してアイテムを追加すると、Zabbix内部メッセージが保存されます。
zabbix[process,<type>,<mode>,<state>]
特定のZabbixのプロセス、または(<type>と<mode>で特定される)プロセスのグループが<state>でいた時間(パーセント値)。最後の瞬間にのみ計算されます。

<mode>が動作していないZabbixのプロセス番号の場合(例えば、5つのポーラーが動作していて、<mode>が6と指定されている場合)、このようなアイテムは取得不能な状態に戻ります。
最小値と最大値は、単一のプロセスに対する使用率を参照します。3ポーラーのグループでプロセス毎の使用率が2、18、66だった場合、最小値は2を返し、最大値は66を返します。
各プロセスは、共有メモリ内で何をしているかをレポートし、自己監視プロセスが秒毎にそのデータを集約します。状態の変化(busy/idle)は、変化があるたびに登録されます - busyになるプロセスはbusyと登録され、それがidleになるまで状態は変更または更新されません。これによって、完全にハングしているプロセスであっても、100% busyとして正しく登録されます。
現時点では「busy」は「sleepではない」ということを意味しますが、将来、ロック待ちやデータベースクエリーの実行といった状態が追加導入されるかもしれません。
Linux や他のほとんどのシステムでは、計測時間の単位は1秒の100分の1です。
現時点では、以下のプロセスのタイプがサポートされています:
alerter - 通知レポートを送信するプロセス(プロキシによってサポートされていません)
configuration syncer - 設定データのインメモリのキャッシュを管理するプロセス
data sender - プロキシのデータセンダー(サーバによってサポートされていません)
db watchdog - DBが使用不可能な場合の警告メッセージのセンダー(プロキシによってサポートされていません)
discoverer - デバイスのディスカバリを行うプロセス
escalator - アクションのエスカレーションを行うプロセス(プロキシによってサポートされていません)
heartbeat sender - プロキシのハートビートセンダー(サーバによってサポートされていません)
history syncer - ヒストリDBライター
housekeeper - 古いヒストリデータを削除するプロセス
http poller - Web監視のポーラー
icmp pinger - icmppingチェックのポーラー
ipmi poller -IPMIチェックのポーラー
java poller - Javaチェックのポーラー
node watcher - ヒストリデータとノード間の設定変更を送信するプロセス(プロキシによってサポートされていません)
poller - パッシブチェックの一般的なポーラー
proxy poller - パッシブプロキシのポーラー(プロキシによってサポートされていません)
self-monitoring - 内部のサーバの統計を収集するプロセス
timer - 時間に関係するトリガー関数の評価とメンテナンスのプロセス(プロキシによってサポートされていません)
trapper - アクティブチェック、トラップ、ノード間・プロキシ間通信のトラッパー
unreachable poller - 到達不能なデバイスのポーラー
vmware collector - VMwareサービスからデータを収集する役割を果たすVMwareデータコレクタ

注:サーバログファイル内のこれらのプロセスタイプも参照することができます。

有効なモード:
avg - 指定したタイプのすべてのプロセスの平均値(デフォルト)
count - 指定したプロセスタイプの起動したプロセス数を返します。<state> は指定する必要はありません。
max - 最大値
min - 最小値
<process number> - プロセス番号(1~あらかじめ起動されたインスタンスの数)例えば、4トラッパーが動作している場合、値は1~4の間です。

有効な状態:
busy - プロセスはbusy状態、例えば、要求を処理中(デフォルト)
idle - プロセスはアイドル状態で何もしていません。

例:
zabbix[process,poller,avg,busy] - 最後の瞬間に実行していたポーラープロセスにかかった平均時間
zabbix[process,"icmp pinger",max,busy] - ICMP pingerのプロセスによって最後の瞬間の実行にかかった最長時間
zabbix[process,trapper,count] - その時点で動作しているトラッパープロセスの数

このアイテムは、Zabbix 1.8.5以降でサポートされています。
zabbix[proxy,<name>,<param>]
プロキシ関連の情報へのアクセス
zabbix[queue,<from>,<to>]
キュー内にある、<from>から<to>秒遅延するサーバ監視アイテムの数 <from> - デフォルト: 6秒
<to> - デフォルト: 無限
サフィックス s,m,h,d,wをこれらのパラメータに使用できます。
パラメータfromとtoは、バージョン1.8.3以降でサポートされています。
zabbix[requiredperformance]
予想される1秒あたりの新しい値に対し、 Zabbix サーバまたはZabbixプロキシに要求されるパフォーマンス。[レポート]→[Zabbixのステータス]の「1秒あたりの新しい値(サーバの要求パフォーマンス)」とおおよそ相関があります。このアイテムは、Zabbix 1.6.2以降でサポートされています。
zabbix[trends]
テーブルTRENDSに保存されている値の数 MySQL InnoDB、Oracle、またはPostgreSQLを使用している場合は、このキーを使用しないでください。
zabbix[trends_uint]
テーブルTRENDS_UINTに保存されている値の数 MySQL InnoDB、Oracle、またはPostgreSQLを使用している場合は、このキーを使用しないでください。
このアイテムは、バージョン1.8.3以降でサポートされています。
zabbix[triggers]
Zabbixデータベースに保存されているトリガーの数
zabbix[uptime]
Uptime of Zabbix server process in seconds.
zabbix[wcache,<cache>,<mode>]
CacheMode
valuesall 取得不可を覗いた、Zabbixサーバによって処理された値の数。 Counter.
float Counter.
uint Counter.
str Counter.
log Counter.
text Counter.
not supported 処理された取得不可アイテムの数。 Counter.
このアイテムは、バージョン1.8.6以降でサポートされています。
historypfree ヒストリバッファ内の空き容量(パーセント値) 数値が低い場合、データベースサイドにパフォーマンスの問題があります。
total
used
free
trendpfree
total
used
free
text pfree
total
used
free
zabbix[rcache,<cache>,<mode>]
Cache Mode
bufferpfree
total
used
free

3.9 累計チェック

累計チェックを行う場合、監視するホスト上でエージェントを実行する必要はありません。累計情報は、Zabbixサーバが直接データベースに対してクエリーを発行して収集します。

累計チェックのアイテムのキーの記述形式

groupfunc["Host group","Item key",itemfunc,parameter]

Zabbixの1.8.2以降から複数のホストグループ名をカンマ区切りで指定することができます。

サポートされているグループ関数:

グループ関数 説明
grpavg 平均値
grpmax 最大値
grpmin 最小値
grpsum 合計値

サポートされているアイテム関数:

アイテム関数 説明
avg 平均値
count 値の個数
last 最新値
max 最大値
min 最小値
sum 合計値
Amount of values (prefixed with #) is not supported.

累計アイテムのキーの例:

例1

ホストグループ「MySQL Servers」の合計ディスク容量

grpsum["MySQL Servers","vfs.fs.size[/,total]","last","0"]
例2

ホストグループ「MySQL Servers」のプロセッサロードアベレージ

grpavg["MySQL Servers","system.cpu.load[,avg1]","last","0"]
例3

ホストグループ「MySQL Servers」の直近5分間における1秒あたりの平均クエリ数

grpavg["MySQL Servers","mysql.qps","avg","300"]
例4

複数のホストグループ内のすべてのホスト上での平均CPU負荷

grpavg[["Servers A","Servers B","Servers C"],system.cpu.load,last,0]

3.10 外部チェック

外部チェックは、Zabbixサーバがシェルスクリプトまたはバイナリを実行することによって実行するチェックです。

外部チェックを行う場合、監視対象ホストでエージェントを実行する必要はありません。

アイテムのキーの記述方法:

script[parameters]
* script - スクリプトの名前
* parameters - コマンドラインパラメータのリスト。パラメータは変更せずに、コマンドラインで使用されます。

使用するスクリプトにパラメータを渡さない場合:

script[] または
script   <- この[]を省略した記述方法はZabbix 1.8.1からサポートされています

Zabbixサーバは、zabbix_server.confの設定パラメータExternalScriptsで定義されているディレクトリにあるコマンドを見つけて実行します。コマンドはZabbixサーバを実行するユーザで実行されるため、アクセス権限や環境変数をラッパースクリプトで処理し、必要に応じて、そのユーザによるコマンドの実行がコマンドに対する権限で許可されるようにする必要があります。指定したディレクトリのコマンドのみを利用できます。

このディレクトリはZabbixサーバにあります。Zabbixエージェントを使用したカスタムコマンドの実行については、ユーザパラメータのドキュメントを参照してください。

1番目のコマンドラインパラメータとしてホスト名が渡され、その後にparametersで指定されたパラメータが渡されます。

Zabbixは、スクリプトの標準出力を値として使用します。標準エラーや終了コードは無視されます。

外部チェックは適切な頻度で実行してください。外部チェックにより、Zabbixシステムのパフォーマンスが大幅に低下する場合があります。
例1

外部スクリプトcheck_oracle.shをパラメータ「-h 192.168.1.4」で実行し、ホスト名が「www1.company.com」の場合:

check_oracle.sh[-h 192.168.1.4]

このとき、Zabbixは以下のコマンドを実行します:

check_oracle.sh www1.company.com -h 192.168.1.4.

3.11 SSHチェック

ZabbixはSSH2サポートで設定する必要があります。

サポート対象のlibssh2ライブラリの最小バージョンは1.0.0です。

SSHチェックはエージェントレスの監視に使用されます。SSHチェックを行う場合、Zabbixエージェントは必要ありません。

実行する実際のコマンドは、アイテム設定のExecuted scriptフィールドに置いてください。複数のコマンドを実行するには、新しい行にそのコマンドを次々に配置します。

キー 説明 コメント
ssh.run[<unique short description>,<ip>,<port>,<encoding>] SSHリモートセッションを使用してコマンドを実行します。

3.12Telnetチェック

Telnetチェックはエージェントレスの監視に使用されます。TelnetチェックにZabbixエージェントは必要ありません。

実行する実際のコマンドは、アイテム設定のExecuted scriptフィールドに置いてください。複数のコマンドを実行するには、新しい行にそのコマンドを次々に配置します。

バージョン1.8.1までは、プロンプトを促すサポート対象文字は以下の記号で終了できます。

バージョン1.8.2のZabbixでは、以下の文字のサポートが追加されています。

キー 説明 コメント
telnet.run[<unique short description>,<ip>,<port>,<encoding>] telnet接続を使用してリモートデバイスでコマンドを実行します。

3.13 計算アイテム

計算アイテムのサポートはZabbix 1.8.1で導入されました。

計算アイテムでは、仮想データソースを非常に簡単に作成できます。アイテムの値は、算術式とZabbixデータベースに保存されたデータに基づいて定期的に計算されます。

計算アイテムを使用するには、アイテムタイプ計算を選択します。サポート対象の記号を使用してキー名を作成できます。フィールド(1.8.1と1.8.2では条件式)に計算定義を入力する必要があります。

以下の関数がサポートされています。

非常に単純な条件式は次のような形式で指定します:

func(<key>|<hostname:key>,<parameter1>,<parameter2>,...)

複雑な式は、関数、演算子、カッコを組み合わせて使用できます。トリガー条件式では、サポート対象の全ての関数と演算子を使用できます。構文はわずかに異なりますが、ロジックと演算子の優先順位はほぼ同じです。

引数 定義
func トリガー条件式でサポートされるlast、min、max、avg、countなどのいずれかを指定します。
host:key はアイテムを参照します。keyまたはhostname:keyで定義します。
parameter(s) 省略可能なパラメータ

ホスト名のサポート対象文字:

a..zA..Z0..9 ._-

キーのサポート対象文字:

a..zA..Z0..9.,_

関数のサポート対象文字:

a..zA..Z0..9_

トリガー条件式とは異なり、計算アイテムの処理は、新しい値の受け入れ時ではなく、アイテムの更新間隔に従って行われます。また、参照アイテムのアイテムキーを変更する場合、古いキーを使用していた全ての式を手動で更新する必要があります。

計算アイテムは、以下の状況ではサポート対象にならない場合があります。

  1. 参照アイテムが見つからない
  2. 関数を計算するデータがない
  3. ゼロ除算
  4. 構文エラー
例1

「/」の空きディスク容量のパーセント値を計算します。

last関数を使用します:

100*last("vfs.fs.size[/,free]")/last("vfs.fs.size[/,total]")

Zabbixは、空きディスク容量と合計ディスク容量の最新の値を取得して、指定の式に従いパーセント値を計算します。

例2

Zabbixで処理される値の10分間の平均を計算します。

avg関数を使用します:

avg("Zabbix Server:zabbix[wcache,values]",600)

計算アイテムを長期間広範囲に使用すると、Zabbixサーバのパフォーマンスが影響を受ける場合があります。

例3

eth0の合計帯域幅を計算します。

2つの関数を合計します:

last("net.if.in[eth0,bytes]")+last("net.if.out[eth0,bytes]")
例4

受信トラフィックのパーセント値を計算します。

より複雑な式:

100*last("net.if.in[eth0,bytes]")/(last("net.if.in[eth0,bytes]")+last("net.if.out[eth0,bytes]"))
Example 5

ログファイルの最新十分間のレコードの数を計算します。

ダブルクォートで囲まれたキーのエスケープと最初のパラメータが必要なことに注意してください:

count("logrt[\"/tmp/test.log\",\"some words pattern\"]",600)
Example 6

累計アイテムを計算アイテムの項目として使えます。

ダブルクォートで囲まれたキーのエスケープに注意してください:

last("grpsum[\"video\",\"net.if.out[eth0,bytes]\",\"last\",\"0\"]") / last("grpsum[\"video\",\"nginx_stat.sh[active]\",\"last\",\"0\"]")