先日より、自宅環境の監視で統合監視ツールを入れてみようと色々と調べていたのだが、Nagiosのアドオンにラック構成や地理情報に関するマップ、グラフを生成、可視化出来る『Nagvis』というものがあるようなので、使ってみることにした。こちらのスクリーンショットをみる限り、結構キレイに色々な情報を整理できるツールのようだ。
今回は、先日NagiosをインストールしたCentOS 7環境に対し、このアドオンを導入、実際に使ってみる事にする。
1.Nagvisのインストール
それでは、Nagiosのインストールされた環境に対し、以下のコマンドを実行し前提となるパッケージとNagvisをインストールする。
まだNagiosをインストールしていない場合は、こちらを参考にインストールしてもらいたい。
まずは、以下のコマンドで前提となるNagiosのアドオンやパッケージを導入する。
yum -y install php-mbstring php-pdo graphviz php-gd gcc-c++ rsync wget
mkdir -p /usr/local/src/nagios/
cd /usr/local/src/nagios/
wget http://mathias-kettner.com/download/mk-livestatus-1.2.5i6p4.tar.gz -O mk-livestatus.tar.gz
tar zxvf mk-livestatus.tar.gz
cd mk-livestatus-*
./configure --with-nagios4 && make && make install
cd
次に、Nagiosの設定を変更し、reloadさせる。
sed -i.bk '/^event_broker_options/i broker_module=\/usr\/local\/lib\/mk-livestatus\/livestatus.o \/usr\/local\/nagios\/var\/rw\/live' /usr/local/nagios/etc/nagios.cfg
/etc/init.d/nagios reload
設定がreloadされたら、Nagvisをインストールする。
wget http://www.nagvis.org/share/nagvis-1.8.5.tar.gz
tar zxfv nagvis-1.8.5.tar.gz
cd nagvis-*
./install.sh -n /usr/local/nagios -p /usr/local/nagvis -l "unix:/usr/local/nagios/var/rw/live" -b mklivestatus -u apache -g apache -w /etc/httpd/conf.d -a y
[root@BS-PUB-MONITOR-02 nagvis-1.8.5]# ./install.sh -n /usr/local/nagios -p /usr/local/nagvis -l "unix:/usr/local/nagios/var/rw/live" -b mklivestatus -u apache -g apache -w /etc/httpd/conf.d -a y
+------------------------------------------------------------------------------+
| Welcome to NagVis Installer 1.8.5 |
+------------------------------------------------------------------------------+
| This script is built to facilitate the NagVis installation and update |
| procedure for you. The installer has been tested on the following systems: |
| - Debian, since Etch (4.0) |
| - Ubuntu, since Hardy (8.04) |
| - SuSE Linux Enterprise Server 10 and 11 |
| |
| Similar distributions to the ones mentioned above should work as well. |
| That (hopefully) includes RedHat, Fedora, CentOS, OpenSuSE |
| |
| If you experience any problems using these or other distributions, please |
| report that to the NagVis team. |
+------------------------------------------------------------------------------+
| Do you want to proceed? [y]:
+------------------------------------------------------------------------------+
| Starting installation of NagVis 1.8.5 |
+------------------------------------------------------------------------------+
| |
+--- Checking for tools -------------------------------------------------------+
| Using packet manager /usr/bin/rpm found |
| |
+--- Checking paths -----------------------------------------------------------+
| Please enter the path to the nagios base directory [/usr/local/nagios]:
| nagios path /usr/local/nagios found |
| Please enter the path to NagVis base [/usr/local/nagvis]:
| |
+--- Checking prerequisites ---------------------------------------------------+
| PHP 5.4 found |
| PHP Module: gd php found |
| PHP Module: mbstring php found |
| PHP Module: gettext compiled_in found |
| PHP Module: session compiled_in found |
| PHP Module: xml php found |
| PHP Module: pdo php found |
| Apache mod_php found |
| Checking Backends. (Available: mklivestatus,ndo2db,ido2db) |
| Do you want to use backend mklivestatus? [y]:
| Do you want to use backend ndo2db? [n]:
| Do you want to use backend ido2db? [n]:
| Livestatus Socket (/usr/local/nagios/var/rw/live) found |
| PHP Module: sockets compiled_in found |
| Graphviz 2.30 found |
| Graphviz Module dot 2.30.1 found |
| Graphviz Module neato 2.30.1 found |
| Graphviz Module twopi 2.30.1 found |
| Graphviz Module circo 2.30.1 found |
| Graphviz Module fdp 2.30.1 found |
| SQLite 3.7 found |
| |
+--- Trying to detect Apache settings -----------------------------------------+
| Please enter the web path to NagVis [/nagvis]:
| Please enter the name of the web-server user [apache]:
| Please enter the name of the web-server group [apache]:
| create Apache config file [y]:
| |
+--- Checking for existing NagVis ---------------------------------------------+
| |
+------------------------------------------------------------------------------+
| Summary |
+------------------------------------------------------------------------------+
| NagVis home will be: /usr/local/nagvis |
| Owner of NagVis files will be: apache |
| Group of NagVis files will be: apache |
| Path to Apache config dir is: /etc/httpd/conf.d |
| Apache config will be created: yes |
| |
| Installation mode: install |
| |
| Do you really want to continue? [y]:
+------------------------------------------------------------------------------+
| Starting installation |
+------------------------------------------------------------------------------+
| Creating directory /usr/local/nagvis... done |
| Creating directory /usr/local/nagvis/var... done |
| Creating directory /usr/local/nagvis/var/tmpl/cache... done |
| Creating directory /usr/local/nagvis/var/tmpl/compile... done |
| Creating directory /usr/local/nagvis/share/var... done |
| Copying files to /usr/local/nagvis... done |
| Creating directory /usr/local/nagvis/etc/profiles... done |
| Creating main configuration file... done |
| Adding MKLivestatus Backend... done |
| Adding webserver group to file_group... done |
| Creating web configuration file... done |
| Setting permissions for web configuration file... done |
| |
| |
| |
+--- Setting permissions... ---------------------------------------------------+
| /usr/local/nagvis/etc/nagvis.ini.php-sample done |
| /usr/local/nagvis/etc done |
| /usr/local/nagvis/etc/maps done |
| /usr/local/nagvis/etc/maps/* done |
| /usr/local/nagvis/etc/geomap done |
| /usr/local/nagvis/etc/geomap/* done |
| /usr/local/nagvis/etc/profiles done |
| /usr/local/nagvis/share/userfiles/images/maps done |
| /usr/local/nagvis/share/userfiles/images/maps/* done |
| /usr/local/nagvis/share/userfiles/images/shapes done |
| /usr/local/nagvis/share/userfiles/images/shapes/* done |
| /usr/local/nagvis/var done |
| /usr/local/nagvis/var/* done |
| /usr/local/nagvis/var/tmpl done |
| /usr/local/nagvis/var/tmpl/cache done |
| /usr/local/nagvis/var/tmpl/compile done |
| /usr/local/nagvis/share/var done |
| |
+------------------------------------------------------------------------------+
| Installation complete |
| |
| You can safely remove this source directory. |
| |
| ./install.sh -n /usr/local/nagios -p /usr/local/nagvis -l "unix:/usr/local/nagios/var/rw/live" -b mklivestatus -u apache -g apache -w /etc/httpd/conf.d -a y
| |
| What to do next? |
| - Read the documentation |
| - Maybe you want to edit the main configuration file? |
| Its location is: /usr/local/nagvis/etc/nagvis.ini.php |
| - Configure NagVis via browser |
| <http://localhost/nagvis/config.php> |
| - Initial admin credentials: |
| Username: admin |
| Password: admin |
+------------------------------------------------------------------------------+
これで、無事Nagvisがインストールできた。
最後に、httpdの設定をreloadしておく。
service httpd reload
2.とりあえずデモを使ってみる
Nagvisのインストールが完了したら、Webコンソール画面(http://nagvisサーバIPアドレス/nagvis/)でログインする。
なお、ログイン時の初期ID/PWは「admin/admin」となっている。
もしアクセス時に403エラーが出た場合、apacheのバージョンにあった設定ファイルの書き方になっていないため、以下のコマンドを実行すると良いだろう。
sed -i -e 's/Order allow,deny/#Order allow,deny/g' -e 's/Allow from all/#Allow from all/g' -e '/Allow from all/a\ Require all granted' /etc/httpd/conf.d/nagvis.conf
service httpd reload
ログインしてみると、インストール直後に触ることが出来るデモが用意されているので、少し触ってみることにしよう。
それぞれ、マップ上で対応する箇所をクリックするとNagiosのホスト情報に飛ぶようになっている。
う~ん…ちょっと見た目しょぼい気がするけど、ラック構成とホスト情報を紐付けて、かつNagiosにアドオン追加するだけって考えれば、まぁありなのかなぁ。
このマップもWebページから編集出来ることを考えると、まぁ検討の余地はありそうだ。