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

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

bgproute
bgproute

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

[text]
#!/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
[/text]