2013年2月7日木曜日

Ciscoルータで tcl スクリプト監視の仕組み

Ciscoルータで、接続しているISDN回線に不具合があった場合に、検知してメール通知したり、バックアップ機へ切り替えるための仕組みです。

通常のインターフェースのように protocolダウンを検知したりできないので、ISDNのレイヤ1がダウンしたことをトリガーとして切り替えます。

DSUの障害なんかも、これで検知することができます。

このtclスクリプトでは、 show isdn status の状況を確認し、DEACTIVATED となった場合は、インターフェースのLAN側をシャットダウンし、HSRPでバックアップ機へ切替ます。


bri.tcl

-------------------------------------------------------

set int_out [ exec "show isdn status" ]
set check DEACTIVATED
foreach x $int_out {
if {[string equal $check $x]} {
ios_config "interface fastethernet 0" "shutdown"
}
}

-------------------------------------------------------

ISDNがACTIVE(回線がダウンしてなければ)であれば、そのまま。

ISDNがDOWN(DSU故障等)の場合は、ios_config でインターフェースシャットダウンを実行します。


次に、

tclスクリプトをFlashへコピーして、定期的に監視するためにkronで定期起動するように設定します。


kron 設定

-------------------------------------------------------

!
kron occurrence test_sche in 1 recurring
 policy-list bri_pol
!
kron policy-list bri_pol conditional
  cli tclsh flash:bri.tcl
!

-------------------------------------------------------

このkron設定では、最小値の1分毎にスクリプトを実行しています。



最後にISDNがダウンして切り替わったことをEEMを使ってメールで通知します。

メールサーバは 192.168.1.1 、 router@testdomain.local から admin@testdomain.local へ送信しています。


EEMイベント通知設定
-------------------------------------------------------

!
event manager applet EEM_test
 event syslog pattern "%ISDN-6-LAYER2DOWN: Layer 2 for Interface BR0, TEI 66 changed to down"
 action sendmail mail server "192.168.1.1" to "admin@testdomain.local" from "router@testdomain.local" subject "Router Alert - ISDN Down" body "Router Alert - ISDN DSU Down!"
!

------------------------------------------------------


0 件のコメント:

コメントを投稿