isLandcenter 非番中

ブログトップ | ログイン

nagiosQL を SUSE Linux にインストール

nagios はインストールしたものの、設定の面倒さに辟易していたところ、NagiosQL という便利なツールを見つけてしまいました。

本家はこちら
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 から導入しておきます。

nagiosQL を SUSE Linux にインストール_a0056607_13505276.jpg


マニュアルに "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 させておきます。

nagiosQL を SUSE Linux にインストール_a0056607_15272619.jpg



-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 # mkdir 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 にリダイレクトされます。

nagiosQL を SUSE Linux にインストール_a0056607_14155824.jpg


インストール開始

Start Installation をクリック

nagiosQL を SUSE Linux にインストール_a0056607_14266100.jpg


成功しました。

nagiosQL を SUSE Linux にインストール_a0056607_142844.jpg


ここで、前提条件を満たしていない項目が赤文字で表示されるので、もう一度、動作要件に満たない項目をチェックして Refresh ボタンで確認します。

全てのテストに成功すると Next ボタン

nagiosQL を SUSE Linux にインストール_a0056607_1510322.jpg


各種設定を行います。

nagiosQL を SUSE Linux にインストール_a0056607_15105590.jpg


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
nagiosQL を SUSE Linux にインストール_a0056607_15325995.jpg


うまく行ったみたい
nagiosQL を SUSE Linux にインストール_a0056607_162883.jpg


Finish
nagiosQL を SUSE Linux にインストール_a0056607_164847.jpg


admin/admin-password でログインします。
nagiosQL を SUSE Linux にインストール_a0056607_168282.jpg


ここまではたどり着けましたが、後はやはり nagios のリファレンスが必要なようです。
nagiosQL を SUSE Linux にインストール_a0056607_16123123.jpg


「インストールできた」ことと、「使いこなす」ことはまた別なことです。使いこなし編はまた別な機会に......


islandcenter.jp
by islandcenter | 2013-03-04 14:16 | SUSE | Comments(0)