2013年 03月 04日
nagiosQL を SUSE Linux にインストール
本家はこちら
http://www.nagiosql.org/
openSUSE の場合は 1 Click Install ができるようです。
http://software.opensuse.org/package/nagiosQL
マニュアルが英語とドイツ語なので、もしやと思い、内容をチェックしてみたところ、 SUSE Linux の環境を基本にインストール方法が書かれています。このマニュアルを参考に nagiosQL を他のディストリビューションに設定するのはかなり骨が折れそうです。Apache2 の wwwrun などのユーザ名や /etc/nagios などは、それぞれのディストリビューションに合わせて読み替えてください。
ここでは nagiosQL 3.2 を SUSE Linux (SLES11sp2)に設定します。
-前提条件-
マニュアルには前提条件として
‐ Apache web server
‐ MySQL Server version 4.1 or above
‐ PHP version 5.2 or above
‐ Nagios 2.x or 3.x
‐ additional PHP modules:
-- session
-- MySQL (php5‐mysql)
-- gettext
-- filter
-- ftp (optional – for FTP connections to remote servers)
-- SSH (PECL module – optional – for SSH/SCP connections to remote servers)
とあります。SUSE Linux (SLES11) に導入する場合、 WEB/LAMP のオプション以外に幾つかの追加点があります。
-PHP extention library のインストール-
YaST > Software Management > Search >"PHP" より PHP5 extention library を全てインストールします。'PHP Extension' と記述があるものは一応全てチェックしてインストールしましょう。
これらの機能はデフォルトで WEB/LAMP を選択してもインストールされないため、YaST でインストールしておきます。(まず躓く一番の敗因はこれ) nagiosQL のマニュアルにもこの記述はないのでご注意ください。
他にも
- PHP5-MySQL
- pam_ssh
が必要なようです。これらも YaST の Software Management から導入しておきます。
マニュアルに "pecl を実行してみろ" とありますが、ここはマニュアル通りに動かないのでご注意ください。
nagios:/opt/nagiosql # pecl
If 'pecl' is not a typo you can run the following command to lookup the package that contains the binary:
command-not-found pecl
-bash: pecl: command not found
nagios:/opt/nagiosql #
-suhosin.session.encrypt = On-
/etc/php5/conf.d/suhosin.ini に suhosin.session.encrypt という記述がありますが、デフォルトではコメントアウトされているため、0 をセットしておきます。このパラメータも後に致命的なインストールエラーとなります。
nagios:/etc/php5/conf.d # grep suhosin.session.encrypt suhosin.ini
suhosin.session.encrypt = 0 <---- commented out by default
nagios:/etc/php5/conf.d #
-MySQL-
MySQL は起動しておきます。デフォルトで WEB/LAMP をインストールすると導入はされますが、起動していない状態です。 YaST ? System Service から、runlevel をチェックして Start させておきます。
-php.ini のタイムゾーン-
:/etc/php5/apache2php.ini のタイムゾーンはデフォルトではコメントアウトされています。 "Asia/Japan" を設定します。
nagios:/etc/php5/apache2 # grep timezone php.ini
; Defines the default timezone used by the date functions
date.timezone ="Asia/Japan"
nagios:/etc/php5/apache2 #
-MySQL root パスワードの設定-
nagiosQL のインストールでは MySQL の root パスワードが mandatry(必須) として要求されます。あらかじめ MySQL の root パスワードを設定しておきます。
nagios: # mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.0.95 SUSE MySQL RPM
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> SET PASSWORD FOR root@localhost=PASSWORD('rootpass');
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye
nagios: #
※ ここでは root/rootpass が MySQL の root パスワードです。
他はマニュアル通りに作業を行います。
-/etc/nagiosql の作成-
/etc/nagiosql や、 /etc/nagiso以下必要なファイルに nagiosql がブラウザアクセスできるよう、 wwwrun のユーザアクセス権を与えておきます。
nagios:/etc # mkdir nagiosql
nagios:/etc # cd nagiosql
nagios:/etc/nagiosql # mkdir hosts
nagios:/etc/nagiosql # mkdir backup/services
nagios:/etc/nagiosql # mkdir backup
nagios:/etc/nagiosql # mkdir backup/hosts
nagios:/etc/nagiosql # mkdir backup/services
-オーナーを変える-
nagios:/etc/nagiosql # cd ..
nagios:/etc # chown -R wwwrun.nagios /etc/nagiosql/
nagios:/etc # ls nagiosql/ -lR
nagiosql/:
total 12
drwxr-xr-x 4 wwwrun nagios 4096 Mar 4 12:33 backup
drwxr-xr-x 2 wwwrun nagios 4096 Mar 4 12:32 hosts
drwxr-xr-x 2 wwwrun nagios 4096 Mar 4 12:33 services
nagiosql/backup:
total 8
drwxr-xr-x 2 wwwrun nagios 4096 Mar 4 12:33 hosts
: 以下略
nagios:/etc #
-属性を変える-
nagios:/etc # chown -R wwwrun.nagios /etc/nagios/nagios.cfg
nagios:/etc # chown -R wwwrun.nagios /etc/nagios/cgi.cfg
nagios:/etc # chown -R wwwrun.nagios /var/spool/nagios/nagios.cmd
nagios:/etc # chmod 640 /etc//nagios/nagios.cfg
nagios:/etc # chmod 640 /etc//nagios/cgi.cfg
nagios:/etc # chmod 660 /var/spool/nagios/nagios.cmd
nagios:/etc # ls -l /etc/nagios
total 164
-rw-r----- 1 wwwrun nagios 10683 Oct 5 2011 cgi.cfg
-rw-rw-r-- 1 root root 15841 Mar 3 00:45 command.cfg
-rw-r--r-- 1 root root 15760 Mar 3 00:42 command.cfg.org
-rw-r--r-- 1 root root 26 Feb 28 08:39 htpasswd.users
-rw-r----- 1 wwwrun nagios 42748 Mar 2 18:50 nagios.cfg
-rw-r--r-- 1 root root 7194 Jul 14 2011 nrpe.cfg
-rw-r--r-- 1 root root 5329 Feb 21 2009 nsca.cfg
drwxrwxr-x 2 root root 4096 Mar 4 08:07 objects
-rw-rw---- 1 nagios nagcmd 1336 Oct 5 2011 resource.cfg
-rw-r--r-- 1 root root 1628 Feb 21 2009 send_nsca.cfg
nagios:/etc #
-/opt/nagiosql の作成とアクセス権-
マニュアルにはこの記述がありますが、後にパッケージを解凍した後に行った方が良いでしょう。
nagios:/opt # chown wwwrun /opt/nagiosql/
nagios:/opt # ls -l
total 8
drwxr-xr-x 3 root root 4096 Feb 28 08:23 kde3
drwxr-xr-x 2 wwwrun root 4096 Mar 4 12:42 nagiosql
nagios:/opt #
-/etc/apache2/conf.d/nagiosql.confを作成-
これはマニュアルにあるものをそのまま利用しました
nagios:/etc/apache2/conf.d # cat nagiosql.conf
# NAGIOSQL SAMPLE CONFIG SNIPPETS FOR APACHE WEB SERVER
# Last Modified: 03-24-2011
#
# This file contains examples of entries that need
# to be incorporated into your Apache web server
# configuration file. Customize the paths, etc. as
# needed to fit your system.
Alias /nagiosql "/opt/nagiosql"
Options None
AllowOverride None
Order allow,deny
Allow from all
Order deny,allow
# Deny from all
# Allow from 127.0.0.1
# AuthName "NagiosQL Access"
# AuthType Basic
# AuthUserFile /etc/nagiosql/auth/nagiosql.users
# Require valid-user
nagios:/etc/apache2/conf.d #
-解凍-
今回は ZIP 形式のファイルを使いました。/opt で解凍すると nagiosql_xxx ディレクトリが作成されます。
nagios:/opt # unzip nagiosql_320.zip
Archive: nagiosql_320.zip
creating: nagiosql32/
creating: nagiosql32/admin/
inflating: nagiosql32/admin/contacts.php
:中略
inflating: nagiosql32/functions/data_class.php
inflating: nagiosql32/favicon.ico
解凍されたディレクトリのオーナーが root となっています。
nagios:/opt # ls -al
total 1680
drwxr-xr-x 5 root root 4096 Mar 4 13:11 .
drwxr-xr-x 22 root root 4096 Mar 3 06:21 ..
drwxr-xr-x 2 wwwrun root 4096 Mar 4 12:42 nagiosql
drwxr-xr-x 11 root root 4096 Jan 11 17:03 nagiosql32
-rwxr--r-- 1 root root 1612608 Mar 4 13:05 nagiosql_320.zip
-rwxr--r-- 1 root root 75819 Mar 4 13:05 nagiosql_320_sp2.zip
nagios:/opt #
そこで解凍したディレクトリ名を変更して wwwrun にオーナーを変更します。
nagios:/opt # mv nagiosql32 nagiosql
nagios:/opt # chown -R wwwrun nagiosql
nagios:/opt # ls nagiosql -l
total 48
drwxr-xr-x 2 wwwrun root 4096 Jan 11 17:03 admin
-rw-r--r-- 1 wwwrun root 1596 Mar 14 2012 admin.php
drwxr-xr-x 3 wwwrun root 4096 Jan 11 17:03 config
drwxr-xr-x 2 wwwrun root 4096 Jan 11 17:03 doc
: 以下略
-apache の再起動-
それでは http サービスの動作確認をします。YaST > System Service から起動するか、直接コマンド起動します。runlevel で動作するよう System Service にチェックを付けることを忘れずに。
nagios:~ # /etc/init.d/apache2 restart
Syntax OK
Shutting down httpd2 (waiting for all children to terminate) done
Starting httpd2 (prefork) done
nagios:~ #
ここで http://nagios.mynet/nagiosql/ を開くと自動的に http://nagios.mynet/nagiosql/install/index.php にリダイレクトされます。
インストール開始
Start Installation をクリック
成功しました。
ここで、前提条件を満たしていない項目が赤文字で表示されるので、もう一度、動作要件に満たない項目をチェックして Refresh ボタンで確認します。
全てのテストに成功すると Next ボタン
各種設定を行います。
Database Type: mysql (のはず、空欄なら MySQL が動いていない)
Database Server : nagios.mynet
Local hostname or IP address :nagios.mynet
Database Server Port : 3306
Database name : nagiosql_db
NagiosQL DB User : nagiosql_user
NagiosQL DB Password : upassword もちろん伏字です
Administrative Database User : root
Administrative Database Password :事前設定した mysql の root パスワード
Drop database if already exists? <---- データベースを削除したい場合チェック
NagiosQL User Setup
Initial NagiosQL User : admin ブラウザにアクセスするときのユーザ名です。
Initial NagiosQL Password : apassword
Please repeat the password : apassword
設定内容はメモして Next
うまく行ったみたい
Finish
admin/admin-password でログインします。
ここまではたどり着けましたが、後はやはり nagios のリファレンスが必要なようです。
「インストールできた」ことと、「使いこなす」ことはまた別なことです。使いこなし編はまた別な機会に......
islandcenter.jp