よかろうもん!

アプリからインフラまで幅広くこなすいまどきのクラウドエンジニアが記す技術ブログ

nagios 3.0.3 のインストールで注意すべき点

apache2.2.9 + nagios3.0.3 をサーバにインストールしました。
その際に、少し戸惑ったところがありましたので、ブログにかいておきます。

利用したsourceはこちら。

nagiosのインストール手順は以下の通り。
日本語化パッチとプラグインも一緒にインストールしてます。

[server1]$ tar xvzf nagios-3.0.3.tar.gz
[server1]$ cd nagios-3.0.3
[server1]$ gzip -dc ../nagios-3.0.3-ja-utf8.patch.gz | patch -p0
[server1]$ ./configure\
--with-nagios-user=interu\
--with-nagios-group=interu\
--with-command-user=interu\
--with-command-group=interu\
--prefix=/usr/local/nagios/3.0.3
[server1]$ make all
[server1]$ make install
[server1]$ sudo make install-init
[server1]$ sudo make install-commandmode
[server1]$ sudo make install-config
[server1]$ cd ../
[server1]$ tar xvzf nagios-plugins-1.4.12.tar.gz
[server1]$ cd nagios-plugins-1.4.12
[server1]$ ./configure --prefix=/usr/local/nagios/3.0.3
[server1]$ make all
[server1]$ sudo make install

/usr/local/nagios/3.0.3/etc 以下は /etc/server_config/nagios 以下へ移動しておます。
#個人的なポリシーで/etc/server_config 以下にmakeしてインストールした設定ファイルはまとめています。
移動に伴い、nagiosの設定ファイルでpathの変更が必要となる箇所を修正します。

最後にnagiosの起動ファイルを書き換えます。

[server1]$ vi /etc/init.d/nagios
・・・(略)
#NagiosCfgFile=${prefix}/etc/nagios.cfg #コメントアウトします
NagiosCfgFile=/etc/server_config/nagios/nagios.cfg
・・・(略)

続いてブラウザから閲覧できるようにapache2.2系の最新版であるapache2.2.9をインストールします。
今回はapacheでアクセスできるようにするのはnagiosのみなので、インストールするディレクトリのみ指定しておきます。

[server1]$ ./configure --prefix=/usr/local/apache2.2
[server1]$ make
[server1]$ sudo make install

/usr/local/apache2.2 以下のconfディレクトリについては、/etc/server_config/apache 以下に移動しておきます。

[server1]$ vi /etc/server_config/apache/conf/extra/httpd-nagios.conf
[server1]$ vi /etc/server_config/apache/conf/httpd.conf

/etc/server_config/apache 以下に移動することで、httpd.confなどの設定ファイルは書き換える必要がありますので注意してください。

さらにnagiosにアクセスできるようにするための設定を追加します。

[server1]$ vi /etc/server_config/apache/conf/extra/httpd-nagios.conf

ScriptAlias /nagios/cgi-bin/ /usr/local/nagios/3.0.3/sbin/

AllowOverride None
Options ExecCGI
Order deny,allow
Allow from 127.0.0.1
Allow from 192.168.2


Alias /nagios/ /usr/local/nagios/3.0.3/share/

AllowOverride None
Options None
Order deny,allow
Allow from 127.0.0.1
Allow from 192.168.2

あとはhttpd.confでhttpd-nagios.confをIncludeしてあげればOK。

それではapacheを起動して、以下にアクセスします。

http://localhost/nagios/

nagiosの画面は表示されましたが、以下のようになってしまいました。

f:id:interu:20080827003229p:image
要求したサービスを閲覧する権限が無いようです。
このメッセージが何らかのエラーである場合はHTTPサーバのこのCGIに対するアクセス権限の設定かNagiosのCGI用設定ファイルの認証に関するオプションを調べてみてください

NagiosのCGI設定ファイルを確認しろとのことなので、確認してみることに。
use_authenticationを0にすることで認証しなくなるとのことなので、値を0に設定します。

[server1]$ /usr/local/nagios/3.0.3/etc/cgi.cgi
・・・(略)
# Setting this value to 0 will cause the CGIs to *not* use
# authentication (bad idea), while any other value will make them
# use the authentication functions (the default).

#use_authentication=1 #この行をコメントアウト
use_authentication=0 #この行を追加
・・・(略)

nagiosを再起動して再度アクセスしてみると、うまくいきました。

BASIC認証などをかけなければならない場合は、apache側でBASIC認証をかけるようにしましょー。