ネットワークエンジニア系ブログ。エンターテイメント、おすすめ映画、本、キッズ系などお役立ち情報を紹介!

GOISBLOG

サーバー技術

CentOSでLookingGlassをインストールとshowコマンドが出力できるように改造する

投稿日:2014年5月30日 更新日:

ネットワーク上にある各NW機器のステータスをチェックできるWebサーバーです。
pingやtracerouteなどの一般的なコマンドの出力結果をブラウザ上で確認ができ、BGPでのASパスやルートの確認としても使うことができます。

一般では、該当のWebサーバーから自分のパソコンまでのネットワークの状態を確認することで活用されます。

LookingGlassを改造してコマンドを増やす

そんなLookingGlassですが、今回はインストール後にちょいと改造して、インターフェースやCPUの確認もできるように設定します。
LookingGlass自体はインストールが終われば、すぐに使えます。

lg

スポンサーリンク


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 TYPE="radio" NAME="query" VALUE="bgp"></TD><TD>&nbsp;bgp</TD></TR>
<TR><TD><INPUT TYPE="radio" NAME="query" VALUE="advertised-routes"></TD><TD>&nbsp;bgp&nbsp;advertised-routes</TD></TR>
<TR><TD><INPUT TYPE="radio" NAME="query" VALUE="summary"></TD><TD>&nbsp;bgp&nbsp;summary</TD></TR>
<TR><TD><INPUT TYPE="radio" NAME="query" VALUE="ping"></TD><TD>&nbsp;ping</TD></TR>
<TR><TD><INPUT TYPE="radio" NAME="query" VALUE="trace" CHECKED></TD><TD>&nbsp;trace</TD></TR>
<TR><TD><INPUT TYPE="radio" NAME="query" VALUE="interface"></TD><TD>&nbsp;interface</TD></TR>		#インターフェース追加
<TR><TD><INPUT TYPE="radio" NAME="query" VALUE="cpu"></TD><TD>&nbsp;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”をクリックするだけでブラウザに出力結果が表示されます。

lg1-1

※ブラウザで”show process cpu”を出力した例
lg2

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

ネットワーク機器最強監視ツール【RANCID】

【RANCID】NW機器コンフィグ差分管理ツールをインストール

この記事が気に入ったら
いいね!しよう

Twitter で
スポンサーリンク

-サーバー技術
-,

Copyright© GOISBLOG , 2016 AllRights Reserved.