CactiでBGPの経路数を監視してみた

IHANet network
Published: 2012-05-24

 「LookingGrassを作ったし、あとは経路数のモニタリングだよなー」という事で、Cactiを使ってモニタリングを始めました。ゆくゆくはブログのサイドバーに仕込みたいです。

bgproute

bgproute

 Cisco892Jのshow ipv6 route summryで出力されるBGPのネットワーク数をグラフにしています。IPv6のBGP経路数を直接取得できるOIDが見つからなかったため、下記のスクリプトを利用して経路数をCactiに渡しています。ルータにtelnetしてコマンド直打ち⇒必要な部分だけ正規表現で抽出という感じです。

#!/usr/local/bin/ruby

require 'net/telnet'

@router = "IPAddress"
@user = "Username"
@password = "password"
@prompt = "Router>"

tn  = Net::Telnet::new("Host" => @router, "Timeout" => 5)
tn.cmd("String" => "#{@user}","Match"=>/^Password/) 
tn.cmd("String" => "#{@password}","Match"=>/^#{@prompt}/) 
tn.cmd("String" => "ter len 0","Match"=>/^#{@prompt}/) 
@result = tn.cmd("String" => "show ipv6 route summary | inc bgp","Match"=>/^#{@prompt}/)
tn.puts("exit") 
tn.close

/64585 +[0-9]+ / =~ @result
@result = $&.gsub(/64585 +/,"")
@result = @result.gsub(/ /,"")
print @result