Nedia What's up!

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

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


前回に続き今回もLuaスクリプト機能の利用を紹介します。これまでルータの状態を定期的にメールで通知したり、ネットワーク内にある特定のパソコンをpingで応答監視する設定を紹介しました。今回はルータに異常が発生した時に管理者へメールで通知するLuaスクリプトを紹介します。ルータの停止・故障は社内ネットワークに多大な影響を与えます。ルータの過負荷や設置場所の環境による熱暴走など事前に異常を感知することで障害を防いだり被害を最小限にとどめることが可能になります。

ネットワーク構成

今回のネットワーク構成は下記になります。
rtx1200-monitoring-1ルータの設定はパソコンからインターネットの閲覧やメールが利用できるようになっています。

ルータ設定内容

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

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

ルータ監視スクリプト

今回もヤマハのサイトで公開されているLuaスクリプトを利用させて頂きます。
今回のLuaスクリプトはルータの状態を定期的にチェックし異常を検知した時に管理者にメールで異常を検知したことを通知します。今回、状態をチェックする項目は下記になります。

  • CPU使用率
  • メモリ使用率
  • 筐体内温度
  • PPインターフェース回線使用率(送信負荷、受信負荷)
  • IPマスカレードで使用中のポート数

下記の内容をメモ帳にコピーして「rtx1200-monitoring.lua」のファイル名で保存します。

各項目について説明します。

41行目

ルータの状態をチェックする間隔を設定します。設定値は秒で設定します。上記は60秒に1回ルータの状態をチェックし数値に異常がないかチェックします。

44行目

CPUの使用率をチェックする時間を設定します。設定値は「5sec」「1min」「5min」の中から得選択します。「1min」では1分間に1回CPUの使用率をチェックします。

47行目

監視する相手先番号を指定します。ルータ設定の8行目に

と指定しているので「1」を設定します。

50行目

IP マスカレードの使用ポート数をチェックするため、IPマスカレードのNATディスクリプタ番号を指定します。ルータ設定の42行目に

と設定しているので「1」を設定します。

53行目から59行目

各状態のしきい値を設定します。ここで設定した数値を超えると管理者にメールで異常を通知します。

  • cpu・・・CPU使用率(%)
  • mem・・・メモリ使用率(%)
  • tmp・・・ルータの筐体温度(℃)
  • snd・・・PPインターフェース送信の負荷率(%)
  • rcv・・・PPインターフェース受信の負荷率(%)
  • nat・・・IPマスカレードの使用ポート数(%)

63行目

連続でしきい値を超えたら異常と判断する回数を設定します。ここでは1回でもしきい値を超えたら異常と判断したいため「1」を設定します。

66行目

しきい値が正常な値になった時にメールを通知するかしないかの設定になります。
「true」は正常な状態になった時に復旧メールを通知します。
「false」は正常な状態になった時に復旧メールを通知しません。

70行目から76行目

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

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

ファイルのアップロード

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

ルータ設定

TFTP接続を一時的に許可します。

パソコンからのアップロードコマンド

ルータのコンソールからファイルがアップロードされていることを確認します。

確認コマンド

rtx1200-monitoring-2

Luaスクリプトの実行

今回も時間指定でスクリプトを実行させます。

これでルータの監視が開始されます。

ルータからのメール

■メモリ使用率、ルータ筐体内温度のしきい値を小さくした時のメール通知内容
rtx1200-monitoring-3
■NATマスカレード使用数がしきい値を超えた時のメール通知内容
rtx1200-monitoring-4
■NATマスカレード使用数がしきい値より下がった時のメール復旧通知内容
rtx1200-monitoring-5
メール通知の内容は設定したしきい値を超えた項目・現在の数値・しきい値が記載されます。値が正常値になった時はしきい値より下がったという内容のメールが届きました。

まとめ

今回のLuaスクリプトを利用することでルータに異常が起きた際はすぐに検知することができます。特に筐体内温度などは実際ルータを直接触らないとわかならいことなので夏や通気性の良くないところへルータを設置している場合には非常に便利なLuaスクリプトになります。