Nedia What's up!

ネディアのエンジニアによるIT技術やサービスの紹介・検証などをお届け!

YAMAHAルータの実機・検証 第18回 Luaスクリプト機能を利用しよう 3

前回までのLuaスクリプト機能を利用した記事ではSYSLOGに履歴を出力したりルータの状態を把握するため定期的にメールを通知する機能を紹介しました。
今回は指定したIPアドレスをpingで応答監視し、異常が発生した場合は管理者へメールで通知する実践的なLuaスクリプトを紹介します。

ネットワーク構成

今回のネットワーク構成は下記になります。
host-monitoring-1監視対象のパソコンのIPアドレスは「192.168.0.10」になります。

ルータ設定内容

今回利用するRTX1200の設定内容です。

前回と同じインターネットに接続する一般的な設定になります。

パソコンの監視 スクリプト

今回もヤマハのサイトで公開されているLuaスクリプトを利用させて頂きます。

今回のLauスクリプトは定期的にルータから監視対象のパソコンにpingで応答確認を行います。応答がなくなった場合は管理者へ障害発生をメールで通知します。また、pingの応答が復旧した場合も管理者へ復旧したことをメールで通知するLuaスクリプトになります。
下記の内容をメモ帳にコピーして「host-monitoring.lua」のファイル名で保存します。

必要な修正箇所は下記になります。

36行目

ここではpingで応答確認を行う監視間隔を設定します。設定値は秒で設定します。上記は30秒に1回pingの応答確認を行います。

39行目

pingで応答確認を行う宛先IPアドレスを指定します。

42行目

pingの応答がなかったり、応答が復旧したと判断する連続回数を設定します。ここの設定は36行目の監視間隔と関わりがあります。
例えば・・・
■設定例1 監視間隔=30、連続回数=1
30秒に1回pingで応答確認を行い1回でも応答がなかったらメールで通知します。
■設定例2 監視間隔=60、連続回数=2
60秒に1回pingで応答確認を行い2回連続で応答がなかったらメールで通知します。

45行目

pingの応答が復旧した時にメールを通知するかしないかの設定になります。
「true」はping応答が復旧した時に復旧メールを通知します。
「false」はping応答が復旧しても復旧メールは通知しません。

49行目から55行目

メールを送信するための設定になります。
SubmissionポートやSMTP認証が必要な場合は上記設定が必須になります。

ファイルのアップロードから実行まで

ファイルアップロード

ファイルのアップロードは前回紹介したTFTPコマンドを利用してファイルをルータへアップロードしました。

アップロードコマンド

結果
host-monitoring-2
ルータのコンソールからファイルがアップロードされているか確認します。

確認コマンド

host-monitoring-3

Luaスクリプトの実行

今回も前回と同様に時間指定で15時25分にスクリプトが実行されるように設定します。

これで監視対象パソコンに対してping応答監視が始まります。

ルータからのメール

■監視対象パソコンのLANケーブルを抜いてping応答がなくなった時のメール通知内容
host-monitoring-4
■抜いたLANケーブルを監視対象パソコンに接続しping応答が復旧した時のメール通知
host-monitoring-5
ルータから監視対象パソコンへの通信断、復旧時のメールがちゃんと届きました。

まとめ

今回のLuaスクリプトを利用することで社内に設置してあるNASや業務システムがインストールされているパソコン・サーバなどに対して、いち早く障害や異常を検知することができます。復旧した時にもメールが届くので一時的な通信不通でも復旧したことが確認できるので管理者としてはとても助かるスクリプトになります。