ネットワーク上にある各NW機器のステータスをチェックできるWebサーバーです。
pingやtracerouteなどの一般的なコマンドの出力結果をブラウザ上で確認ができ、BGPでのASパスやルートの確認としても使うことができます。
一般では、該当のWebサーバーから自分のパソコンまでのネットワークの状態を確認することで活用されます。
LookingGlassを改造してコマンドを増やす
そんなLookingGlassですが、今回はインストール後にちょいと改造して、インターフェースやCPUの確認もできるように設定します。
LookingGlass自体はインストールが終われば、すぐに使えます。
LG looking glassをインストール実施
設定前にiptablesにて23,2601,2605,80のポートを開けておくようにしてください。(どっかのサイトで書いてあった。)
そいでもって、以下でyumインストールを実施します。
# yum install wget perl-Net-Telnet perl-Net-Telnet-Cisco perl-XML-Parser httpd Installed: perl-Net-Telnet.noarch 0:3.03-11.el6 Updated: wget.x86_64 0:1.12-1.11.el6_5 Complete! #
lgをインストール後、該当ファイルを”/var/www/html/lg”配下へコピーします。
# cd /var/www/html/lg # cp /root/lg-1.9/lg.cgi . # cp /root/lg-1.9/favicon.ico . # cp /root/lg-1.9/lg.conf . [root@t-bobo011 lg]# ll -rw-r--r-- 1 root root 1406 2月 26 19:47 2014 favicon.ico -rw-r--r-- 1 root root 380 1月 9 18:38 2014 index.html -rwxr-xr-x 1 root root 37221 2月 28 18:42 2014 lg.cgi -rw-r--r-- 1 root root 15181 3月 3 11:59 2014 lg.conf -rw-r--r-- 1 root root 1063 1月 9 18:56 2014 menu.html -rw-r--r-- 1 root root 447 1月 9 18:39 2014 subtop.html -rw-r--r-- 1 root root 379 1月 9 18:38 2014 top.html
後は、以下のURLへアクセスすればLookingGlassの画面が表示されます。
https://該当のIPアドレス/lg/index.html
lg.confファイルの設定
それでは、LookingGlassでPingやtraceroute以外のshowコマンドで出力するようにファイルを改造していきます。
今回は、”show interface”と”show process cpu”を出力できるように改造します。
まずは、”lg.conf”ファイルで対象の機器のホスト名および、ログインとパスワードを設定します。
# vi lg.conf
<!-- Test CISCO Router Section -->
<Separator>Sample Routers </Separator>
<Router Name="test011">
<Title>test011</Title>
<URL>telnet://login:12345@10.1.10.123</URL> #telnetログインとパスワードを記入
<!--EXAMPLE <URL>telnet://login:123456@192.168.1.1</URL> -->
</Router>
<Router Name="Router-2">
<Title>Router-2</Title>
<URL>telnet://login:password@routerIP</URL>
</Router>
<Router Name="Router-3">
<Title>Router-3</Title>
<URL>telnet://login:password@routerIP</URL>
</Router>
lg.cgiファイルの設定
lg.cgiファイルで、20-21行目、37-38行目を追記します。
# vi lg.cgi
sub print_form {
print <<EOT;
<FORM METHOD="$httpmethod" ACTION="$lgurl">
<CENTER>
<TABLE BORDER=0 BGCOLOR="#EFEFEF"><TR><TD>
<TABLE BORDER=0 CELLPADDING=2 CELLSPACING=2>
<TR>
<TH BGCOLOR="#000000" NOWRAP><FONT COLOR="#FFFFFF">Type of Query</FONT></TH>
<TH BGCOLOR="#000000" NOWRAP><FONT COLOR="#FFFFFF">Additional parameters</FONT></th>
<TH BGCOLOR="#000000" NOWRAP><FONT COLOR="#FFFFFF">Node</FONT></TH></TR>
<TR><TD>
<TABLE BORDER=0 CELLPADDING=2 CELLSPACING=2>
<TR><TD><INPUT ENGINE="radio" NAME="query" VALUE="bgp"></TD><TD> bgp</TD></TR>
<TR><TD><INPUT ENGINE="radio" NAME="query" VALUE="advertised-routes"></TD><TD> bgp advertised-routes</TD></TR>
<TR><TD><INPUT ENGINE="radio" NAME="query" VALUE="summary"></TD><TD> bgp summary</TD></TR>
<TR><TD><INPUT ENGINE="radio" NAME="query" VALUE="ping"></TD><TD> ping</TD></TR>
<TR><TD><INPUT ENGINE="radio" NAME="query" VALUE="trace" CHECKED></TD><TD> trace</TD></TR>
<TR><TD><INPUT ENGINE="radio" NAME="query" VALUE="interface"></TD><TD> interface</TD></TR> #インターフェース追加
<TR><TD><INPUT ENGINE="radio" NAME="query" VALUE="cpu"></TD><TD> cpu</TD></TR> #CPU追加
EOT
---------------------
my %valid_query = (
"ios" => {
"ipv4" => {
"bgp" => "show ip bgp %s",
"advertised-routes" => "show ip bgp neighbors %s advertised-routes",
"summary" => "show ip bgp summary",
"ping" => "ping %s",
"trace" => "traceroute %s",
"interface" => "show ip interface brief", #インターフェースコマンド
"cpu" => "show proc cpu" #CPU確認コマンド
},
"ipv6" => {
"bgp" => "show bgp ipv6 %s",
"advertised-routes" => "show bgp ipv6 neighbors %s advertised-routes",
"summary" => "show bgp ipv6 summary",
"ping" => "ping ipv6 %s",
"trace" => "traceroute ipv6 %s"
}
},
設定が完了すれば、ブラウザを更新すると、新しく”interface”と”cpu”の項目が追加されます。
後は、どの機器で、interfaceやcpuの情報が見たいかをチェックして”Submit”をクリックするだけでブラウザに出力結果が表示されます。
※ブラウザで”show process cpu”を出力した例

ちなみに”show running-config”ですが、enableモードでないとコマンドは反映されないので、LookingGlassで出力はできません。
もっと詳細な情報をブラウザで管理されたい方は”rancid”をお勧めします。


以上です。

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。



コメント