Zabbixは、イベントに対応するために様々なオペレーションを実行します。Zabbixで生成される1つまたは複数のイベントに対してアクションを1つ定義できます。
アクションの属性を以下に示します。
| パラメータ | 説明 |
|---|---|
| 名前 | 一意なアクション名。 |
| イベントソース | イベントの発生元。 現在は以下の3つのソースがサポートされています。 トリガー - トリガーのステータスの変化によって生成されるイベント ディスカバリ - オートディスカバリモジュールによって生成されるイベント 自動登録 - 新規アクティブエージェントによって生成されるイベント |
| エスカレーションを有効 | エスカレーションを有効にします。有効にすると、オペレーションに対して定義されているオペレーションステップに従ってアクションがエスカレートされます。 |
| 期間(秒) | エスカレーションステップの増分の期間。 |
| イベントソース | イベントの発生元。 トリガー - トリガーによって生成されたイベントに対してアクションが実行されます。 ディスカバリ - ディスカバリイベントに対してアクションが実行されます。 |
| デフォルトの件名 | 通知のデフォルトの件名。マクロを使用できます。 |
| デフォルトのメッセージ | 通知のデフォルトのメッセージ。マクロを使用できます。 |
| リカバリメッセージ | 有効にすると、元の問題が解決された後でリカバリメッセージが送信されます。リカバリメッセージは、以前にこの問題に関する任意のメッセージを受け取ったユーザに送信されます。 |
| リカバリの件名 | リカバリメッセージの件名。マクロを使用できます。 |
| リカバリメッセージ | リカバリメッセージ。マクロを使用できます。 |
| ステータス | アクションのステータス。 有効 - アクションは有効です。 無効 - アクションは無効です。 |
アクションは、定義されているコンディションの組み合わせを満たす場合にのみ実行されます。
トリガーをソースとするイベントには、以下のコンディションを定義できます。
| コンディションタイプ | サポートされている演算子 | 説明 |
|---|---|---|
| アプリケーション | = 含まれる 含まれない | = - アプリケーションの一部であるトリガーで生成されたイベント 含まれる - アプリケーションの一部であり、特定の文字列を含むトリガーで生成されたイベント 含まれない - アプリケーションの一部であり、特定の文字列を含まないトリガーで生成されたイベント |
| ホストグループ | = <> | イベントを生成したトリガーが登録されているホストグループと比較します。 = - このホストグループで生成されたイベント <> - 別のホストグループで生成されたイベント |
| ホストテンプレート | = <> | トリガーが属するホストテンプレートと比較します。 = - このホストテンプレートから継承されたトリガーで生成されたイベント <> - 別のホストテンプレートから継承されたトリガーで生成されたイベント |
| ホスト | = <> | イベントを生成したトリガーが登録されているホストと比較します。 = - このホストで生成されたイベント <> - 別のホストで生成されたイベント |
| トリガー | = <> | イベントを生成したトリガーと比較します。 = - このトリガーで生成されたイベント <> - 別のトリガーで生成されたイベント |
| トリガーの名前(名前) | 含まれる 含まれない | イベントを生成したトリガー名と比較します。 含まれる - 文字列がトリガー名に含まれる(大文字と小文字は区別される) 含まれない - 文字列がトリガー名に含まれない(大文字と小文字は区別される) |
| トリガーの深刻度 | = <> >= <= | トリガーの深刻度と比較します。= - 指定されたトリガーの深刻度と等しい <> - 指定されたトリガーの深刻度と等しくない >= - 指定されたトリガーの深刻度以上 ⇐ - 指定されたトリガーの深刻度以下 |
| トリガーの値 | = | トリガーの値と比較します。 = - 指定されたトリガーの値([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) かつ (Trigger name like 'Database is down' または Trigger name like 'Database is unavailable')
イベントがコンディションを満たすときに1つまたは複数のオペレーションが実行されます。
Zabbixでは、以下のオペレーションがサポートされています。
ディスカバリをソースとするイベントでは、以下のオペレーションもサポートされています。
ホストの追加時には、標準的な gethostbyname 関数によって名前が決定されます。ホストを解決できる場合、解決名が使用されます。解決できない場合は、IPアドレスが使用されます。さらに、IPv6アドレスがホスト名に使用される場合には、すべての「:」(コロン)は「_」(アンダースコア)に置換されます。これは「:」(コロン)がホスト名として許可されていないためです。
| パラメータ | 説明 |
|---|---|
| [ステップ] | このアクションに対してエスカレーションを有効にする場合、以下のエスカレーション設定を使用します。 開始 - このステップから始めて各ステップに対して実行します。 To - このステップまで実行します([開始]から始めて全てのステップに対して実行する場合は0)。 期間 - この期間の後、ステップ数を増分します。0を指定すると、デフォルトの期間が使用されます。 |
| [オペレーションのタイプ] | アクションのタイプ。 メッセージの送信 - ユーザにメッセージを送信します。 コマンドの実行 - リモートコマンドを実行します。 |
| イベントソース | |
| メッセージの送信先 | メッセージの送信先。 シングルユーザ - シングルユーザ ユーザグループ - グループの全てのメンバー |
| デフォルトのメッセージ | 選択すると、デフォルトのメッセージが使用されます。 |
| [件名] | メッセージの件名。マクロを使用できます。 |
| メッセージ | メッセージ本体。マクロを使用できます。 |
| リモートコマンド | リモートコマンドのリスト。 |
1.6.2以降では、イベントを生成したホスト(トリガー)に対する読み取りパーミッションを持つユーザのみに通知が送信されます。トリガー条件式の少なくとも1つのホストにアクセスできる必要があります。
マクロを使用すると、読みやすいレポートを作成できます。
Subject: {TRIGGER.NAME}: {TRIGGER.STATUS}
マクロが置き換えられて、以下のようなメッセージ件名が生成されます。
‘Processor load is too high on server zabbix.zabbix.com: ON’
メッセージ: Processor load is: {zabbix.zabbix.com:system.cpu.load[,avg1].last(0)}
マクロが置き換えられて、以下のようなメッセージが生成されます。
'Processor load is: 1.45'
メッセージ: 最新データ: {{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
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 | 通知を生成したトリガー条件式のN番目のアイテムの最新の値。Zabbix 1.4.3以降でサポートされます。{{HOSTNAME}:{TRIGGER.KEY}.last(0)}のエイリアスでもあります。 | ||||||
| {ITEM.LOG.AGE<1-9>} | X | ||||||||
| {ITEM.LOG.DATE<1-9>} | X | ||||||||
| {ITEM.LOG.EVENTID<1-9>} | X | ||||||||
| {ITEM.LOG.NSEVERITY<1-9>} | X | ||||||||
| {ITEM.LOG.SEVERITY<1-9>} | X | ||||||||
| {ITEM.LOG.SOURCE<1-9>} | X | ||||||||
| {ITEM.LOG.TIME<1-9>} | X | ||||||||
| {ITEM.NAME<1-9>} | X | 通知を生成したトリガーのN番目のアイテムの名前 | |||||||
| {ITEM.VALUE<1-9>} | X | X | トリガーの表示に使用する場合は、トリガー条件式のN番目のアイテムの最新の値イベントの表示に使用する場合は、トリガー条件式のN番目のアイテムのイベント発生時のヒストリ値Zabbix 1.4.3以降でサポートされます。 | ||||||
| {NODE.ID<1-9>} | X | X | X | ||||||
| {NODE.NAME<1-9>} | X | X | X | ||||||
| {PROFILE.CONTACT<1-9>} | X | ホストプロファイルに設定されている連絡先 | |||||||
| {PROFILE.DEVICETYPE<1-9>} | X | ホストプロファイルに設定されているデバイス名 | |||||||
| {PROFILE.HARDWARE<1-9>} | X | ホストプロファイルに設定されているハードウェア | |||||||
| {PROFILE.LOCATION<1-9>} | X | ホストプロファイルに設定されている場所 | |||||||
| {PROFILE.MACADDRESS<1-9>} | X | ホストプロファイルに設定されているMACアドレス | |||||||
| {PROFILE.NAME<1-9>} | X | ホストプロファイルに設定されている名前 | |||||||
| {PROFILE.NOTES<1-9>} | X | ホストプロファイルに設定されている備考 | |||||||
| {PROFILE.OS<1-9>} | X | ホストプロファイルに設定されているOS | |||||||
| {PROFILE.SERIALNO<1-9>} | X | ホストプロファイルに設定されているシリアルNo | |||||||
| {PROFILE.SOFTWARE<1-9>} | X | ホストプロファイルに設定されているソフトウェア | |||||||
| {PROFILE.TAG<1-9>} | X | ホストプロファイルに設定されているタグ | |||||||
| {STATUS} | X | {TRIGGER.STATUS}のエイリアス | |||||||
| {TIME} | X | X | X | 現在時刻(hh:mm.ss) | |||||
| {TRIGGER.COMMENT} | X | トリガーのコメント | |||||||
| {TRIGGER.EVENTS.UNACK} | X | X | マップのマップ項目に対する未応答イベントの数、または通知で現在のイベントを生成したトリガーに対する未応答イベントの数。1.8.3以降のマップ項目ラベルでサポートされます。 | ||||||
| {TRIGGER.EVENTS.PROBLEM.UNACK} | X | X | 状態を無視する全てのトリガーに対する未応答障害イベントの数。1.8.3以降でサポートされます。 | ||||||
| {TRIGGER.PROBLEM.EVENTS.PROBLEM.UNACK} | X | 障害のトリガーに対する未応答障害イベントの数。1.8.3以降でサポートされます。 | |||||||
| {TRIGGER.ID} | X | アクションをトリガーしたトリガーのID(数値) | |||||||
| {TRIGGER.KEY<1-9>} | X | 通知を生成したトリガーのN番目のアイテムのキー | |||||||
| {TRIGGER.NAME} | X | トリガーの名前(説明) | |||||||
| {TRIGGER.NSEVERITY} | X | トリガーの深刻度(数値)。設定可能な値: 0 - 未分類、1 - 情報、 2 - 警告、3 - 軽度の障害、 4 - 重度の障害、 5 - 致命的な障害、Zabbix 1.6.2からサポートされます。 | |||||||
| {TRIGGER.SEVERITY} | X | トリガーの深刻度。設定可能な値: 未分類、情報、警告、軽度の障害、重度の障害、致命的な障害、不明 | |||||||
| {TRIGGER.STATUS}, {STATUS} | X | トリガー状態。トリガーが障害状態の場合は「ON」、正常状態の場合は「OFF」に置き換えられます。{STATUS} は非推奨 | |||||||
| {TRIGGER.URL} | X | トリガーのURL | |||||||
| {TRIGGER.VALUE} | X | X | X | 現在のトリガーの値: 0 - トリガーが正常状態の場合、1 – トリガーが障害状態の場合、2 – トリガーが不明の場合このマクロは、トリガー条件式でも使用できます。 | |||||
| {TRIGGERS.UNACK} | X | トリガーの状態を無視するマップ項目に対する未応答トリガーの数。 | |||||||
| {TRIGGERS.PROBLEM.UNACK} | X | マップ項目に対する未応答障害トリガーの数。1.8.3以降でサポートされます。 | |||||||
| {host:key.func(param)} | X | X | X | シンプルなマクロ トリガー条件式. | |||||
| {$MACRO} | X | X | グローバルマクロとホストレベルマクロ. |
より柔軟性を高めるため、テンプレートレベルマクロと同様に、Zabbixはグローバルとホストレベルのマクロをサポートします。これらのマクロは特別な記法を持っています: {$MACRO}. アイテムキーとトリガー式のなかでマクロを使用できます。
マクロ名には以下の文字を使用できます: A-Z , 0-9 , _ , .
Zabbixは、以下の優先順位に従いマクロを置き換えます。
つまり、ホストにマクロがない場合、Zabbixはホストテンプレートでマクロを検索します。ホストテンプレートにもマクロが見つからない場合、グローバルテンプレート(ある場合)が使用されます。
Zabbixでマクロが見つからない場合、マクロは置き換えられません。
グローバルとホストレベルのマクロによって、Zabbix設定のメンテナンスがさらに容易になります。
グローバルマクロとホストレベルマクロの最も一般的な使用例
アイテム “Status of SSH daemon” のキーにおけるホストマクロの使用:
ssh,{$SSH_PORT}
トリガー “CPU load is too high” におけるホストマクロの使用:
{ca_001:system.cpu.load[,avg1].last(0)}>{$MAX_CPULOAD}
「CPU load is too high」トリガーで2つのマクロを使用する場合:
{ca_001:system.cpu.load[,avg1].min({$CPULOAD_PERIOD})}>{$MAX_CPULOAD}
この例の関数min()では、トリガー関数のパラメータとしてマクロを使用できることに注意してください。
アプリケーションは、ホストアイテムの集合です。例えば、アプリケーション「MySQLサーバ」にはMySQLサーバに関連するアイテムを含めることができます: MySQLの稼働状態、ディスク容量、プロセッサロード、秒間あたりの転送量、スロークエリ数、など。
アイテムは1つまたは複数のアプリケーションにリンクされる可能性があります。
Zabbixのウェブインタフェースでは、アプリケーションを使用してアイテムをグループ化します。
ユーザ定義グラフを使用して、複雑なグラフを作成できます。作成したグラフには、メニュー項目[グラフ]から簡単にアクセスできます。
テンプレートを使用することによって、Zabbixの管理効率を大幅に高めることができます。
1つのテンプレートを複数のホストにリンクできます。そのテンプレートに定義されているアイテム、トリガー、およびグラフは、自動的にリンクされているホストに追加されます。テンプレートのアイテム(トリガー、グラフ)の定義を変更すると、その変更は自動的にホストにも適用されます。
ホストテンプレートの属性を以下に示します。
| パラメータ | 説明 |
|---|---|
| 名前 | 一意なテンプレート(ホスト)名。ZABBIXノード内で一意な名前である必要があります。 |
| グループ | テンプレートが属するホストグループのリスト。 |
| 新規グループ作成 | 新しいホストグループをテンプレートに割り当てます。 |
| テンプレートとのリンク | 階層型テンプレートの作成に使用します。 |
ホストグループには、1つまたは複数のホストが含まれます。1つもホストが含まれないホストグループもあります。
ホストグループの属性を以下に示します。
| パラメータ | 説明 |
|---|---|
| グループ名 | 一意なホストグループ名。Zabbixノード内で一意な名前である必要があります。 |
| ホスト | このグループに属するホストのリスト。 |
Zabbixではホストの依存関係はサポートされていませんが、柔軟性に優れたトリガーの依存関係を使用することによって、ホストの依存関係を定義できます。
ここではその仕組みについて説明します。
トリガーには、依存するトリガーを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”の通知を行いません。
アイテムとは、1つのパフォーマンスチェック項目または可用性チェック項目です。
引数付きパラメータには、引数を渡すことができます。たとえば、vfs.fs.size[*]は引数付きパラメータです。*は、パラメータの引数として渡される任意の文字列です。正しい定義の例:
キーパラメータを含むアイテムキー形式は、構文ルールに従う必要があります。以下の例は、サポートされる構文を表しています。このラインに従って、各ポイントで使用可能な項目と文字を決定できます。ラインに従ってブロックに当たった場合、その項目や文字を使用できます。当たらない場合は使用できません。
アイテムキー
有効なアイテムキーを構築するには、キー名を指定してから、パラメータを使用するかどうかを選択します。これは、選択可能な2つのラインで表されています。
キー名
キー名では、使用可能な文字範囲が制限され、各文字が他の文字に続きます。使用可能な文字は次のとおりです: 0-9a-zA-Z_-. 具体的には以下のようになります。
キーのパラメータ
アイテムキーでは、複数のパラメータをカンマ区切りで使用できます。
各キーのパラメータ
各キーパラメータは、引用符付き文字列、引用符なし文字列、または配列のいずれかになります。
パラメータは空白のままにすることもでき、デフォルト値が使用されます。その場合、追加のパラメータを指定するには、適切な数のカンマを追加してください。たとえば、アイテムキーicmpping[,,200,,500]の場合、ping同士の間隔は200ミリ秒、タイムアウトは500ミリ秒、その他のパラメータはデフォルトのままになります。
パラメータ - 引用符付き文字列
キーパラメータが引用符付き文字列の場合、Unicode文字を使用できます。二重引用符付きの場合、バックスラッシュでエスケープする必要があります。
パラメータ - 引用符なし文字列
キーパラメータが引用符なし文字列の場合、すべてのUnicode文字を使用できます。
パラメータ - 配列
キーパラメータが配列の場合、角カッコで再度囲みます。各パラメータの後に、ルールと構文を指定する複数のパラメータが続きます。
パラメータ「encoding」を使用して、対応するアイテムチェックを処理するためのエンコードを指定するため、取得されたデータは破損しません。サポート対象のエンコードのリスト(コードページ識別子)については、 (GNUプロジェクト)のドキュメントや「Code Page Identifier」に関するMicrosoft Windows SDKドキュメントなどの各ドキュメントを参照してください。空白の「encoding」パラメータが渡されると、システム固有の拡張子が付いたANSI (Windows)またはUTF-8 (比較的新しいUNIX/Linuxディストリビューションのデフォルトのロケール、システムの設定を参照)がデフォルトで使用されます。
アイテムの値が何らかの理由で取得できない場合、そのアイテムはサポートされません。このようなアイテムは固定間隔で再チェックされます。間隔は管理のセクションで設定することができます。
| パラメータ/システム | 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 | - | - | - |
[]内で使用できる文字:
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>] | イベントログの監視 | ログ | 名前 – イベントログ名 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 murray@builder.FreeBSD.org: /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] |
ここでは、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> - 要求するプロセス属性 | 以下の属性が現在サポートされています。 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では取得できません。 |
SNMPエージェントが収集したデータを取得するには、SNMPをサポートするようにZabbixを設定する必要があります。
SNMPパラメータを監視するために必要な手順を以下に示します。
SNMPデバイスのホストの作成
IPアドレスとポート番号161を入力します。ホストの[ステータス]は[無効]に設定します。host.SNMPテンプレートを使用すると、必要なアイテムが自動的に追加されます。ただし、テンプレートとホストの間に互換性がない場合もあります。
監視するアイテムの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というようにそのまま使用します。
監視するアイテムの作成
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データについて[最新データ]を選択します。
一般的な例
| パラメータ | 説明 |
|---|---|
| コミュニティ | 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 Monitoring of SNMP parameters is possible if either -with-net-snmp or -with-ucd-snmp flag was specified while configuring Zabbix sources.
アップタイムの監視
| パラメータ | 説明 |
|---|---|
| コミュニティ | public |
| OID | MIB::sysUpTime.0 |
| キー | router.uptime |
| データ型 | 浮動小数 |
| 単位 | uptime |
| 乗数 | 0.01 |
シンプルチェックは、主にエージェントレス監視またはサービスのリモートチェックに使用します。シンプルチェックを行う場合、Zabbixエージェントは必要ありません。シンプルチェックを処理(外部接続の確立など)するのは、Zabbixサーバの役割です。
tcpとtcp_perfを除く全てのシンプルチェックでは、省略可能なパラメータを1つ受け入れます。
シンプルチェックの使用例: ftp,155 http http_perf,8080
サポートされているシンプルチェックのリストを以下に示します。
| キー | 説明 | 返り値 |
|---|---|---|
| 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です。
ZABBIXは、外部ユーティリティfpingを使用してICMP pingを処理します。このユーティリティはZabbixディストリビューションに付属していないので、別途インストールする必要があります。このユーティリティが存在しない場合、正しい権限が設定されていない場合、または設定ファイルのFpingLocationで定義されている場所と違う場所に存在する場合、ICMP ping(icmpping、icmppingsec、icmppingloss)は処理されません。
正しいパーミッションを設定するには、ユーザrootで以下のコマンドを実行します。
shell> chown root:zabbix /usr/sbin/fping shell> chmod 710 /usr/sbin/fping shell> chmod ug+s /usr/sbin/fping
ICMPチェックパラメータのデフォルト値は以下のとおりです。
| パラメータ | 値 | 説明 | fpingフラグ |
|---|---|---|---|
| packets | 3 | ターゲットへのping | -c |
| インターバル | 25 | ミリ秒、「fping」のデフォルト | -i |
| サイズ | 56または68 | バイト、「fping」のデフォルト、x86の場合は56バイト、x86_64の場合は68バイト | -b |
| タイムアウト | 500 | ミリ秒、「fping」のデフォルト | -t |
Zabbixはチェックするアドレスを一時ファイルに書き込み、これがfpingに渡されます。アイテムに異なるパラメータがある場合、1つのファイルに書き込まれるのは同じパラメータのアイテムのみです。
内部チェックを使用すると、Zabbix内部を監視できます。内部チェックは、Zabbixサーバが処理します。
| キー | 説明 | コメント | |||
|---|---|---|---|---|---|
| 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[proxy,<name>,<param>] | プロキシ関連の情報へのアクセス | <name> - プロキシ名 サポートされているパラメータのリスト(<param>): lastaccess - プロキシから受信した最後のハートビートメッセージのタイムスタンプ 例, zabbix[proxy,”Germany”,lastaccess] プロキシの状態を監視するためにトリガーのfuzzytime()関数を利用することができます。 | |||
| zabbix[queue,<from>,<to>] | キュー内にある、<from>から<to>秒遅延するサーバ監視アイテムの数 | <from> - デフォルト: 6秒 <to> - デフォルト: 無限 サフィックス s,m,h,d,wをこれらのパラメータに使用できます。 パラメータfromとtoは、バージョン1.8.3以降でサポートされています。 | |||
| zabbix[trends] | テーブルTRENDSに保存されている値の数 | MySQL InnoDB、Oracle、またはPostgreSQLを使用している場合は、このキーを使用しないでください。 | |||
| zabbix[trends_uint] | テーブルTRENDS_UINTに保存されている値の数 | MySQL InnoDB、Oracle、またはPostgreSQLを使用している場合は、このキーを使用しないでください。 このアイテムは、バージョン1.8.3以降でサポートされています。 | |||
| zabbix[triggers] | Zabbixデータベースに保存されているトリガーの数 | ||||
| zabbix[uptime] | Zabbixサーバプロセスのアップタイム(秒単位) | ||||
| zabbix[wcache,<cache>,<mode>] | Cache | Mode | |||
| 値 | all | Zabbixサーバで処理される値の数 | Zabbixパフォーマンスの最適なインジケータです。 | ||
| float | |||||
| uint | |||||
| str | |||||
| log | |||||
| text | |||||
| history | pfree | ヒストリバッファ内の空き容量(パーセント値) | 数値が低い場合、データベースサイドにパフォーマンスの問題があります。 | ||
| total | |||||
| used | |||||
| free | |||||
| trend | pfree | ||||
| total | |||||
| used | |||||
| free | |||||
| text | pfree | ||||
| total | |||||
| used | |||||
| free | |||||
| zabbix[rcache,<cache>,<mode>] | Cache | Mode | |||
| buffer | pfree | ||||
| total | |||||
| used | |||||
| free |
累計チェックを行う場合、監視するホスト上でエージェントを実行する必要はありません。累計情報は、Zabbixサーバが直接データベースに対してクエリーを発行して収集します。
累計チェックのアイテムのキーの記述形式 groupfunc[“Host group”,”Item key”,”item func”,”parameter”] 利用できるグループ関数:
| グループ関数 | 説明 |
|---|---|
| grpavg | 平均値 |
| grpmax | 最大値 |
| grpmin | 最小値 |
| grpsum | 合計値 |
サポートされているアイテム関数:
| アイテム関数 | 説明 |
|---|---|
| avg | 平均値 |
| count | 値の個数 |
| last | 最新値 |
| max | 最大値 |
| min | 最小値 |
| sum | 合計値 |
累計アイテムのキーの例:
ホストグループ「MySQL Servers」の合計ディスク容量
grpsum[“MySQL Servers”,”vfs.fs.size[/,total]”,”last”,”0”]
ホストグループ「MySQL Servers」のプロセッサロードアベレージ
grpavg[“MySQL Servers”,”system.cpu.load[,avg1]”,”last”,”0”]
ホストグループ「MySQL Servers」の直近5分間における1秒あたりの平均クエリ数
grpavg[“MySQL Servers”,”mysql.qps”,”avg”,”300”]
外部チェックは、Zabbixサーバがシェルスクリプトまたはバイナリを実行することによって実行するチェックです。
外部チェックを行う場合、監視するホスト上でエージェントを実行する必要はありません。
アイテムのキーの記述方法: script[parameters]
使用するスクリプトにパラメータを渡さない場合: script[]またはscript ← この[]を省略した記述方法はZabbix 1.8.1からサポートされています
Zabbixサーバは、zabbix_server.confの設定パラメータExternalScriptsで定義されているディレクトリにあるコマンドを見つけて実行します。コマンドはZabbixサーバを実行するユーザで実行されるため、アクセス権限や環境変数をラッパースクリプトで処理し、必要に応じて、そのユーザによるコマンドの実行がコマンドに対する権限で許可されるようにする必要があります。指定したディレクトリのコマンドのみを利用できます。
1番目のコマンドラインパラメータとしてホスト名が渡され、その後にparametersで指定されたパラメータが渡されます。
Zabbixは、スクリプトの標準出力を値として使用します。標準エラーや終了コードは無視されます。
外部スクリプト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.
ZabbixはSSH2サポートで設定する必要があります。
SSHチェックはエージェントレスの監視に使用されます。SSHチェックを行う場合、Zabbixエージェントは必要ありません。
実行する実際のコマンドは、アイテム設定のExecuted scriptフィールドに置いてください。複数のコマンドを実行するには、新しい行にそのコマンドを次々に配置します。
| キー | 説明 | コメント |
|---|---|---|
| ssh.run[<unique short description>,<ip>,<port>,<encoding>] | SSHリモートセッションを使用してコマンドを実行します。 |
Telnetチェックはエージェントレスの監視に使用されます。TelnetチェックにZabbixエージェントは必要ありません。
実行する実際のコマンドは、アイテム設定のExecuted scriptフィールドに置いてください。複数のコマンドを実行するには、新しい行にそのコマンドを次々に配置します。
バージョン1.8.1までは、プロンプトを促すサポート対象文字は以下の記号で終了できます。
バージョン1.8.2のZabbixでは、以下の文字のサポートが追加されています。
| キー | 説明 | コメント |
|---|---|---|
| telnet.run[<unique short description>,<ip>,<port>,<encoding>] | telnet接続を使用してリモートデバイスでコマンドを実行します。 |
計算アイテムでは、仮想データソースを非常に簡単に作成できます。アイテムの値は、算術式と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_
トリガー条件式とは異なり、計算アイテムの処理は、新しい値の受け入れ時ではなく、アイテムの更新間隔に従って行われます。また、参照アイテムのアイテムキーを変更する場合、古いキーを使用していた全ての式を手動で更新する必要があります。
計算アイテムは、以下の状況ではサポート対象にならない場合があります。
「/」の空きディスク容量のパーセント値を計算します。
last関数を使用します: 100*last(“vfs.fs.size[/,free]”)/last(“vfs.fs.size[/,total]”)
Zabbixは、空きディスク容量と合計ディスク容量の最新の値を取得して、指定の式に従いパーセント値を計算します。
Zabbixで処理される値の10分間の平均を計算します。
avg関数を使用します: avg(“Zabbix Server:zabbix[wcache,values]”,600)
計算アイテムを長期間広範囲に使用すると、Zabbixサーバのパフォーマンスが影響を受ける場合があります。
eth0の合計帯域幅を計算します。
2つの関数を合計します: last(“net.if.in[eth0,bytes]”)+last(“net.if.out[eth0,bytes]”)
受信トラフィックのパーセント値を計算します。
より複雑な式: 100*last(“net.if.in[eth0,bytes]”)/(last(“net.if.in[eth0,bytes]”)+last(“net.if.out[eth0,bytes]”))
エージェントの設定ファイルでユーザパラメータ(UserParameter)を定義することによって、Zabbixエージェントの機能を拡張することができます。
内部チェックは、Zabbixサーバが処理します。/bin/shは、UNIXオペレーティングシステムでコマンドラインインタプリタとして使用されます。
監視するパラメータを新しく定義するには、Zabbixエージェントの設定ファイルに1行追加して、エージェントを再起動する必要があります。
ユーザパラメータの構文を以下に示します: UserParameter=key,command
| パラメータ | 説明 |
|---|---|
| キー | 一意なアイテムキー。 |
| コマンド | キーの値を評価するために実行するコマンド。 |
単純なコマンド
UserParameter=ping,echo 1
キー「ping」のとき、エージェントは常に「1」を返します。
複雑なコマンドの例
UserParameter=mysql.ping,mysqladmin -uroot ping|grep alive|wc –l
エージェントは、MySQLサーバが動作中なら「1」、それ以外なら「0」を返します。
引数付きユーザパラメータを使用すると、細かいコントロールが可能になり、柔軟性が高まります。
引数付きユーザパラメータを使用する構文を以下に示します。
UserParameter=key[*],command
| パラメータ | 説明 |
|---|---|
| キー | 一意なアイテムキー。[*]はこのキーがパラメータを受け取ることを定義します。 |
| コマンド | キーの値を評価するために実行するコマンド。 []の内容が解析され、コマンドの$1、…、$10と置き換えられます。 |
単純な引数付きパラメータ
UserParameter=ping[*],echo $1
ping[引数]という形式のアイテムを無制限に定義して監視することができます。
実用的な例
UserParameter=mysql.ping[*],mysqladmin –u$1 –p$2 ping|grep alive|wc –l
このパラメータを使用して、MySQLデータベースの可用性を監視できます。引数として、ユーザ名とパスワードを渡します。
mysql.ping[zabbix,our_password]
ファイル内で正規表現と一致する行数を求める例
UserParameter=wc[*],grep “$2” $1|wc -l
このパラメータを使用して、ファイル内の行数を計算できます。
wc[/etc/passwd,root] wc[/etc/services|zabbix]
トリガーは論理条件式として定義され、システム状態を表します。
トリガーのステータス(条件式)は、Zabbixサーバがこの条件式で使用されている値を新しく受信するたびに再計算されます。nodata()などの時間ベースの関数が条件式で使用される場合、30秒ごとに再計算されます。条件式に使用できる値を以下に示します。
| 値 | 説明 |
|---|---|
| 障害(PROBLEM) | 通常は、何かが発生したことを意味します。たとえば、プロセッサロードアベレージが非常に高い場合です。比較的古いバージョンのZabbixでは障害(TRUE)になります。 |
| 正常(OK) | 通常のトリガー状態です。比較的古いバージョンのZabbixでは正常(FALSE)になります。 |
| 不明 | この場合、Zabbixはトリガー条件式を評価できません。以下の原因が考えられます。 サーバから応答がない トリガー条件式を評価できない トリガー条件式が最近変更された |
トリガーで使用する条件式は非常に細かい指定も可能であり、監視する統計情報に関して複雑な論理テストを作成できます。トリガーでは以下の演算子がサポートされています(実行プライオリティの高い順)。
| プライオリティ | 演算子 | 定義 |
|---|---|---|
| 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 | | | 論理和 |
以下の関数がサポートされています。
| 関数 | 引数 | サポートされる値のタイプ | 定義 |
|---|---|---|---|
| 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,波t・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)
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より大きい場合にトリガーが障害になることを意味します。
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より大きい場合に障害になります。
/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などの重要なファイルの変更を監視できます。
誰かがインターネットから大きいサイズのファイルをダウンロードしていることを検出する条件式
min関数を使用します: {www.zabbix.com:net.if.in[eth0,bytes].min(300)}>100K この条件式は、直近5分間にeth0で受信したバイト数が100KBを超えた場合に障害になります。
クラスタ化された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サーバが停止した場合に障害になります。
Zabbixエージェントをアップグレードする必要があることを検出する条件式
str()関数を使用します: {zabbix.zabbix.com:agent.version.str(beta8)}=1 この条件式は、ZABBIXエージェントのバージョンがbeta8(おそらく1.0beta8)である場合に障害になります。
サーバとの疎通がなくなったことを検出する {zabbix.zabbix.com:status.last(0)}=2 <note>「status」は、指定されたホストに少なくとも1つの監視パラメータが存在する場合にのみ計算される特殊パラメータです。詳細については、「status」の説明を参照してください。
直近3分間で一度もハートビートを受信しなかったことを検出する条件式
nodata()を使用します: {zabbix.zabbix.com:tick.nodata(180)}=1 「tick」のタイプには「Zabbixトラッパー」を選択します。このトリガーを使用するには、アイテム「tick」を定義する必要があります。ホストはzabbix_senderを使用して、このパラメータのデータを定期的に送信する必要があります。180秒間データを受信しないと、トリガーの値が障害になります。
夜間の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)だけです。
トリガーの依存関係を使用して、トリガー間の関係を定義できます。
トリガーの依存関係は、複数のリソースをソースとするイベントが発生した場合に送信されるメッセージの数を制限できる便利な手段です。
たとえば、ホスト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のトリガーは更新されません。
トリガーの深刻度は、トリガーの重要性を定義します。サポートされているトリガーの深刻度を以下に示します。
| 深刻度 | 定義 | 色 |
|---|---|---|
| 未分類 | 不明な深刻度です。 | 灰色 |
| 情報 | 情報目的です。 | 明るい緑 |
| 警告 | 注意を促します。 | 明るい黄色 |
| 軽度の障害 | 軽度の障害が発生しています。 | 暗い赤 |
| 重度の障害 | 何らかの重大な障害が発生しています。 | 赤 |
| 致命的な障害 | 致命的な障害が発生しています。財務上の損失などが考えられます。 | 明るい赤 |
深刻度には以下の用途があります。
トリガーの状態ごとに異なるコンディションを設定する必要がある場合があります。たとえば、サーバ室の温度が20℃を超えたときに障害になり、その後は15℃を下回るまで障害を維持するトリガーを定義する場合を考えます。
この場合、以下のトリガーを定義します。
サーバ室の温度が高すぎる状態を検出する条件式
({TRIGGER.VALUE}=0&{server:temp.last(0)}>20)| ({TRIGGER.VALUE}=1&{server:temp.last(0)}>15) {TRIGGER.VALUE}の使用方法に注意してください。このマクロは現在のトリガー値を返します。
スクリーンに様々な情報をグループ化することによって、1枚のスクリーンで多くの情報に簡単にアクセスしたり、表示することができます。スクリーンビルダは使い勝手に優れており、簡単な操作で直観的にスクリーンを作成できます。
スクリーンは表形式で構成され、各セルに以下の項目を表示できます。
1枚のスクリーンに定義できる項目の数に制限はありません。
スライドショーは複数のスクリーンの集合であり、設定されている更新間隔に従って自動的にスクリーンを切り替えます。
| パラメータ | 説明 |
|---|---|
| 名前 | スライドショーの名前。 |
| 更新間隔(秒) | スクリーンを切り替えるデフォルトの間隔(秒単位)を指定します。 |
| スライド | 個々のスライド(スクリーン)のリスト。 |
| スクリーン | スクリーンの名前。 |
| 間隔 | 対応するスクリーンを表示する時間(秒単位)を指定します。0を設定すると、スライドショーの更新間隔を使用します。 |
スライドショー「ZABBIX administrators」
上記のスライドショーは2枚のスクリーンで構成され、以下の順序で表示されます。
Zabbix Server → 60秒間一時停止 → Zabbix Server2 → 30秒間一時停止 → Zabbix Server → 60秒間一時停止 → Zabbix Server2 → …
ITサービスは、インフラストラクチャを上位レベル(ビジネス)の視点で監視する必要があるユーザを対象としています。このようなユーザが必要としているのは、ディスク容量不足やプロセッサロードアベレージが高すぎるといった下位レベルの細かい項目ではなく、自社のIT部門が提供するサービスの可用性に関する情報です。その他にも、ITインフラストラクチャの弱点、各種のITサービスのSLA、既存のITインフラストラクチャの構造など、必要とされる上位レベルの情報は多岐に渡ります。
ZabbixのITサービスを使用すると、これらの情報を全て入手できます。
ITサービスは監視データを階層的に表現します。
非常に単純化したITサービス構造の例を以下に示します。
IT Service | |-Workstations | | | |-Workstation1 | | | |-Workstation2 | |-Servers
階層構造の各ノードには、ステータスが割り当てられます。ステータスは、選択したアルゴリズムに基づいて計算され、上位レベルに伝達されます。トリガーは、ITサービスの最下位レベルに位置します。[作成中…]
Zabbixユーザは、ウェブベースのウェブインタフェース経由でZabbixアプリケーションにアクセスします。各ユーザには一意なログイン名とパスワードが割り当てられます。ユーザパスワードは全て暗号化され、Zabbixデータベースに保存されます。ZABBIXのユーザIDとパスワードを使用してUNIXに直接ログインすることはできません。そのためには、ZABBIXのユーザIDとパスワードでログインできるようにUNIXで設定しておく必要があります。ウェブサーバとユーザが使用するブラウザの間の通信は、SSLで保護することが可能です。
メニューからスクリーンにアクセスするためのパーミッションは、ユーザごとに設定できます。デフォルトでは、Zabbixに登録した直後のユーザには、スクリーンに対する権限は一切付与されていません。
ユーザが30分間何も操作しないと、自動的に切断されます。
Zabbixで採用されているユーザ権限スキーマは柔軟性に優れ、単独のZabbixインストール内または分散環境におけるユーザ権限を効率的に管理できます。
パーミッションは、ホストグループレベルでユーザグループに対して付与されます。
Zabbixでは、様々な種類のユーザがサポートされ、種類別にユーザに付与する管理機能をコントロールします。
ユーザの種類を使用して、管理機能へのアクセスを定義したり、デフォルトパーミッションを指定します。
| ユーザの種類 | 説明 |
|---|---|
| Zabbixユーザ | この種類のユーザは[監視データ]メニューにアクセスできます。デフォルトでは、リソースに対するアクセス権は付与されていません。ホストグループに対する権限は、明示的に割り当てる必要があります。 |
| Zabbix管理者 | この種類のユーザは[監視データ]メニューと[設定]メニューにアクセスできます。デフォルトでは、ホストグループに対するアクセス権は付与されていません。ホストグループに対するパーミッションは、明示的に指定する必要があります。 |
| Zabbix特権管理者 | この種類のユーザは[監視データ]、[設定]、および[管理]の全てのメニューにアクセスできます。全てのホストグループに対して読み書き可能なアクセス権が付与されています。特定のホストグループへのアクセスを拒否することで権限を無効にすることはできません。 |
Zabbixキューには、更新待ちのアイテムが表示されます。キューは、データベースのデータを論理的に表現しているだけです。Zabbixには、IPCキューなどのキューメカニズムは存在しません。
キューで示される統計には、Zabbixサーバのパフォーマンスが反映されます。
スタンドアロンアプリケーションまたはマスターノードのキューには、更新待ちのアイテムが表示されます。
この図からは、タイプがZABBIXエージェントのアイテム3個が0~5秒間の更新待ちであること、およびZABBIXエージェント(アクティブ)のアイテム1個が5分以上待たされている(エージェントが停止している?)ことがわかります。子ノードについて表示されている情報は最新ではないことに注意してください。マスターノードがヒストリデータを受信する場合、一定の遅延(ノード間データ転送で通常は10秒間)が発生するので、その分古い情報が表示されます。
このスクリーンショットでは、子ノードで93個のアイテムが5分以上更新待ちになっていますが、これは以下の情報に依存しているので、信頼できる数字ではありません。
システムのスタートアップ/シャットダウンの際に、スクリプトを使用して自動的にZabbixプロセスを開始/停止することができます。
スクリプトは、ディレクトリmisc/init.dに置かれています。
SNMPトラップ受信用のスクリプトです。このスクリプトは、net-snmpパッケージに付属するsnmptrapdと一緒に使用する必要があります。
設定手順:
traphandle default /bin/bash /home/zabbix/bin/snmptrap.sh
Zabbixウェブインタフェースで複雑な正規表現を作成してテストするには、[管理] → [一般設定] → [正規表現]に移動します。
作成された正規表現は、正規表現がサポートされる場所であればどこでも@で始まる名前(@mycustomregexpなど)を参照して使用できます。
Zabbixの全ての正規表現は、高度なエディタによる作成や手動による入力を問わずPOSIX拡張正規表現を利用できます。
ウェブインタフェースの内容の多くはウェブインタフェース自体を使用して設定できますが、現在、一部のカスタマイズは定義ファイルの編集でしか行うことができません。この定義ファイルは、ウェブインタフェースディレクトリにあるinclude/defines.inc.phpです。このファイル内でユーザに関連のあるパラメータは以下の通りです:
トリガーの状態が障害から変わった後、トリガーがOK状態で表示される期間(秒単位)
トリガーの状態が変わってからトリガーが点滅する期間(秒単位)
デフォルトのグラフ期間(秒単位)。デフォルトは1時間
グラフの最小期間(秒単位)。デフォルトは1時間
グラフの最大期間(秒単位)。1.6.7以降ではデフォルトは2年、それ以前のバージョンでは1年
アイテムをカスタムグラフに追加する場合の簡単なグラフのY軸のデフォルト位置とドロップダウンボックスのデフォルト値。利用可能な値: 0 - 左、1 - 右
接尾辞を使用してZabbixトリガー条件式やアイテムキーを簡素化することができます。
以下の表は、Zabbixウェブインタフェースおよびサーバで利用可能な標準の乗数をまとめたものです。
| 1.8.2まで | 1.8.2での追加 | |
|---|---|---|
| サーバ | K (キロ) M (メガ) G (ギガ) | T (テラ) |
| ウェブインタフェース | K (キロ) M (メガ) G (ギガ) T (テラ) | P (ペタ) E (エクサ) Z (ゼタ) Y (ヨタ) |
バージョン1.8.2以降のZabbixでは、以下の時間関連の乗数を利用できます。
これらの乗数により、理解しやすく維持しやすい条件式を作成できます。たとえば、以下のような条件式があるとします。
{host:zabbix[proxy,zabbix_proxy,lastaccess]}>120 {host:system.uptime[].last()}<86400
この条件式を以下のように変更できます:
{host:zabbix[proxy,zabbix_proxy,lastaccess]}>2m {host:system.uptime.last()}<1d