NagiosQLとは、Nagiosの監視設定をWebインターフェースから簡単に行えるアドオンだ。
以前、ここでもインストール方法を紹介した。(NagiosQL(3.0.3)のインストール
最近、NagiosQLのバージョンアップが頻繁に行われているようなので、今回は以前インストールしたNagiosQL(3.0.3)からこのブログを書いている現時点でのNagiosQLの最新版である3.1.1へのアップデート方法を紹介する。
サーバOSは、CentOS 5.3 である。
 



 

ダウンロード

今回必要なものは以下の通りだ。
 
●NagiosQL : nagiosql_311.tar.gz (NagiosQLサイトのダウンロードページ
 
ダウンロードしたtarballは、/usr/local/src に置くものとする。
 

インストールマニュアル

NagiosQLのインストールマニュアルは、NagiosQLのtarball(nagiosql_311.tar.gz)に含まれている。
tarballを解凍すると以下にインストールマニュアルがある。
 
./nagiosql/install/doc/INSTALLATION_enGB.txt
 
全ての作業は特に断りがない限りrootアカウントで行うものとする。
 

システム要求

NagiosQLのインストールマニュアルによれば、以下の通り。
 

1.Webserver like Apache 2.x
2.MySQL 5.x or greater
3.Icinga 1.x or Nagios 2.x/3.x
4.PHP 5.2.0 or greater including:
   1)PHP Module: Session
   2)PHP Module: MySQL
   3)PHP Module: gettext
   4)PHP Module: filter
   5)PHP Module: XML
   6)PHP Module: SimpleXML
   7)PHP Module: FTP (optional)
   8)PHP Module: curl (optional)
   9)PECL Extension: SSH (optional)
5.Javascript activated in Webbrowser

 
NagiosQL(3.0.3)と比較するとかなり条件が追加されているようだが、今までこのブログで紹介してきたように他のツールもインストールしてきたのであれば特に大きな問題はない。
強いてあげれば、4の9)PECL Extension: SSH (optional)くらいだろう。
また、5 は、クライアントPCのブラウザ要件なのでインストールには関係ない。
今回は敢えて、ここでは何もしない。
 

tarballの解凍と旧設定ファイルのコピー

今回もNagiosQLをCentOSのApacheのドキュメントルート/var/www/htmlに解凍する。
また、NagiosQL(3.0.3)の設定ファイル(/var/www/html/nagiosql3/config/settings.php)をNagiosQL(3.1.1)にコピーする必要がある。
NagiosQL(3.0.3)では、解凍するとnagiosql3ディレクトリに展開されたが、NagiosQL(3.1.1)では、nagiosqlディレクトリに展開される。
そして、ディレクトリのオーナー権限をApacheの実行アカウントであるapacheにすることも忘れてはいけない。
今回は、ディレクトリのオーナー権限をApacheの実行アカウントであるapacheにすることを忘れてしまったため、NagiosQL(3.1.1)のアップデート画面でエラーが出てしまった。
 

# cd /var/www/html
# tar xvfz /usr/local/src/nagiosql_311.tar.gz
# cp nagiosql3/config/settings.php nagiosql/config/
# chown apache.apache -R nagiosql

 

アップデート

NagiosQLのinstallディレクトリにENABLE_INSTALLERという空っぽのファイルを作成する。
 

# cd /var/www/html/nagiosql/install
# touch ENABLE_INSTALLER

 
次にブラウザでNagiosQLのインストールページ(http://サイトのURL/nagiosql/install/index.php)にアクセスする。
 
図1:NagiosQL(3.1.1)へのアップデート画面1
図1:NagiosQL(3.1.1)へのアップデート画面1

 
上記のような画面が表示されるので、”Language”(上図①)で”Japanese”を選択し、”START UPDATE”ボタン(上図②)をクリックする。
 
図2:NagiosQL(3.1.1)へのアップデート画面2
図2:NagiosQL(3.1.1)へのアップデート画面2

 
上記の画面から以下の事がわかる。
 
①PECL ExtensionのSSH2がインストールされていない
②/etc/php.iniのdate.timezone設定がない
③config/settings.phpに書き込み権限がない
 
上記③は、今回、NagiosQL(3.1.1)のtarballの解凍後にnagiosqlディレクトリのオーナー権限をApacheの実行アカウントであるapacheにすることを忘れてしまったために出力されてしまったもので、きちんとオーナー権限をつけていれば出力されることはない。
よって、上記の①と②の対応を取ればよい。
 

PECL ExtensionのSSH2のインストール

図2の①の右のほうにあるリンクをクリックし、以下のURLにアクセスして、ssh2-0.11.2.tgzをダウンロードする。
 
http://pecl.php.net/package/ssh2
 
ssh2-0.11.2.tgzは、このブログを書いている現在時点での最新版である。
ダウンロードしたtarballは、/usr/local/src に置くものとする。
 

# cd /usr/local/src
# pecl install ssh2-0.11.2.tgz

5 source files, building
running: phpize
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519
libssh2 prefix? [autodetect] :		← Enterキー
building in /var/tmp/pear-build-root/ssh2-0.11.2
running: /tmp/tmpr1ic0R/ssh2-0.11.2/configure --with-ssh2
checking for egrep... grep -E

<中略>

checking for re2c... no
configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
checking for gawk... gawk
checking for ssh2 support... yes, shared
checking for ssh2 files in default path... not found
configure: error: The required libssh2 library was not found.  You can obtain that package from http://sourceforge.net/projects/libssh2/
ERROR: `/tmp/tmpr1ic0R/ssh2-0.11.2/configure --with-ssh2' failed

 
上記のような、configure: WARNINGやconfigure: errorが出た場合、re2cとlibssh2をインストールする必要がある。
re2cはyumでインストールする。
 

# yum install re2c

 
libssh2はyumでもインストールできるが、SSH2のインストールの際にはうまく認識されなかった。
そのため、以下にアクセスし、libssh2-1.3.0.tar.gzをダウンロードし、インストールする。
http://www.libssh2.org/
 
libssh2-1.3.0.tar.gzは、このブログを書いている現在時点での最新版である。
ダウンロードしたtarballは、/usr/local/src に置くものとする。
 

# cd /usr/local/src
# tar xvfz libssh2-1.3.0.tar.gz
# cd libssh2-1.3.0
# ./configure
# make
# make install

 
再度、SSH2のインストールを行う。
 

# cd /usr/local/src
# pecl install ssh2-0.11.2.tgz

5 source files, building
running: phpize
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519
libssh2 prefix? [autodetect] :		← Enterキー
building in /var/tmp/pear-build-root/ssh2-0.11.2
running: /tmp/tmpr1ic0R/ssh2-0.11.2/configure --with-ssh2
checking for egrep... grep -E

<中略>

checking for re2c... re2c
checking for re2c version... 0.13.5 (ok)
checking for gawk... gawk
checking for ssh2 support... yes, shared
checking for ssh2 files in default path... found in /usr/local
checking for libssh2_banner_set in -lssh2... yes
checking for libssh2_channel_forward_listen_ex in -lssh2... yes
checking for libssh2_userauth_hostbased_fromfile_ex in -lssh2... yes
checking for libssh2_poll in -lssh2... yes
checking for libssh2_publickey_init in -lssh2... yes

<中略>

Build process completed successfully
Installing '/var/tmp/pear-build-root/install-ssh2-0.11.2//usr/lib/php/modules/ssh2.so'
install ok: channel://pecl.php.net/ssh2-0.11.2
You should add "extension=ssh2.so" to php.ini

 
今度はきちんとre2cもlibssh2もエラーも出ずに認識され、インストールできた。
最後に出力されたメッセージ通り、/etc/php.iniに以下の設定を追加する。
 
extension=ssh2.so
 
また、②の対策として、/etc/php.iniに以下の設定も追加する。
 
date.timezone = Asia/Tokyo
 
上記の作業が終わったら、Apacheの再起動を行う。
 

# service httpd restart

 

再アップデート

再度アップデートするために、図2の下のほうにある”リフレッシュ”ボタンをクリックする。
 
図3:NagiosQL(3.1.1)へのアップデート画面3
図3:NagiosQL(3.1.1)へのアップデート画面3

 
上記のように①②③がOKになっていたら、右下の”次”ボタンをクリックする。
 
図4:NagiosQL(3.1.1)へのアップデート画面4
図4:NagiosQL(3.1.1)へのアップデート画面4

 
特に問題がなければ、”次”ボタンをクリックする。
 
図5:NagiosQL(3.1.1)へのアップデート画面5
図5:NagiosQL(3.1.1)へのアップデート画面5

 
ここまで来たら、インストールディレクトリ(/var/www/html/nagiosql/install)を削除し、”完了”ボタンをクリックする。
 

NagiosQLの設定修正

やはり、NagiosQL3.0.3と3.1.1では設定内容が微妙に違うようで、3.1.1ではnagios.cfgのフルパスを指定しなければならない。
NagiosQL3.1.1のログイン画面にアクセスし、きちんと3.1.1にバージョンアップしていることを確認する。
 
図6:NagiosQL(3.1.1)のログイン画面
図6:NagiosQL(3.1.1)のログイン画面

 
ログイン後、左側のメニューより、管理 → ドメイン とクリックし、ドメイン管理画面を表示させる。
 
図7:NagiosQL(3.1.1)のドメイン管理画面1
図7:NagiosQL(3.1.1)のドメイン管理画面1

 
ドメイン管理画面に移ると見慣れないcommonというドメインが出来ているが、これはとりあえず無視してよい。
localhost(自分が管理しているドメイン)を編集する。(図7の①をクリック)
 
図8:NagiosQL(3.1.1)のドメイン管理画面2
図8:NagiosQL(3.1.1)のドメイン管理画面2

 
Nagios config file(図8の①)の部分を”/mypath/nagios.cfg”から図8のように自分が管理しているnagios.cfgのフルパス(/usr/local/nagios/etc/nagios.cfg)に変更し、保存ボタンをクリックする。
 
以上で普通に使えるようになるはずですが、細かい部分では、色々出るかもしれません。
もし何か出た場合は、教えていただけたらうれしいです。
 

 


Categories: Nagios ,NagiosQL


Leave a Reply