はじめに
こんにちは。あやかです。
家庭内ネットワークの監視環境を整えているとき、ふと気づいたことがあります。 市販の無線LANルーターって、SNMPに対応していないものが多いんですよね。
業務用のルーターやスイッチならSNMPで細かく監視できるんですが、家庭用の機器はそうもいかない。 でも、死活監視くらいはしておきたい。
そこで今回は、SNMPに対応していない機器をZabbixから監視する方法を試してみました。 使ったのは、PingとHTTPによる死活監視です。
なぜPingとHTTPの2方式なのか
「Pingだけじゃダメなの?」と思うかもしれませんが、実はPingだけだと不十分なケースがあるんです。
例えば、ルーターのICMP応答は生きているのに、Web管理画面が落ちている状況。 こういう場合、Pingだけだと「正常」と判断されてしまいます。
逆に、HTTPだけで監視していると、ネットワーク全体が落ちているのか、それともHTTPサービスだけの問題なのか判別しづらい。
だから、PingとHTTPの両方で監視することで、より正確に状態を把握できるようにしました。
監視対象機器
今回監視しているのは、以下の3台です。
- NECのAtermシリーズ: 2台(無線LANルーター)
- NTTひかり電話ルーター: 1台(有線ルーター)
どれもSNMPには対応していないので、今回の方法が活躍します。
設定の流れ
設定自体はシンプルです。 大まかな流れはこんな感じ。
- Zabbixでホストを追加
- テンプレートは選択しない
- アイテムを手動で作成
テンプレートを使わないのがポイントです。 SNMPに対応していない機器なので、既存のテンプレートは使えません。
アイテムの作成とキーの詳細
ここからが本題です。 アイテムを手動で作成する際、キーの指定が重要になります。
HTTP監視のキー
HTTP監視には、以下のキーを使います。
net.tcp.service.perf[http,192.168.123.123,]
このキーの形式は以下の通りです。
net.tcp.service.perf[service,<ip>,<port>]
- service: 監視するサービスの種類(今回は
http) - ip: 監視対象機器のIPアドレス
- port: ポート番号(省略すると、サービスごとのデフォルトポートが使用される)
HTTPの場合、ポートを省略すると80番ポートが使われます。
もしHTTPS(443番)で監視したい場合は、サービスをhttpsに変更するか、ポート番号を明示的に指定します。
Ping監視のキー
Ping監視には、以下のキーを使います。
icmppingsec[192.168.123.123,,,,,,]
このキーの形式は以下の通りです。
icmppingsec[<target>,<packets>,<interval>,<size>,<timeout>,<mode>]
- target: 監視対象機器のIPアドレス
- packets: 送信するパケット数(省略時はデフォルト値)
- interval: パケット送信間隔(省略時はデフォルト値)
- size: パケットサイズ(省略時はデフォルト値)
- timeout: タイムアウト時間(省略時はデフォルト値)
- mode: 動作モード(省略時はデフォルト値)
今回はすべてデフォルト値を使っているので、カンマだけが並んでいます。 必要に応じて、パケット数やタイムアウト時間を調整することも可能です。
パラメータの詳細について
各パラメータの詳しい意味や使い方については、Zabbixの公式マニュアルを参照してください。
マニュアルには、より細かい設定方法や、他のサービスを監視する方法も記載されています。
アイテムの単位設定
重要なポイントとして、これらのアイテムは応答時間を秒単位の浮動小数点数で返します。
例えば、100msの応答時間は0.1、1秒の応答時間は1.0として記録されます。
アイテム作成時に単位を「s」(秒)に設定しておくと、グラフや最新データの画面で見やすく表示されます。
トリガーの設定
アイテムを作成したら、トリガーも設定しておきます。 トリガーは、「どういう状態になったら障害と判断するか」を定義するものです。
今回は、以下のようなトリガーを設定しました。
- HTTP監視: 応答時間が1秒以上になった場合に障害と判断
- Ping監視: 応答時間が1秒以上になった場合に障害と判断
これにより、ルーターの応答が遅くなったときに、すぐに気づけるようになります。
トリガーの条件式は、以下のような形になります。
last(/ホスト名/アイテムキー)>=1
アイテムの戻り値が秒単位なので、>=1は「1秒以上」という意味になります。
もし500ms(0.5秒)を閾値にしたい場合は、>=0.5とします。
実際の動作確認
設定後、しばらく待つとデータの取得が始まります。 Zabbixの「最新データ」画面で、PingとHTTPの応答時間が表示されるようになります。
単位を「s」に設定しているので、応答時間が秒単位で分かりやすく表示されます。 グラフで応答時間の推移を確認できるので、ネットワークの状態を視覚的に把握できます。
おわりに
SNMPに対応していない機器でも、PingとHTTPを組み合わせることで、十分に死活監視ができることが分かりました。
家庭用のルーターやアクセスポイントは、SNMPに対応していないことが多いですが、この方法なら問題なく監視できます。 設定も難しくないので、Zabbixで家庭内ネットワークを監視している方は、ぜひ試してみてください。