今回は、Zabbixエージェントをインストールしなくても(エージェントレス)できる監視の中でも、シンプルチェックによる死活監視とポート監視についてご紹介します。
特にICMPプロトコルを用いたのエコー要求・応答による死活監視(Ping監視)は、どのサーバーにも必ずと言っていいほど導入されています。
様々なエージェントレス監視
Zabbixと言えば、監視対象のサーバーにZabbixエージェントをインストールして、様々な監視を行うのが一般的ですが、Zabbixエージェントのインストールが不要、つまり、エージェントレスでも監視可能なアイテムタイプはシンプルチェック以外にも多くあります。
エージェントレス監視でよく使用する代表的なアイテムタイプは、以下の6つではないでしょうか。
特にSNMP監視はネットワーク機器やハードウェアの監視によく使われていますね。
その他も含めて、この辺りは今後ご紹介していきたいと思います。
シンプルチェックの監視設定
それでは、今回のテーマであるシンプルチェックでの監視設定をします。
Zabbix 6.0のテンプレートと以下のZabbixの公式サイト参考にしながら、死活監視とポート監視の2部構成で設定していきます。
ICMP Pingによる死活監視
死活監視(Ping監視)には、[icmpping]のアイテムキーを使用します。
シンプルチェックによる監視設定は、特に複雑な知識も必要なく、その名の通りシンプルです。
それでは、アイテムとトリガーを設定していきましょう!
死活監視のアイテム設定
まずは、監視データを取得するためのアイテムの設定を行います。
死活監視(Ping監視)で使用する[icmpping]のアイテムキーは以下の通りです。
1 |
icmpping[<target>,<packets>,<interval>,<size>,<timeout>] |
[icmpping]のパラメーターは複数用意されていますが、全て任意なので設定しなくてもデフォルトで問題ありません。
値のマッピングは必須ではありませんが、[最新データ]で状態を確認する際に見やすくなります。
設定項目 | 設定値 | 説明・注意点 |
---|---|---|
名前 | <死活監視> | (任意の名前) |
タイプ | シンプルチェック | シンプルチェック特有のキーを使用 |
キー | icmpping | パラメーターが全て任意。デフォルトならこれでOK |
データ型 | 数値(整数) | 0・・・失敗 1・・・成功 |
監視間隔 | 1m | 任意の監視間隔だが、深刻度が高いので短めに |
値のマッピング | Service State | 0・・・Down 1・・・Up |
パラメーターのデフォルト値は、予めZabbix社がよく考えて良い感じに設定してくれています。
個人的には特に変更することはないと思っています。
パラメータ | 単位 | 説明 | デフォルト値 | 最小 | 最大 |
---|---|---|---|---|---|
パケット | 番号 | ターゲットへの要求パケットの数 | 3 | 1 | 10000 |
間隔 | ミリ秒 | 連続するパケット間で待機する時間 | 1000 | 20 | 無制限 |
サイズ | バイト | バイト単位のパケットサイズ x86では56バイト、x86_64では68バイト | 56または68 | 24 | 65507 |
タイムアウト | ミリ秒 | fpingv3.x-最後のパケットが送信された後に待機するタイムアウト。- Cフラグの影響を受けます。fpingv4.x-各パケットの個別のタイムアウト | fping v3.x -500 fping v4.x –pフラグから継承されますが、2000以下 | 50 | 無制限 |
死活監視(Ping監視)のアイテム設定は以上です。
死活監視のトリガー設定
続いてはトリガーの設定ですが、こちらもとてもシンプルです。
監視データの結果として[0]か[1]が返ってきますので、その値で障害を判定しますが、誤検知の可能性を加味し、max()トリガー関数を使用して連続で失敗した場合に障害とします。
設定項目 | 設定値 | 説明・注意点 |
---|---|---|
名前 | ICMP Pingは {HOST.NAME} で使用できません | 障害イベントが発生した際に一目でわかりやすい名前にしましょう |
深刻度 | <重度の障害> | (任意の深刻度) |
条件式 | max(/Template Module ICMP Ping/icmpping,#3)=0 | 3回連続で[0](失敗)を検知したら障害イベントが発生する |
これで死活監視の設定は全て完了です!
SSHのポート監視
次は、SSHのポート監視のアイテム設定を行います。
こちらもアイテムとトリガーの設定を分けて説明していきます。
ポート監視では、[net.tcp.service]のアイテムキーを使用して、サービス名かポートを指定します。
ポート監視のアイテム設定
[net.tcp.service]アイテムキーのパラメーターは[service]のみ必須で、サービス名を指定します。
後ほど説明しますが、サービス名でなくてもポート番号で監視することも可能です。
1 |
net.tcp.service[service,<ip>,<port>] |
[net.tcp.service]アイテムキーのパラメーターの[service]に設定するサービス名は予め決められていて、使用できるサービス名とデフォルトのポートは、Zabbixの公式サイトに詳しく掲載されています。
ただし、今回はSSHのポート監視ということで、[service]パラメータには[ssh]となります。
ポートはSSHのデフォルトの22番ポートになります。
設定項目 | 設定値 | 説明・注意点 |
---|---|---|
名前 | <ポート監視(SSH)> | (任意の名前) |
タイプ | シンプルチェック | シンプルチェック特有のキーを使用 |
キー | net.tcp.service[ssh] | パラメーターが全て任意。デフォルトならこれでOK |
データ型 | 数値(整数) | 0・・・失敗 1・・・成功 |
監視間隔 | 1m | (任意の監視間隔) |
値のマッピング | Service State | 0・・・Down 1・・・Up |
ポート番号を変更したい場合は、[port]パラメーターにポート番号を設定します。
また、サービス名が用意されていない場合は、[service]に[tcp]、[port]に[ポート番号]を設定します。
例として、Zabbixエージェントのポート監視をする場合は以下のようになります。
1 |
net.tcp.service[tcp,<ip>,10050] |
ポート監視のトリガー設定
SSHのポート監視のトリガー設定は、先程の死活監視と全く同じものになりますので、細かい説明は割愛させていただきます。
設定項目 | 設定値 | 説明・注意点 |
---|---|---|
名前 | SSHサービスが {HOST.NAME} でダウンしています | 障害イベントが発生した際に一目でわかりやすい名前にしましょう |
深刻度 | <軽度の障害> | (任意の深刻度) |
条件式 | max(/Template App SSH Service/net.tcp.service[ssh],#3)=0 | 3回連続で[0](失敗)を検知したら障害イベントが発生する |
今回紹介するZabbixのシンプルチェックは以上になります!
お疲れ様でした!
コメント