今回のサーバにはまだ監視を入れていなかったので、Nagiosを入れる。
例のごとくWebサーバがnginxなのだが、debianのNagiosパッケージは勝手にApacheとmod_phpを入れるので却下。
ソースからinstallして、php-fpmとfcgiwrapを使う。
nagiosユーザの準備
まずはnagios管理用のuserを作る。nginxもnagiosのあれこれをいじれるようにwww-dataユーザもグループに追加。
1
2
3
| % sudo useradd nagios
% sudo usermod -a -G nagios www-data
$ sudo usermod -d /usr/local/nagios
|
nagiosのインストール
必要ライブラリから。
nagiosをインストールするのだが、こいつのコンパイルにはgdのheaderが推奨される。
自分の環境では、libgd2-noxpmが入っていたので、これの-devを入れた。
1
| % sudo apt-get install libgd2-noxpm-dev
|
あとは普通に進める。coreとpluginsをいれればOKなので、本家サイトから取ってくる
1
2
3
4
| % wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.3.1.tar.gz
% wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz
% tar xvzf nagios-3.3.1.tar.gz
% tar xvzf nagios-plugins-1.4.15.tar.gz
|
コンパイル。configureの際、prefixが元々/usr/local/nagiosに、userもnagiosになっているので、特に指定なしでok
1
2
3
| % cd nagios
% ./configure
% make all
|
make allが終わると、install用の各種コマンドが表示される。
今回は、Apache用の設定とかいらないので、以下の4つ。
1
2
3
4
| % sudo make install
% sudo make install-init
% sudo make install-commandmode
% sudo make install-config
|
これでインストール完了。次にpluginを入れる。
configureしたときにperlがperlbrewの中の物を見ちゃってほんのり心配だったので、rootで作業に切り替えた。
1
2
3
| # cd nagios-plugins-1.4.15
# ./configure
# make && make install
|
なお、自分がこれでstartしようとしたときには/usr/local/nagios/var/spool/checkresultsのディレクトリがなくて怒られていたので、これも作った。
1
| % sudo -u nagios mkdir -p /usr/local/nagios/var/spool/checkresults
|
これでstart
1
| % sudo /etc/init.d/nagios start
|
Snoopyを入れておく
なんでか、nagiosを持ってきたらMagpieRSSの中で使われているSnoopyが空でエラーをはいていたので、別途入れてやる。
1
2
| % cd /usr/local/nagios/share/includes/rssextlib/
% wget -O Snoopy.class.inc http://snoopy.cvs.sourceforge.net/viewvc/snoopy/Snoopy/Snoopy.class.php
|
nginxの設定
PHPの実行にはphp-fpm、cgiの実行にはfcgiwrapを使う。
1
2
3
| % sudo apt-get install php5-fpm fcgiwrap
% sudo /etc/init.d/php5-fpm
% sudo /etc/init.d/fcgiwrap
|
もしかすると、元々起動してるかも。
php-fpmはデフォルトではinet socketで9000番を使うようになっているが、個人的にunix socket経由で使いたかったので、これを変更する。
1
2
| % sudo vi /etc/php/fpm/php-fpm.conf
listen = /var/run/php5-fpm.sock
|
あとは、site-availableに以下のような内容で作る。
ログディレクトリの作成も忘れずに。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| % sudo vi /etc/nginx/site-available/nginx
server {
root /usr/share/nginx/www;
index index.php index.html index.htm;
server_name nagios.example.com;
access_log /var/log/nginx/nagios/access.log;
error_log /var/log/nginx/nagios/error.log;
location / {
try_files $uri $uri/ /index.php;
}
location /nagios/ {
alias /usr/local/nagios/share/;
}
location ~ /nagios/(.*\.php)$ {
alias /usr/local/nagios/share/$1;
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
location ~ \.cgi$ {
root /usr/local/nagios/sbin/;
rewrite ^/nagios/cgi-bin/(.*)\.cgi /$1.cgi break;
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/fcgiwrap.socket;
}
}
|
これをsite-enabledにsymlinkを張って、nginxをrestart
1
| % sudo /etc/init.d/nginx restart
|
以上で完了。