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