Zabbixで監視を行うにはテンプレートと呼ばれる機能を使用しますが、ある程度全体像を理解しておかないと設定時に??となりがちです。ただでさえ機能が豊富なZabbixで最低限の監視を行うために、必要だと思う用語や概要をこのページに纏めます。
テンプレートは監視に関わる情報を入れ込むための箱です。監視項目、値の取得方法や、障害と判断させるためのしきい値情報、グラフを生成するための情報など様々な情報が格納されています。またテンプレートの部品を、別のテンプレートの一部として利用することも可能です。概念が最初少しとっつきにくいので、例としてPostfixのプロセス監視をするテンプレートを作成する場合に最低限必要な各設定項目の関係性を纏めてみました。斜体は命名した設定項目の名前です。
設定項目
|
概要
|
アプリケーション
|
複数のアイテムから構成されます。(1つでももちろん可)。アプリケーションとありますが、これが何のアプリケーションのための監視なのか程度の情報を書いておけば良い項目です。
|
アイテム
|
かなり重要。1つ1つの監視項目を指す。アイテムを包括しているアプリケーションは右欄からわかる。アイテムの中にさらに細かい設定があるので詳しくは後述。キーで具体的にどんな値を取得するか決め、取得する手段をタイプで決める。
|
トリガー
|
アイテムで取得した結果に対して異常と判断させるための情報を定義する。
|
グラフ
|
アイテムで取得した結果をグラフとして表示できる。例えば、デフォルトテンプレートOS Linuxのロードアベレージのグラフは、3つのロードアベレージを取得するアイテムを組み合わせてグラフを生成している。
|
スクリーン
|
zabbixのグラフをグラフページから参照する時は、一度に1つのグラフしか参照できない。(え?)複数のグラフを一度に参照できるようにするときに利用する。というかそんな重要な機能こんなわかりにくい名前にすんなと思ったのは私だけじゃないはず。
|
ディスカバリルール
|
テンプレート管理を楽にする機能。条件を設定して、条件にマッチした場合に特定の監視項目を自動的に追加できる。
|
webシナリオ
|
WEB監視をする際に、このページURLを見て~このHTTPレスポンスコードが返ってきていることをチェックする、といったシナリオ設定をする場合に利用する。ポート監視やプロセス監視よりもサービスレイヤに近い形式でのチェックができる。
|
■名前
アイテムの名前を入力。
■タイプ
設定項目 |
チェック方法
|
Zabbixエージェント
|
クライアントにzabbixエージェントが必要。
データ収集は「サーバ」 → 「クライアント」
|
Zabbixエージェント(アクティブ)
|
クライアントにzabbixエージェントが必要。
データ収集は「クライアント」 → 「サーバ」
|
シンプルチェック
|
クライアントにzabbixエージェントは不要。(ICMP,TCP,UDPを利用)
サーバ → クライアント
チェック対象ホストにエージェントのインストールは不要。
|
SNMPv xx チェック
|
SNMPプロトコルを利用する。
|
外部チェック
|
外部スクリプトを利用してチェックできる。
|
■キー
▽zabbixエージェント
net.dns | 監視対象にてリゾルバが正常に名前解決ができる状態か |
net.tcp.port | 監視対象から指定したホスト:ポートにTCP接続できるか |
net.udp.listen | 監視対象がTCP xxポートをリッスンしているか |
net.tcp.listen | 監視対象がTCP xxポートをリッスンしているか |
system.cpu.load | 監視対象のロードアベレージはいくつか |
proc.num | 監視対象上で指定したプロセスがいくつ存在するか |
▽シンプルチェック
icmpping | Pingの応答があるかをチェックする。 |
icmppingloss | Pingのパケットロスをチェックする。 |
net.tcp.service | TCP xx Portに接続が可能かをチェックする。 |
▽SNMPチェック
SNMPの仕組みを利用した値の取得方法なので、SNMPにOIDさえ準備されていれば、豊富な種類のデータを収集できます。SNMPを用いた監視はZabbix独自のものではないので割愛します。
■値のマッピング
ちょっと理解があやしいかも。視覚性を高めるために利用します。キーで指定した値を定期的に取得するが、どの数値がどのような状態になるのかを指定できる。例えば、下記のCheck PingはICMPチェックで応答ありなら1、なしなら0と値を取得するのだが、マッピングを使って、0=Down、1=UPと定義している。0だけだとOKなのかNGなのか判断しずらいが、マッピングしておくことで追加的な情報を表示できる。
トリガーでは、Zabbixが取得する値がこうなったら障害!と条件式を利用して定義をすることが可能です。
条件式の書式: {<server>:<key>.<function>(<parameter>)}<operator><constant> |
icmpping.last(0)=0
|
ping実行し一回でもラーの場合、 障害と判断
|
icmpping.max(#3)=0 |
3回分のping実行がエラーの場合、障害と判断
|
icmppingsec.max(60)=0 |
一定期間(60秒)でpingがタイムアウトしたとき、障害と判断
|
ここらへんまでをおさえておけば設定は特に?とならずに進めることができるのではないでしょうか!以上です。
Copyright © 2021 たぐたぐ.com. All rights reserved.