YAMAHAルーターLuaスクリプトによる定期状態メール通知
Luaスクリプトの使えるYAMAHAルーターで、定期的なハードウェア状態のメール通知の設定手順を掲載。
Luaスクリプトを使ったYAMAHAルーターからのメール通知設定手順のおおまかな流れは、、、
と、結構シンプルです。
【ルーター情報】
IP : 192.168.1.254
ルーターのadministratorパスワード : xyzxyz
【送信メールサーバー情報】
SMTPサーバー
smtp.xxx.com (IPアドレスでも可能)
ポート
25
LOGIN(SMTP-AUTH)
使用しない
送信者
abc@xxx.com
受信者
cde@yyy.co.jp
【Luaスクリプト保存場所】
C:\script\ShowEnvironment.lua
※ 必ずShift-JIS形式で編集!!
【定期ハードウェア状態メール通知Luaスクリプト】
下記のLuaスクリプトを「ShowEnvironment.lua」という名前で保存
※ 必ずShift-JIS形式で編集&保存すること!!
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-- ##### 定期ハードウェア状態メール通知Luaスクリプト #####
--------------------------## 変数の代入 ##--------------------------------
-- ルーター名
rtname = "(RTX810)"
-- "show environment"結果を通知する
cmd = "show environment"
-- メールの設定
mail_tbl = {
smtp_address = "smtp.xxx.com",
from = "abc@xxx.com",
to = "cde@yyy.co.jp",
subject = rtname .. " " ..cmd .. "実行結果通知"
}
-- メールの送信に失敗した時に出力する SYSLOG のレベル (info, debug, notice)
log_level = "(info)"
----------------------## 変数の代入ここまで ##----------------------------
------------------------------------------------------------
-- メインルーチン --
------------------------------------------------------------
local rtn, str
rtn, str = rt.command(cmd)
if rtn and str then
mail_tbl.text = rtname .. " " .. cmd .. "の実行結果\r\n\r\n" .. str
rt.mail(mail_tbl)
end
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
【YAMAHAルーターへの設定1】
# tftp host any
// TFTPサーバーの接続許可設定
# syslog info on
// Luaスクリプトが動いているかの確認のためにsyslogにログを残す設定
# make directory /dir1
// Luaスクリプトを保存するためのディレクトリ作成
# show file list /all
// 作成したディレクトリの確認
【TFTPでのYAMAHAルーターへの転送】
Windows標準のTFTPクライアントを使用。
※TFTPクライアントの利用設定方法は下記
http://symfoware.blog68.fc2.com/blog-entry-751.html
ルーター本体の内蔵フラッシュROMのRTFS領域へ転送して保存します。
※RTFSについて
http://www.rtpro.yamaha.co.jp/RT/docs/rtfs/index.html
コマンドプロンプトより、
# cd C:\script
// Luaスクリプト保存フォルダへ移動
# tftp 192.168.1.254 put ShowEnvironment.lua /dir1/ShowEnvironment.lua/xyzxyz
YAMAHAルーターのコンソールより、
# show file list /all
コマンドにてアップロードされているか確認。
【YAMAHAルーターへの設定2】
YAMAHAルーターのコンソールより、Luaスクリプトをスケジュール実行させるように設定する。
※時間指定で実行させるには、
# schedule at 1 08:50:00 * lua /dir1/ShowEnvironment.lua
# schedule at 2 09:00:00 * lua /dir1/ShowEnvironment.lua
# schedule at 3 09:10:00 * lua /dir1/ShowEnvironment.lua
※時間指定で毎分実行させるには、
# schedule at 1 08:*:00 * lua /dir1/ShowEnvironment.lua
# schedule at 2 09:*:00 * lua /dir1/ShowEnvironment.lua
【不要になったLuaスクリプト実行ファイル削除】
YAMAHAルーターのコンソールより、保存したディレクトリごと削除
# delete /dir1
# show file list /all
メール送信については、587ポート、SMTP-AUTH認証、POP before SMTPなどの指定できるみたい。使うメールサーバーの仕様に沿ってLuaスクリプトの変数部分を追加する必要があります。下記URLを参考に頑張ってみて下さい。
Lua言語のライブラリ関数(rt.mail)
http://www.rtpro.yamaha.co.jp/RT/docs/lua/tutorial/library.html#rt.mail
(参考サイト)
Luaスクリプト導入マニュアル
http://jp.yamaha.com/products/network/solution/lua/script/manual/#map_trouble
ルーターの状態を報告する
http://jp.yamaha.com/products/network/solution/lua/script/alert/