Table of Contents

4 設定

1 アクション

Zabbixは、イベントに対応するために様々なオペレーションを実行します。Zabbixで生成される1つまたは複数のイベントに対してアクションを1つ定義できます。

アクションの属性を以下に示します。

パラメータ 説明
名前 一意なアクション名。
イベントソース イベントの発生元。
現在は以下の3つのソースがサポートされています。
トリガー - トリガーのステータスの変化によって生成されるイベント
ディスカバリ - オートディスカバリモジュールによって生成されるイベント
自動登録 - 新規アクティブエージェントによって生成されるイベント
エスカレーションを有効 エスカレーションを有効にします。有効にすると、オペレーションに対して定義されているオペレーションステップに従ってアクションがエスカレートされます。
期間(秒) エスカレーションステップの増分の期間。
イベントソース イベントの発生元。
トリガー - トリガーによって生成されたイベントに対してアクションが実行されます。
ディスカバリ - ディスカバリイベントに対してアクションが実行されます。
デフォルトの件名 通知のデフォルトの件名。マクロを使用できます。
デフォルトのメッセージ 通知のデフォルトのメッセージ。マクロを使用できます。
リカバリメッセージ 有効にすると、元の問題が解決された後でリカバリメッセージが送信されます。リカバリメッセージは、以前にこの問題に関する任意のメッセージを受け取ったユーザに送信されます。
リカバリの件名 リカバリメッセージの件名。マクロを使用できます。
リカバリメッセージ リカバリメッセージ。マクロを使用できます。
ステータス アクションのステータス。
有効 - アクションは有効です。
無効 - アクションは無効です。
警告: リカバリメッセージやエスカレーション機能を有効にする前に、「Trigger value = PROBLEM」コンディションをアクションに追加してください。追加しない場合、修復イベントも同様にエスカレートされます。

アクションコンディション

アクションは、定義されているコンディションの組み合わせを満たす場合にのみ実行されます。

トリガーをソースとするイベントには、以下のコンディションを定義できます。

コンディションタイプ サポートされている演算子 説明
アプリケーション =
含まれる
含まれない
= - アプリケーションの一部であるトリガーで生成されたイベント
含まれる - アプリケーションの一部であり、特定の文字列を含むトリガーで生成されたイベント
含まれない - アプリケーションの一部であり、特定の文字列を含まないトリガーで生成されたイベント
ホストグループ =
<>
イベントを生成したトリガーが登録されているホストグループと比較します。
= - このホストグループで生成されたイベント
<> - 別のホストグループで生成されたイベント
ホストテンプレート =
<>
トリガーが属するホストテンプレートと比較します。
= - このホストテンプレートから継承されたトリガーで生成されたイベント
<> - 別のホストテンプレートから継承されたトリガーで生成されたイベント
ホスト =
<>
イベントを生成したトリガーが登録されているホストと比較します。
= - このホストで生成されたイベント
<> - 別のホストで生成されたイベント
トリガー =
<>
イベントを生成したトリガーと比較します。
= - このトリガーで生成されたイベント
<> - 別のトリガーで生成されたイベント
トリガーの名前(名前) 含まれる
含まれない
イベントを生成したトリガー名と比較します。
含まれる - 文字列がトリガー名に含まれる(大文字と小文字は区別される)
含まれない - 文字列がトリガー名に含まれない(大文字と小文字は区別される)
トリガーの深刻度 =
<>
>=
<=
トリガーの深刻度と比較します。= - 指定されたトリガーの深刻度と等しい
<> - 指定されたトリガーの深刻度と等しくない
>= - 指定されたトリガーの深刻度以上
- 指定されたトリガーの深刻度以下
トリガーの値 = トリガーの値と比較します。
= - 指定されたトリガーの値([OK]または[障害])と等しい
期間 期間中 特定の期間内に生成されたイベントです。
期間中 - イベント生成時刻が期間内期間は次の形式で指定します: dd-dd,hh:mm-hh:mm;dd-dd,hh:mm:hh:mm;…
メンテナンスのステータス =
<>
ホストがメンテナンス状態にあるかどうかを確認します。
= - ホストはメンテナンスモードです。
<> - ホストはメンテナンスモードではありません。

トリガーの値:

トリガーのステータスが正常から障害に変化した場合、トリガーの値は障害 トリガーのステータスが障害から正常に変化した場合、トリガーの値は正常

ステータスが正常→不明→障害と遷移した場合は正常→障害と同様に、障害→不明→正常と遷移した場合は障害→正常と同様に、それぞれ処理されます。

ディスカバリをソースとするイベントには、以下のコンディションを定義できます。

コンディションタイプ サポートされている演算子 説明
ホストのIPアドレス =
<>
検出されたホストのIPアドレスが指定されたIPアドレスの範囲に含まれているかどうかを比較します。
= - ホストのIPアドレスが範囲に含まれる
<> - ホストのIPアドレスが範囲に含まれない
サービスのタイプ =
<>
検出されたサービスをチェックします。
= - 検出されたサービスからのイベント
<> - 別のサービスからのイベント
サービスのポート =
<>
検出されたサービスのTCPポート番号が指定されたポート番号の範囲に含まれているかどうかを比較します。
= - サービスのポートが範囲に含まれる
<> - サービスのポートが範囲に含まれない
ディスカバリのステータス = UP - ホストアップイベントおよびサービスアップイベントと一致
DOWN - ホストダウンイベントおよびサービスダウンイベントと一致
アップタイム/ダウンタイム >=
<=
ホストダウンイベントおよびサービスダウンイベントの場合はダウンタイムを比較します。ホストアップイベントおよびサービスアップイベントの場合はアップタイムを比較します。
>= - アップタイム/ダウンタイムが指定された値以上
>= - アップタイム/ダウンタイムが指定された値以上パラメータは秒単位で指定します。
受信した値 =
<>
>=
<=
like not
含まれる
エージェント(ZABBIX、SNMP)から受信した値と比較します。文字列の比較で判定します。
= - 受信した値と等しい
<> - 受信した値と等しくない
>= - 受信した値以上
- 受信した値以下
含まれる - 受信した値に含まれる
含まれない - 受信した値に含まれないパラメータは文字列で指定します。パラメータは文字列で指定されます。

以下のコンディションが計算タイプ[AND/OR]で設定されている場合、

  • Host group = Oracle servers
  • Host group = MySQL servers
  • トリガー名 含まれる 'Database is down'
  • トリガー名 含まれる 'Database is unavailable'

以下のように評価されます。

(Host group = Oracle servers または Host group = MySQL servers) かつ (Trigger name like 'Database is down' または Trigger name like 'Database is unavailable')

[オペレーション]

イベントがコンディションを満たすときに1つまたは複数のオペレーションが実行されます。

Zabbixでは、以下のオペレーションがサポートされています。

  • メッセージの送信
  • リモートコマンド(IPMIを含む)
ZabbixはUTF-8でデータを送信するため、Zabbixからのメールの受信および読み取りを成功させるためには、メールのサーバ/クライアントが 'SMTP/MIME e-mail' 標準フォーマットをサポートしている必要があります。1.8.2からは、題名および本文のメッセージは 'SMTP/MIME e-mail' 標準フォーマットに従い、base64でエンコードされています。

ディスカバリをソースとするイベントでは、以下のオペレーションもサポートされています。

  • ホストの追加
  • ホストの削除
  • ホストの有効化
  • ホストの無効化
  • グループへの追加
  • グループからの削除
  • テンプレートへのリンク
  • テンプレートからリンクを削除

ホストの追加時には、標準的な gethostbyname 関数によって名前が決定されます。ホストを解決できる場合、解決名が使用されます。解決できない場合は、IPアドレスが使用されます。さらに、IPv6アドレスがホスト名に使用される場合には、すべての「:」(コロン)は「_」(アンダースコア)に置換されます。これは「:」(コロン)がホスト名として許可されていないためです。

プロキシを使用してディスカバリを行う場合であっても、現時点ではZabbixサーバにおいてホスト名のlookupが行われます。
新規にディスカバリされたホストと同名のホストがZabbix設定に存在する場合、1.8より前のバージョンではその新規ホストを同名で登録します。Zabbix 1.8.1とそれ以降のバージョンでは、_N をホスト名に追加します。_N は2から始まり、増加していく番号になります。
パラメータ 説明
[ステップ] このアクションに対してエスカレーションを有効にする場合、以下のエスカレーション設定を使用します。
開始 - このステップから始めて各ステップに対して実行します。
To - このステップまで実行します([開始]から始めて全てのステップに対して実行する場合は0)。
期間 - この期間の後、ステップ数を増分します。0を指定すると、デフォルトの期間が使用されます。
[オペレーションのタイプ] アクションのタイプ。
メッセージの送信 - ユーザにメッセージを送信します。
コマンドの実行 - リモートコマンドを実行します。
イベントソース
メッセージの送信先 メッセージの送信先。
シングルユーザ - シングルユーザ
ユーザグループ - グループの全てのメンバー
デフォルトのメッセージ 選択すると、デフォルトのメッセージが使用されます。
[件名] メッセージの件名。マクロを使用できます。
メッセージ メッセージ本体。マクロを使用できます。
リモートコマンド リモートコマンドのリスト。

1.6.2以降では、イベントを生成したホスト(トリガー)に対する読み取りパーミッションを持つユーザのみに通知が送信されます。トリガー条件式の少なくとも1つのホストにアクセスできる必要があります。

メッセージとリモートコマンドでのマクロの使用

マクロを使用すると、読みやすいレポートを作成できます。

例1

Subject: {TRIGGER.NAME}: {TRIGGER.STATUS}

マクロが置き換えられて、以下のようなメッセージ件名が生成されます。

‘Processor load is too high on server zabbix.zabbix.com: ON’

例2

メッセージ: Processor load is: {zabbix.zabbix.com:system.cpu.load[,avg1].last(0)}

マクロが置き換えられて、以下のようなメッセージが生成されます。

'Processor load is: 1.45'

例3

メッセージ: 最新データ: {{HOSTNAME}:{TRIGGER.KEY}.last(0)} MAX for 15 minutes: {{HOSTNAME}:{TRIGGER.KEY}.max(900)} MIN for 15 minutes: {{HOSTNAME}:{TRIGGER.KEY}.min(900)}

マクロが置き換えられて、以下のようなメッセージが生成されます。

最新データ: 1.45 MAX for 15 minutes: 2.33 MIN for 15 minutes: 1.01

2011/05/02 11:34

2 マクロ

Zabbixにはマクロが豊富に用意されており、様々な状況で使用できます。マクロを活用することで、Zabbixの設定にかかる時間を短縮し、透過性を高めることができます。

サポートされているマクロのリスト

Zabbixでサポートされている全マクロのリストを以下に示します。

マクロ 通知とコマンド ディスカバリ通知 自動登録通知 GUIスクリプト アイテムキーのパラメータ マップラベル トリガー条件式 トリガー名 説明
{DATE} X X X 本日の日付(yyyy.mm.dd.形式)
{DISCOVERY.DEVICE.IPADDRESS} X
{DISCOVERY.DEVICE.STATUS} X
{DISCOVERY.DEVICE.UPTIME} X
{DISCOVERY.RULE.NAME} X
{DISCOVERY.SERVICE.NAME} X
{DISCOVERY.SERVICE.PORT} X
{DISCOVERY.SERVICE.STATUS} X
{DISCOVERY.SERVICE.UPTIME} X
{ESC.HISTORY} X エスカレーションヒストリ(以前に送信されたメッセージのログ)
{EVENT.ACK.HISTORY} X
{EVENT.ACK.STATUS} X
{EVENT.AGE} X X X イベントの時期(エスカレートされたメッセージに役立つ)
{EVENT.DATE} X X X イベントの日付
{EVENT.ID} X X X アクションをトリガーしたイベントのID(数値)
{EVENT.TIME} X X X イベントの時刻
{HOSTNAME<1-9>} X X X X 通知を生成したトリガーのN番目のアイテムのホスト名
{HOST.CONN<1-9>} X X X X IPとホストDNS名(ホスト設定に依存)
{HOST.DNS<1-9>} X X X X ホストDNS名。
{IPADDRESS<1-9>} X X X X 通知を生成したトリガーのN番目のアイテムのIPアドレス
{ITEM.LASTVALUE<1-9>} X X
2011/05/02 11:36

3 アプリケーション

アプリケーションは、ホストアイテムの集合です。例えば、アプリケーション「MySQLサーバ」にはMySQLサーバに関連するアイテムを含めることができます: MySQLの稼働状態、ディスク容量、プロセッサロード、秒間あたりの転送量、スロークエリ数、など。

アイテムは1つまたは複数のアプリケーションにリンクされる可能性があります。

Zabbixのウェブインタフェースでは、アプリケーションを使用してアイテムをグループ化します。

現在、ホストは、同じアプリケーションを含む別のテンプレートにリンクすることはできません。
2011/05/02 11:45

4 グラフ

ユーザ定義グラフを使用して、複雑なグラフを作成できます。作成したグラフには、メニュー項目[グラフ]から簡単にアクセスできます。

2011/05/02 11:46

5 Media

A medium is a delivery channel for Zabbix alerts. None, one or more media types can be assigned to user.

Email

Email notification.

Jabber

Notifications using Jabber messaging.

When sending notifications, Zabbix tries to look up a Jabber SRV record first, and if that fails, it uses an address record for that domain. Among Jabber SRV records, the one with the highest priority and maximum weight is chosen. If it fails, other records are not tried.

Looking up Jabber SRV records is supported since Zabbix 1.8.6. Prior to that Zabbix only tried an address record.

Script

Custom media scripts are executed from the path defined in the Zabbix server configuration file variable AlertScriptsPath. The script has three command line variables passed to it:

  • Recipient
  • Subject
  • Message

Environment variables are not preserved or created for the script, so they should be handled explicitly.

GSM Modem

Zabbix supports sending of SMS messages using Serial GSM Modem connected to Zabbix Server's serial port.

Make sure that:

  • Speed of a serial device (normally /dev/ttyS0 under Linux) matches GSM Modem. Zabbix does not set speed of the serial link. It uses default settings.
  • The serial device has read/write access for user zabbix. Run commans ls –l /dev/ttyS0 to see current permission of the serial device.
  • GSM Modem has PIN entered and it preserves it after power reset. Alternatively you may disable PIN on the SIM card. PIN can be entered by issuing command AT+CPIN=“NNNN” (NNNN is your PIN number, the quotes must present) in a terminal software, such as Unix minicom or Windows HyperTerminal.

Zabbix has been tested with the following GSM modems:

  • Siemens MC35
  • Teltonika ModemCOM/G10
2013/08/12 05:22

6 ホストテンプレート

テンプレートを使用することによって、Zabbixの管理効率を大幅に高めることができます。

1つのテンプレートを複数のホストにリンクできます。そのテンプレートに定義されているアイテム、トリガー、およびグラフは、自動的にリンクされているホストに追加されます。テンプレートのアイテム(トリガー、グラフ)の定義を変更すると、その変更は自動的にホストにも適用されます。

ホストテンプレートの属性を以下に示します。

パラメータ 説明
名前 一意なテンプレート(ホスト)名。ZABBIXノード内で一意な名前である必要があります。
グループ テンプレートが属するホストグループのリスト。
新規グループ作成 新しいホストグループをテンプレートに割り当てます。
テンプレートとのリンク 階層型テンプレートの作成に使用します。
2011/05/02 11:47

7 ホストグループ

ホストグループには、1つまたは複数のホストが含まれます。1つもホストが含まれないホストグループもあります。

ホストグループの属性を以下に示します。

パラメータ 説明
グループ名 一意なホストグループ名。Zabbixノード内で一意な名前である必要があります。
ホスト このグループに属するホストのリスト。
2011/05/02 11:48

8 ホストとトリガーの依存関係

Zabbixではホストの依存関係はサポートされていませんが、柔軟性に優れたトリガーの依存関係を使用することによって、ホストの依存関係を定義できます。

ここではその仕組みについて説明します。

トリガーには、依存するトリガーを1つまたは複数定義できます。このとき、トリガーの状態は依存するトリガーの状態に関係なく変化しますが、依存するトリガーが1つでも障害状態にあれば、通知が送信されたりアクションが実行されることはありません。

例1

ホストの依存関係

2つのホストとしてルーターとサーバがあるとします。サーバはルーターの後ろにあります。このとき、ルータが停止したことのみ通知を受け取りたいとします:

“The router is down”

次の代わりに:

“The router is down” and “The host is down”

この目的を達成するためには、次のようにトリガーの依存関係を設定します: “The host is down”を“The router is down”に依存させる。こうすることで、サーバとルータの双方がダウンしたとしてもZabbixは“The host is down”の通知を行いません。

2011/05/02 11:49

9 アイテム

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

3.1 アイテムキー

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

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

  • vfs.fs.size[/]
  • vfs.fs.size[/opt]
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 [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つ受け入れます。

  • port - ポート番号省略された場合、デフォルトの標準サービスポートを使用します。

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

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\"]")   
2011/05/02 13:05

10 ユーザパラメータ

エージェントの設定ファイルでユーザパラメータ(UserParameter)を定義することによって、Zabbixエージェントの機能を拡張することができます。

内部チェックは、Zabbixサーバが処理します。/bin/shは、UNIXオペレーティングシステムでコマンドラインインタプリタとして使用されます。

3.14簡単なユーザパラメータ

監視するパラメータを新しく定義するには、Zabbixエージェントの設定ファイルに1行追加して、エージェントを再起動する必要があります。

ユーザパラメータの構文を以下に示します: UserParameter=key,command

パラメータ 説明
キー 一意なアイテムキー。
コマンド キーの値を評価するために実行するコマンド。
例1

単純なコマンド

UserParameter=ping,echo 1

キー「ping」のとき、エージェントは常に「1」を返します。

例2

複雑なコマンドの例

UserParameter=mysql.ping,mysqladmin -uroot ping|grep alive|wc –l

エージェントは、MySQLサーバが動作中なら「1」、それ以外なら「0」を返します。

3.15引数付きユーザパラメータ

引数付きユーザパラメータを使用すると、細かいコントロールが可能になり、柔軟性が高まります。

引数付きユーザパラメータを使用する構文を以下に示します。

UserParameter=key[*],command

パラメータ 説明
キー 一意なアイテムキー。[*]はこのキーがパラメータを受け取ることを定義します。
コマンド キーの値を評価するために実行するコマンド。
[]の内容が解析され、コマンドの$1、…、$10と置き換えられます。
エージェントデーモン設定オプションが有効ではない場合、
' ・` * ? [ ] \{ \} ~ $ ! & ; ( ) < > | # @などの記号を含む引数付きパラメータを渡すことはできません。[ ] { } ~ $ !& ; ( ) < > | # @
例1

単純な引数付きパラメータ

UserParameter=ping[*],echo $1

ping[引数]という形式のアイテムを無制限に定義して監視することができます。

  • ping[0] – will always return '0'
  • ping[aaa] – will always return 'aaa'
例2

実用的な例

UserParameter=mysql.ping[*],mysqladmin –u$1 –p$2 ping|grep alive|wc –l

このパラメータを使用して、MySQLデータベースの可用性を監視できます。引数として、ユーザ名とパスワードを渡します。

mysql.ping[zabbix,our_password]

例3

ファイル内で正規表現と一致する行数を求める例

UserParameter=wc[*],grep “$2” $1|wc -l

このパラメータを使用して、ファイル内の行数を計算できます。

wc[/etc/passwd,root] wc[/etc/services|zabbix]

Zabbixエージェントデーモン-t-oオプションはユーザパラメータをサポートしていないことに注意してください。詳細はmanpageを参照してください。
2011/05/02 11:50
 

12 トリガー

トリガーは論理条件式として定義され、システム状態を表します。

トリガーのステータス(条件式)は、Zabbixサーバがこの条件式で使用されている値を新しく受信するたびに再計算されます。nodata()などの時間ベースの関数が条件式で使用される場合、30秒ごとに再計算されます。条件式に使用できる値を以下に示します。

説明
障害(PROBLEM) 通常は、何かが発生したことを意味します。たとえば、プロセッサロードアベレージが非常に高い場合です。比較的古いバージョンのZabbixでは障害(TRUE)になります。
正常(OK) 通常のトリガー状態です。比較的古いバージョンのZabbixでは正常(FALSE)になります。
不明 この場合、Zabbixはトリガー条件式を評価できません。以下の原因が考えられます。
サーバから応答がない
トリガー条件式を評価できない
トリガー条件式が最近変更された

3.16トリガーの条件式

トリガーで使用する条件式は非常に細かい指定も可能であり、監視する統計情報に関して複雑な論理テストを作成できます。トリガーでは以下の演算子がサポートされています(実行プライオリティの高い順)

プライオリティ 演算子 定義
1 / 除算
2 * 乗算
3 - 減算
4 + 加算
5 < より小さい
6 > より大きい
7 # 等しくない。この演算子は以下の式で定義されています。
A=B ⇔ (A<B-0.000001) | (A>B+0.000001)
8 = 等しい。この演算子は以下の式で定義されています。
A=B ⇔ (A>B-0.000001) & (A<B+0.000001)
9 & 論理積
10 | 論理和

3.17トリガー関数

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

全ての関数は数値のみを返します。たとえば、文字列との比較はサポートされません。
関数 引数 サポートされる値のタイプ 定義
abschange 無視 浮動小数、整数、文字列、テキスト、ログ 最新値と前回値の差を絶対値で返します。
文字列の場合は以下の値を返します。
0 - 値が等しい
1 - 値が異なる
avg 秒数または回数 浮動小数、整数 期間内の平均値を返します。パラメータには期間の長さ(秒単位)を指定します。
関数は2番目の省略可能なパラメータtime_shiftを使用できます。現在の平均値と、time_shift秒遡った平均値を比較する必要がある場合に便利です。たとえば、avg(3600,86400)は1日前の1時間の平均値を返します。
パラメータtime_shiftはZabbix 1.8.2以降でサポートされています。
change 無視 浮動小数、整数、文字列、テキスト、ログ 最新値と前回値の差を返します。
文字列の場合は以下の値を返します。
0 - 値が等しい
1 - 値が異なる
count 秒数または回数 浮動小数、整数、文字列、テキスト、ログ 期間内(秒単位)のヒストリ値の数またはコンディションを満たすlast(回数)値の数を返します。
関数は、2番目の省略可能なパラメータpattern、3番目のパラメータoperation、4番目のパラメータtime_shiftを利用できます。
例:
count(600,12)はヒストリに保存されている値のうち「12」の出現回数を返します。
整数アイテム: 正確に一致
浮動小数: 値が±0.00001の許容範囲内にあれば一致とみなします。
like (デフォルト)、eq、neなどの演算子がサポートされます。サポートされる演算子は以下のとおりです。
サポートされている演算子:
eq - 等しい
ne – 等しくない
gt – より大きい
ge – 以上
lt – 未満
le – 以下
like (テキスト検索のみ) - 値にパターンが含まれれば一致とみなします。
例:
count(600,12,“gt”)は直近600秒の間にヒストリに保存されている値のうち「12」よりも大きい値の正確な出現回数を返します。
別の例:
count(#10,12,“gt”,86400)は、24時間前にヒストリに保存されている直近10個の値のうち「12」よりも大きい値の正確な出現回数を返します。
任意の値をカウントする必要がある場合、たとえば24時間前の直近600秒の場合はcount(600,,,86400)を使用します。
#numのパラメータはZABBIX 1.6.1以降でサポートされています。
パラメータtime_shiftはZabbix 1.8.2以降でサポートされています。
date 無視 すべて 現在日付をYYYYMMDD形式で返します。
例: 20031025
dayofweek 無視 すべて 曜日を1(月曜日)から7(日曜日)までの範囲で返します。月曜 – 1、日曜 – 7.
delta 秒数または回数 浮動小数、整数 max()-min()と同じ値を返します。
Zabbix 1.8.2以降では、2番目の省略可能なパラメータtime_shiftがサポートされています。使用例については関数avgを参照してください。
diff 無視 浮動小数、整数、文字列、テキスト、ログ 以下の値を返します。
1 - 最新値と前回値が異なる
0 - それ以外
fuzzytime 秒数 浮動小数、整数 タイムスタンプ(アイテムの値)とZabbixサーバ時刻の差がN秒以内なら1、それ以外なら0を返します。
通常はsystem.localtimeと組み合わせて、ローカル時刻とZabbixサーバのローカル時刻が同期しているかどうかをチェックします。
iregexp 1番目 - 文字列
2番目 - 秒数または#回数
文字列、ログ、テキスト この関数はregexpに類似していますが、大文字と小文字は区別されません。
last 秒数
回数
浮動小数、整数、文字列、テキスト、ログ 最新値を返します。以下のパラメータを使用します。
秒数 - 無視
#回数 - N番目の値
例:
last(0) - 常にlast(#1)と等しい
last(#3) - 3番目に新しい値
関数は2番目の省略可能なパラメータtime_shiftを受け入れます。例:
たとえば、last(0,86400)は1日前の直近の値を返します。
ヒストリの1秒以内に2つ以上の値が存在する場合、値の正確な順序は保証されません。
回数のパラメータはZABBIX 1.6.2以降でサポートされています。
パラメータtime_shiftはZabbix 1.8.2以降でサポートされています。
logseverity 無視 log 最終ログエントリの深刻度を返します。パラメータは無視されます。
0 - デフォルトの深刻度
N - 深刻度(整数、Windowsイベントログの場合に有効)。ZABBIXはWindowsイベントログのフィールド情報からログの深刻度を取得します。
logsource 文字列 log 最終ログエントリの[ソース]がパラメータと一致するかどうかをチェックします。
0 - 一致しない
1 - 一致する
通常は、Windowsイベントログのチェックに使用します。例: logsource(“VMWare Server”)
max 秒数または回数 浮動小数、整数 期間内の最大値を返します。パラメータには期間の長さ(秒単位)を指定します。
Zabbix 1.8.2以降では、2番目の省略可能なパラメータtime_shiftがサポートされています。使用例については関数avgを参照してください。
min 秒数または回数 浮動小数、整数 期間内の最小値を返します。パラメータには期間の長さ(秒単位)を指定します。
Zabbix 1.8.2以降では、2番目の省略可能なパラメータtime_shiftがサポートされています。使用例については関数avgを参照してください。
nodata 秒数 すべて 以下の値を返します。
1 - 期間内(秒単位)にデータを1つも受信しない場合。期間として30秒以上の値を指定する必要があります。
0 - それ以外
now 無視 すべて エポック(1970年1月1日00時00分00秒UTC)を起点とした経過秒数を返します。
prev 無視 浮動小数、整数、文字列、テキスト、ログ 前回値を返します。パラメータは無視されます。
last(#2)と同じ
regexp 1番目 - 文字列
2番目 - 秒数または#回数
文字列、ログ、テキスト 最新値が正規表現と一致するかどうかをチェックします。パラメータにはPosix形式の正規表現を指定します。
省略可能な2番目のパラメータでは、分析する秒数または行数を指定します。この場合、複数の値が処理されます。
大文字と小文字は区別されます。
以下の値を返します。
1 - 見つかった
0 - それ以外
str 1番目 - 文字列
2番目 - 秒数または#回数
文字列、ログ、テキスト 最新値で文字列を検索します。パラメータには検索する文字列を指定します。大文字と小文字は区別されます。
省略可能な2番目のパラメータでは、分析する秒数または行数を指定します。この場合、複数の値が処理されます。
以下の値を返します。
1 - 見つかった
0 - それ以外
sum 秒数または回数 浮動小数、整数 期間内の値の合計値を返します。パラメータには期間の長さ(秒単位)を指定します。
Zabbix 1.8.2以降では、2番目の省略可能なパラメータtime_shiftがサポートされています。使用例については関数avgを参照してください。
time 無視 すべて 現在の時刻を返します。例: 123055
一部の関数は数値以外のパラメータには使用できません。

数値関数のほとんどは、引数として秒数を受け取ります。プリフィクス「#」を使用して、引数に別の意味を持たせることもできます。

引数 定義
sum(600) 600秒間の全ての値の合計値
sum(#5) 直近5個の値の合計値

トリガーでは以下の定数がサポートされています。

定数 定義
<number> 正の浮動小数点。
例: 0, 1, 0.15, 123.55
<number><K | M | G> K – 1024*N
M – 1024*1024*N
G – 1024*1024*1024*N
例: 2K, 4G, 0.5M

基本的な条件式の記述方法は次の形式です: {<server>:<key>.<function>(<parameter>)}<operator><const> パラメータを無視する関数にもパラメータを設定する必要があります。例: last(0)

例1

www.zabbix.comのプロセッサロードアベレージが高すぎる状態を検出する条件式

{www.zabbix.com:system.cpu.load[all,avg1].last(0)}>5 ‘www.zabbix.com:system.cpu.load[all,avg1]’は監視するパラメータの簡易名です。サーバが「www.zabbix.com」、監視するキーが「system.cpu.load[all,avg1]」であることを指定します。関数「last()」は、最新の値を参照することを意味します。「>5」は、www.zabbix.comの最新のプロセッサロードアベレージが5より大きい場合にトリガーが障害になることを意味します。

例2

www.zabbix.comが過負荷であることを検出する条件式

{www.zabbix.com:system.cpu.load[all,avg1].last(0)}>5|{www.zabbix.com:system.cpu.load[all,avg1].min(600)}>2 この条件式は、現在のプロセッサロードアベレージが5より大きいか、または直近10分間のプロセッサロードアベレージが2より大きい場合に障害になります。

例3

/etc/passwdが変更されたことを検出する条件式

Use of function diff: {www.zabbix.com:vfs.file.cksum[/etc/passwd].diff(0)}>0 この条件式は、/etc/passwdのチェックサムの前回値が最新値と異なる場合に障害になります。

同様の式を使用して、/etc/passwd、/etc/inetd.conf、/kernelなどの重要なファイルの変更を監視できます。

例4

誰かがインターネットから大きいサイズのファイルをダウンロードしていることを検出する条件式

min関数を使用します: {www.zabbix.com:net.if.in[eth0,bytes].min(300)}>100K この条件式は、直近5分間にeth0で受信したバイト数が100KBを超えた場合に障害になります。

例5

クラスタ化されたSMTPサーバのノードが2つとも停止したことを検出する条件式

2つの異なるホストを1つの条件式に使用します: {smtp1.zabbix.com:net.tcp.service[smtp].last(0)}=0&{smtp2.zabbix.com:net.tcp.service[smtp].last(0)}=0 この条件式は、smtp1.zabbix.comとsmtp2.zabbix.comの両方でSMTPサーバが停止した場合に障害になります。

例6

Zabbixエージェントをアップグレードする必要があることを検出する条件式

str()関数を使用します: {zabbix.zabbix.com:agent.version.str(beta8)}=1 この条件式は、ZABBIXエージェントのバージョンがbeta8(おそらく1.0beta8)である場合に障害になります。

例7

サーバとの疎通がなくなったことを検出する {zabbix.zabbix.com:status.last(0)}=2 <note>「status」は、指定されたホストに少なくとも1つの監視パラメータが存在する場合にのみ計算される特殊パラメータです。詳細については、「status」の説明を参照してください。

例8

直近3分間で一度もハートビートを受信しなかったことを検出する条件式

nodata()を使用します: {zabbix.zabbix.com:tick.nodata(180)}=1 「tick」のタイプには「Zabbixトラッパー」を選択します。このトリガーを使用するには、アイテム「tick」を定義する必要があります。ホストはzabbix_senderを使用して、このパラメータのデータを定期的に送信する必要があります。180秒間データを受信しないと、トリガーの値が障害になります。

例9

夜間のCPU使用率を監視する条件式

time()関数を使用します: {zabbix:system.cpu.load[all,avg1].min(300)}>2&{zabbix:system.cpu.load[all,avg1].time(0)}>000000&{zabbix:system.cpu.load[all,avg1].time(0)}<060000 このトリガーが障害になるのは、夜間(00:00~06:00)だけです。

3.18トリガーの依存関係

トリガーの依存関係を使用して、トリガー間の関係を定義できます。

トリガーの依存関係は、複数のリソースをソースとするイベントが発生した場合に送信されるメッセージの数を制限できる便利な手段です。

たとえば、ホストHostがルータRouter2の背後にあり、Router2がRouter1の背後にあるとします。Zabbix - Router1 - Router2 - Host もしRouter1が停止すると、当然HostとRouter2は応答なしになります。しかし、この場合にHost、Router1、Router2のそれぞれに関する通知を全て受信する必要はありません。トリガーの依存関係を使用するとこの問題を解決できます。

個の場合、次のようみトリガーの依存関係を設定します: トリガー「Host is down」はトリガー「Router2 is down」に依存し、トリガー「Router2 is down」はトリガー「Router1 is down」に依存します。 Zabbixはトリガー「Host is down」のステータスを変更する前に、該当するトリガーの依存関係が定義されているかどうかをチェックします。定義されている場合、依存するトリガーの少なくとも1つが障害なら、変更しようとしたトリガーのステータスは変更されず、アクションの実行や通知の送信も行われません。

Zabbixはこのチェックを再帰的に実行します。つまり、Router1またはRouter2のいずれかが応答なしの場合、Hostのトリガーは更新されません。

3.19トリガーの深刻度

トリガーの深刻度は、トリガーの重要性を定義します。サポートされているトリガーの深刻度を以下に示します。

深刻度 定義
未分類 不明な深刻度です。 灰色
情報 情報目的です。 明るい緑
警告 注意を促します。 明るい黄色
軽度の障害 軽度の障害が発生しています。 暗い赤
重度の障害 何らかの重大な障害が発生しています。
致命的な障害 致命的な障害が発生しています。財務上の損失などが考えられます。 明るい赤

深刻度には以下の用途があります。

  • トリガーを画面表示します。深刻度別に違う色で表示します。
  • トリガーのステータス画面で音声アラームを鳴らします。深刻度別に違う音声を出力します。
  • ユーザメディアを選択します。深刻度別に違うメディア(通知チャネル)を使用します。たとえば、深刻度が重度の障害の場合はSMSで通知し、それ以外はメールで通知します。

3.20ヒストリ

トリガーの状態ごとに異なるコンディションを設定する必要がある場合があります。たとえば、サーバ室の温度が20℃を超えたときに障害になり、その後は15℃を下回るまで障害を維持するトリガーを定義する場合を考えます。

この場合、以下のトリガーを定義します。

例1

サーバ室の温度が高すぎる状態を検出する条件式

({TRIGGER.VALUE}=0&{server:temp.last(0)}>20)| ({TRIGGER.VALUE}=1&{server:temp.last(0)}>15) {TRIGGER.VALUE}の使用方法に注意してください。このマクロは現在のトリガー値を返します。

2011/05/02 11:54

13 スクリーンとスライドショー

スクリーンに様々な情報をグループ化することによって、1枚のスクリーンで多くの情報に簡単にアクセスしたり、表示することができます。スクリーンビルダは使い勝手に優れており、簡単な操作で直観的にスクリーンを作成できます。

スクリーンは表形式で構成され、各セルに以下の項目を表示できます。

  • 簡易グラフ
  • ユーザ定義グラフ
  • マップ
  • 別のスクリーン
  • プレーンテキスト情報
  • サーバ情報(概要)
  • トリガー情報(概要)
  • データの概要
  • 時刻
  • イベント履歴
  • アクション履歴
  • URL(別の場所から取得したデータ)

1枚のスクリーンに定義できる項目の数に制限はありません。

グラフの高さを120ピクセル未満に設定すると、トリガーは凡例に表示されません。

スライドショーは複数のスクリーンの集合であり、設定されている更新間隔に従って自動的にスクリーンを切り替えます。

パラメータ 説明
名前 スライドショーの名前。
更新間隔(秒) スクリーンを切り替えるデフォルトの間隔(秒単位)を指定します。
スライド 個々のスライド(スクリーン)のリスト。
スクリーン スクリーンの名前。
間隔 対応するスクリーンを表示する時間(秒単位)を指定します。0を設定すると、スライドショーの更新間隔を使用します。

例1

スライドショー「ZABBIX administrators」

上記のスライドショーは2枚のスクリーンで構成され、以下の順序で表示されます。

Zabbix Server → 60秒間一時停止 → Zabbix Server2 → 30秒間一時停止 → Zabbix Server → 60秒間一時停止 → Zabbix Server2 → …

2011/05/02 12:11

14 ITサービス

ITサービスは、インフラストラクチャを上位レベル(ビジネス)の視点で監視する必要があるユーザを対象としています。このようなユーザが必要としているのは、ディスク容量不足やプロセッサロードアベレージが高すぎるといった下位レベルの細かい項目ではなく、自社のIT部門が提供するサービスの可用性に関する情報です。その他にも、ITインフラストラクチャの弱点、各種のITサービスのSLA、既存のITインフラストラクチャの構造など、必要とされる上位レベルの情報は多岐に渡ります。

ZabbixのITサービスを使用すると、これらの情報を全て入手できます。

ITサービスは監視データを階層的に表現します。

非常に単純化したITサービス構造の例を以下に示します。

IT Service | |-Workstations | | | |-Workstation1 | | | |-Workstation2 | |-Servers

階層構造の各ノードには、ステータスが割り当てられます。ステータスは、選択したアルゴリズムに基づいて計算され、上位レベルに伝達されます。トリガーは、ITサービスの最下位レベルに位置します。[作成中…]

1.8.1を含むバージョンまでのZabbixでは、深刻度が未分類情報のトリガーによってSLA計算が影響を受けることはありません。
2011/05/02 12:43

15 ユーザパーミッション

Zabbixユーザは、ウェブベースのウェブインタフェース経由でZabbixアプリケーションにアクセスします。各ユーザには一意なログイン名とパスワードが割り当てられます。ユーザパスワードは全て暗号化され、Zabbixデータベースに保存されます。ZABBIXのユーザIDとパスワードを使用してUNIXに直接ログインすることはできません。そのためには、ZABBIXのユーザIDとパスワードでログインできるようにUNIXで設定しておく必要があります。ウェブサーバとユーザが使用するブラウザの間の通信は、SSLで保護することが可能です。

メニューからスクリーンにアクセスするためのパーミッションは、ユーザごとに設定できます。デフォルトでは、Zabbixに登録した直後のユーザには、スクリーンに対する権限は一切付与されていません。

ユーザが30分間何も操作しないと、自動的に切断されます。

3.21概要

Zabbixで採用されているユーザ権限スキーマは柔軟性に優れ、単独のZabbixインストール内または分散環境におけるユーザ権限を効率的に管理できます。

パーミッションは、ホストグループレベルでユーザグループに対して付与されます。

Zabbixでは、様々な種類のユーザがサポートされ、種類別にユーザに付与する管理機能をコントロールします。

3.22ユーザの種類

ユーザの種類を使用して、管理機能へのアクセスを定義したり、デフォルトパーミッションを指定します。

ユーザの種類 説明
Zabbixユーザ この種類のユーザは[監視データ]メニューにアクセスできます。デフォルトでは、リソースに対するアクセス権は付与されていません。ホストグループに対する権限は、明示的に割り当てる必要があります。
Zabbix管理者 この種類のユーザは[監視データ]メニューと[設定]メニューにアクセスできます。デフォルトでは、ホストグループに対するアクセス権は付与されていません。ホストグループに対するパーミッションは、明示的に指定する必要があります。
Zabbix特権管理者 この種類のユーザは[監視データ]、[設定]、および[管理]の全てのメニューにアクセスできます。全てのホストグループに対して読み書き可能なアクセス権が付与されています。特定のホストグループへのアクセスを拒否することで権限を無効にすることはできません。
2011/05/02 12:45

16 キュー

3.23概要

Zabbixキューには、更新待ちのアイテムが表示されます。キューは、データベースのデータを論理的に表現しているだけです。Zabbixには、IPCキューなどのキューメカニズムは存在しません。

キューで示される統計には、Zabbixサーバのパフォーマンスが反映されます。

3.24キューの見方

スタンドアロンアプリケーションまたはマスターノードのキューには、更新待ちのアイテムが表示されます。

この図からは、タイプがZABBIXエージェントのアイテム3個が0~5秒間の更新待ちであること、およびZABBIXエージェント(アクティブ)のアイテム1個が5分以上待たされている(エージェントが停止している?)ことがわかります。子ノードについて表示されている情報は最新ではないことに注意してください。マスターノードがヒストリデータを受信する場合、一定の遅延(ノード間データ転送で通常は10秒間)が発生するので、その分古い情報が表示されます。

このスクリーンショットでは、子ノードで93個のアイテムが5分以上更新待ちになっていますが、これは以下の情報に依存しているので、信頼できる数字ではありません。

  • 子ノードのパフォーマンス
  • マスターノードと子ノードの間の通信
  • マスターノードと子ノードのローカル時刻のずれ
特殊アイテムキーzabbix[queue]を使用すると、ZABBIXのキューの状態を監視できます。このような内部チェックのアイテムのリストはアイテム設定のセクションに記載されています。
2011/05/02 12:46

17 ユーティリティ

3.25スタートアップスクリプト

システムのスタートアップ/シャットダウンの際に、スクリプトを使用して自動的にZabbixプロセスを開始/停止することができます。

スクリプトは、ディレクトリmisc/init.dに置かれています。

3.26snmptrap.sh

SNMPトラップ受信用のスクリプトです。このスクリプトは、net-snmpパッケージに付属するsnmptrapdと一緒に使用する必要があります。

設定手順:

  • snmptrapd(net-snmpまたはucd-snmpに付属)をインストールする
  • snmptrapd.confを編集する\\以下の行を追加

traphandle default /bin/bash /home/zabbix/bin/snmptrap.sh

  • misc/snmptrap/snmptrap.shを~zabbix/binにコピー
  • snmptrap.shを編集して基本設定
  • 専用のホストとトラッパー(データ型は文字列)アイテムをZABBIXに追加アイテムのキーについてはsnmptrap.shを参照してください。
  • snmptrapdを実行する
2011/05/02 12:46

18 正規表現

Zabbixウェブインタフェースで複雑な正規表現を作成してテストするには、[管理] → [一般設定] → [正規表現]に移動します。

18.1正規表現の使用

作成された正規表現は、正規表現がサポートされる場所であればどこでも@で始まる名前(@mycustomregexpなど)を参照して使用できます。

18.2正規表現のタイプ

Zabbixの全ての正規表現は、高度なエディタによる作成や手動による入力を問わずPOSIX拡張正規表現を利用できます。

2011/05/02 12:47

19 ウェブインタフェース定義

ウェブインタフェースの内容の多くはウェブインタフェース自体を使用して設定できますが、現在、一部のカスタマイズは定義ファイルの編集でしか行うことができません。この定義ファイルは、ウェブインタフェースディレクトリにあるinclude/defines.inc.phpです。このファイル内でユーザに関連のあるパラメータは以下の通りです:

  • TRIGGER_FALSE_PERIOD

トリガーの状態が障害から変わった後、トリガーがOK状態で表示される期間(秒単位)

  • TRIGGER_BLINK_PERIOD

トリガーの状態が変わってからトリガーが点滅する期間(秒単位)

  • ZBX_PERIOD_DEFAULT

デフォルトのグラフ期間(秒単位)。デフォルトは1時間

  • ZBX_MIN_PERIOD

グラフの最小期間(秒単位)。デフォルトは1時間

  • ZBX_MAX_PERIOD

グラフの最大期間(秒単位)。1.6.7以降ではデフォルトは2年、それ以前のバージョンでは1年

  • GRAPH_YAXIS_SIDE_DEFAULT

アイテムをカスタムグラフに追加する場合の簡単なグラフのY軸のデフォルト位置とドロップダウンボックスのデフォルト値。利用可能な値: 0 - 左、1 - 右

2011/05/03 07:14

20 サフィックス

接尾辞を使用してZabbixトリガー条件式やアイテムキーを簡素化することができます。

18.3標準の乗数

以下の表は、Zabbixウェブインタフェースおよびサーバで利用可能な標準の乗数をまとめたものです。

1.8.2まで 1.8.2での追加
サーバ K (キロ)
M (メガ)
G (ギガ)
T (テラ)
ウェブインタフェース K (キロ)
M (メガ)
G (ギガ)
T (テラ)
P (ペタ)
E (エクサ)
Z (ゼタ)
Y (ヨタ)

18.4時間関連の乗数

バージョン1.8.2以降のZabbixでは、以下の時間関連の乗数を利用できます。

  • s - 秒。使用される場合、生データと同様に機能します。
  • m - 分;
  • h - 時間;
  • d - 日
  • w - 週

18.5例

これらの乗数により、理解しやすく維持しやすい条件式を作成できます。たとえば、以下のような条件式があるとします。

{host:zabbix[proxy,zabbix_proxy,lastaccess]}>120 {host:system.uptime[].last()}<86400

この条件式を以下のように変更できます:

{host:zabbix[proxy,zabbix_proxy,lastaccess]}>2m {host:system.uptime.last()}<1d

2011/05/03 07:16

21 Time period specification

18.6 The format

Time period has the following format:

d-d,hh:mm-hh:mm

You can specify more than one time period using a semicolon (;) separator:

d-d,hh:mm-hh:mm;d-d,hh:mm-hh:mm...

18.7 Description

Format Description
d Day of week: 1 - Monday, 2 - Tuesday ,… , 7 - Sunday
hh Hours: 00-24
mm Minutes: 00-59
The upper bound of time period specification is not included. E. g. if you specify 09:00-18:00 the last second included in the time period will be 17:59:59. This is true starting from version 1.8.7 for everything except Working time which has always worked this way.

18.8 Default

Empty time specification equals to 01-07,00:00-24:00

18.9 Examples

Working hours. Monday - Friday from 9:00 till 18:00:

1-5,09:00-18:00

Working hours plus weekend. Monday - Friday from 9:00 till 18:00 and Saturday, Sunday from 10:00 till 16:00:

1-5,09:00-18:00;6-7,10:00-16:00
2013/08/12 05:27