1、基本环境:
主机名:HAD06
IP地址:192.168.100.172
nginx的用户及所属组:www www
软件源代码包存放位置:/usr/local/src
源码包编译安装位置:/usr/local/软件名字
2、软件列表:(包含9个源码包)
nagios-3.5.0.tar.gz
nagios-plugins-1.4.16.tar.gz
nrpe-2.14.tar.gz
FCGI-0.74.tar.gz
FCGI-ProcManager-0.24.tar.gz
IO-1.25.tar.gz
IO-All-0.41.tar.gz
rrdtool-1.4.5.tar.gz
pnp4nagios-0.6.22.tar.gz
3、
上传软件安装包:
将以上软件拷贝至服务器/usr/local/src/目录下(
若没有执行权限,请使用chmod +x命令自行添加)。
[root@had04 src]#
scp nagios-3.5.0.tar.gz
nagios-plugins-1.4.16.tar.gz
FCGI-0.74.tar.gz FCGI-ProcManager-0.24.tar.gz IO-1.25.tar.gz IO-All-0.41.tar.gz nrpe-2.14.tar.gz pnp4nagios-0.6.22.tar.gz rrdtool-1.4.5.tar.gz root@192.168.100.172:/usr/local/src/
root@192.168.100.172's password:
nagios-3.5.0.tar.gz 100% 1747KB 1.7MB/s 00:00
nagios-plugins-1.4.16.tar.gz 100% 2038KB 2.0MB/s 00:00
FCGI-0.74.tar.gz 100% 95KB 95.3KB/s 00:00
FCGI-ProcManager-0.24.tar.gz 100% 21KB 21.1KB/s 00:00
IO-1.25.tar.gz 100% 51KB 51.5KB/s 00:00
IO-All-0.41.tar.gz 100% 68KB 67.9KB/s 00:00
nrpe-2.14.tar.gz 100% 412KB 411.8KB/s 00:00
pnp4nagios-0.6.22.tar.gz 100% 2851KB 2.8MB/s 00:00
rrdtool-1.4.5.tar.gz 100% 1317KB 1.3MB/s 00:00
[root@HAD06 ~]# ll
/usr/local/src/
总用量 54012
drwxr-xr-x. 13 root root 4096 1月 10 16:55 cmake-2.8.8
-rwxr-xr-x. 1 root root 5691656 1月 10 16:19 cmake-2.8.8.tar.gz
-rwxr-xr-x. 1 root root 97599 1月 15 08:08
FCGI-0.74.tar.gz
-rwxr-xr-x. 1 root root 21564 1月 15 08:08
FCGI-ProcManager-0.24.tar.gz
-rwxr-xr-x. 1 root root 52710 1月 15 08:08
IO-1.25.tar.gz
-rwxr-xr-x. 1 root root 69558 1月 15 08:08
IO-All-0.41.tar.gz
drwxrwxrwx. 9 www adm 4096 1月 10 15:29 libmcrypt-2.5.8
-rwxr-xr-x. 1 root root 1335178 1月 10 15:25 libmcrypt-2.5.8.tar.gz
drwxr-xr-x. 32 7161 wheel 4096 1月 10 23:13 mysql-5.5.44
-rwxr-xr-x. 1 root root 21789766 1月 10 16:07 mysql-5.5.44.tar.gz
-rwxr-xr-x. 1 root root 1789376 1月 15 08:08
nagios-3.5.0.tar.gz
-rwxr-xr-x. 1 root root 2087089 1月 15 08:12
nagios-plugins-1.4.16.tar.gz
drwxr-xr-x. 9 1001 1001 4096 1月 10 14:32 nginx-1.5.13
-rwxr-xr-x. 1 root root 802922 1月 10 12:06 nginx-1.5.13.tar.gz
-rwxr-xr-x. 1 root root 421635 1月 15 08:08
nrpe-2.14.tar.gz
drwxr-xr-x. 9 1169 1169 12288 1月 10 14:54 pcre-8.35
-rwxr-xr-x. 1 root root 1996552 1月 10 12:06 pcre-8.35.tar.gz
drwxr-xr-x. 18 1001 1001 4096 1月 13 23:12 php-5.5.10
-rwxr-xr-x. 1 root root 16919415 1月 10 12:07 php-5.5.10.tar.gz
-rwxr-xr-x. 1 root root 2919668 1月 15 08:08
pnp4nagios-0.6.22.tar.gz
-rwxr-xr-x. 1 root root 1348713 1月 15 08:08
rrdtool-1.4.5.tar.gz
4、nagios安装:
[root@HAD06 ~]#
yum install gd gd-devel --安装
statusmap.cgi和
trends.cgi必须的安装包。
[root@HAD06 ~]#
yum insta
ll
gcc glibc glibc-common xinetd openssl-devel
[root@HAD06 ~]#
cd /usr/local/src/
[root@HAD06 src]#
groupadd nagios
[root@HAD06 src]#
useradd -s /sbin/nologin -g nagios nagios
[root@HAD06 src]#
tar -zxvf nagios-3.5.0.tar.gz
[root@HAD06 src]#
cd nagios
[root@HAD06 nagios]#
./configure --prefix=/usr/local/nagios --with-command-group=nagios --with-command-user=nagios
[root@HAD06 nagios]#
make
[root@HAD06 nagios]#
make all
[root@HAD06 nagios]#
make install
[root@HAD06 nagios]#
make install-init
[root@HAD06 nagios]#
make install-config
[root@HAD06 nagios]#
make install-commandmode
[root@HAD06 nagios]# chmod o+rwx /usr/local/nagios/var/rw/
5、nagios插件安装:
[root@HAD06 nagios]#
cd ../
[root@HAD06 src]#
tar -zxvf nagios-plugins-1.4.16.tar.gz
[root@HAD06 nagios-plugins-1.4.16]#
cd nagios-plugins-1.4.16
[root@HAD06 nagios-plugins-1.4.16]#
./configure --prefix=/usr/local/nagios/ --with-nagios-user=nagios --with-nagios-group=nagios --with-mysql=/usr/local/mysql/
[root@HAD06 nagios-plugins-1.4.16]#
make
[root@HAD06 nagios-plugins-1.4.16]#
make install
6、安装nrpe:
[root@HAD06 nagios-plugins-1.4.16]#
cd ../
[root@HAD06 src]#
tar -zxvf nrpe-2.14.tar.gz
[root@HAD06 src]#
cd nrpe-2.14
[root@HAD06 nrpe-2.14]#
./configure
[root@HAD06 nrpe-2.14]#
make all
[root@HAD06 nrpe-2.14]#
make install-plugin
[root@HAD06 nrpe-2.14]#
make install-daemon
[root@HAD06 nrpe-2.14]# make install-daemon-config
[root@HAD06 nrpe-2.14]#
cp src/check_nrpe /usr/local/nagios/libexec/
cp:是否覆盖"/usr/local/nagios/libexec/check_nrpe"?
y
[root@HAD06 nrpe-2.14]#
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
[root@HAD06 nrpe-2.14]#
ps -ef | grep nrpe
nagios 102857 1 0 23:49 ? 00:00:00 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
root 102859 6700 0 23:50 pts/0 00:00:00 grep nrpe
[root@HAD06 nrpe-2.14]#
echo '/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d'>>/etc/rc.local
若要重启nrpe,需要先kill相关进程,然后重启。
[root@HAD06 nrpe-2.14]#
kill `ps aux | grep nrpe | grep -v grep | awk '{print $2}'`
[root@HAD06 nrpe-2.14]#
ps -ef | grep nrpe
root 102866 6700 0 23:57 pts/0 00:00:00 grep nrpe
[root@HAD06 nrpe-2.14]#
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
[root@HAD06 nrpe-2.14]#
ps -ef | grep nrpe
nagios 102868 1 0 23:58 ? 00:00:00 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
root 102870 6700 0 23:58 pts/0 00:00:00 grep nrpe
在本机测试:
[root@HAD06 nrpe-2.14]#
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_users
USERS OK - 2 users currently logged in |users=2;5;10;0
7、配置:
加入系统服务,并设置成开机启动。
[root@HAD06 nrpe-2.14]#
chkconfig --add nagios
[root@HAD06 nrpe-2.14]#
chkconfig nagios on
[root@HAD06 nrpe-2.14]#
chown nagios.nagios /usr/local/nagios/var/rw/
测试配置文件是否正确。
[root@HAD06 nrpe-2.14]#
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
修改相关配置文件。
[root@HAD06 nrpe-2.14]#
vim /usr/local/nagios/etc/cgi.cfg
找到以下内容:
#default_user_name=guest --107行
修改为:
default_user_name=nagiosadmin
根据此配置,需要添加匹配的安全策略。
[root@HAD06 nrpe-2.14]#
htpasswd -nb nagiosadmin 123456789 > /usr/local/nagios/etc/htpasswd.users
[root@HAD06 nrpe-2.14]#
chown nagios.nagios /usr/local/nagios/etc/htpasswd.users
[root@HAD06 nrpe-2.14]#
ll /usr/local/nagios/etc/htpasswd.users
-rw-r--r--. 1 nagios nagios 27 1月 16 00:51 /usr/local/nagios/etc/htpasswd.users
[root@HAD06 nrpe-2.14]#
service nagios status
nagios (pid 103001) is running...
8、nginx配置:nginx配置fastcgi perl(pl、cgi)相关支持。
#安装FCGI模块:
[root@HAD06 nrpe-2.14]#
cd ../
[root@HAD06 src]#
yum install perl-devel
[
root@HAD06
src]#
tar -zxvf FCGI-0.74.tar.gz
[root@HAD06 src]#
cd FCGI-0.74
[root@HAD06 FCGI-0.74]#
perl Makefile.PL
[root@HAD06 FCGI-0.74]#
make
[root@HAD06 FCGI-0.74]#
make install
#安装FCGI-ProcManager模块:
[root@HAD06 FCGI-0.74]#
cd ../
[root@HAD06 src]#
tar -zxvf FCGI-ProcManager-0.24.tar.gz
[root@HAD06 src]#
cd FCGI-ProcManager-0.24
[root@HAD06 FCGI-ProcManager-0.24]# perl Makefile.PL
[root@HAD06 FCGI-ProcManager-0.24]#
make
[root@HAD06 FCGI-ProcManager-0.24]#
make install
#安装IO-All模块:
[root@HAD06 FCGI-ProcManager-0.24]#
cd ../
[root@HAD06 src]#
tar -zxvf IO-All-0.41.tar.gz
[root@HAD06 src]#
cd IO-All-0.41
[root@HAD06 IO-All-0.41]#
perl Makefile.PL
[root@HAD06 IO-All-0.41]#
make
[root@HAD06 IO-All-0.41]#
make install
#拷贝perl脚本至/usr/local/nginx/:
[root@HAD06 IO-All-0.41]#
cp /usr/local/src/
perl-fcgi.pl /usr/local/nginx/
[root@HAD06 IO-All-0.41]#
cp /usr/local/src/start_perl_cgi.sh /usr/local/nginx/
[root@HAD06 IO-All-0.41]#
cp /usr/local/src/now_start_perl_fcgi.sh /usr/local/nginx/
#保证
perl-fcgi.pl、start_perl_cgi.sh文件的权限为:755(如果不是,请自行修改):
[root@HAD06 IO-All-0.41]#
ll /usr/local/nginx/perl-fcgi.pl
-rwxr-xr-x. 1 root root 6063 1月 18 00:33 /usr/local/nginx/perl-fcgi.pl
[root@HAD06 IO-All-0.41]#
ll /usr/local/nginx/start_perl_cgi.sh
-rwxr-xr-x. 1 root root 673 1月 18 00:46 /usr/local/nginx/start_perl_cgi.sh
#cgi启动/停止脚本 (www为nginx的运行用户)
[root@HAD06 IO-All-0.41]#
cat /usr/local/nginx/start_perl_cgi.sh
#!/bin/bash
#set -x
dir=/usr/local/nginx
stop ()
{
#pkill -f $dir/perl-fcgi.pl
kill $(cat $dir/logs/perl-fcgi.pid)
rm $dir/logs/perl-fcgi.pid 2>/dev/null
rm $dir/logs/perl-fcgi.sock 2>/dev/null
echo "stop perl-fcgi done"
}
start ()
{
rm $dir/now_start_perl_fcgi.sh 2>/dev/null
chown www.root $dir/logs
echo "$dir/perl-fcgi.pl -l $dir/logs/perl-fcgi.log -pid $dir/logs/perl-fcgi.pid -S $dir/logs/perl-fcgi.sock" >>$dir/now_start_perl_fcgi.sh
chown www.www $dir/now_start_perl_fcgi.sh
chmod u+x $dir/now_start_perl_fcgi.sh
sudo -u www $dir/now_start_perl_fcgi.sh
echo "start perl-fcgi done"
}
case $1 in
stop)
stop
;;
start)
start
;;
restart)
stop
start
;;
esac
#启动脚本:
[root@HAD06 IO-All-0.41]#
/usr/local/nginx/start_perl_cgi.sh start
start perl-fcgi done
#正常情况下,在/usr/local/nginx/logs目录下生成
perl-fcgi.sock这个文件。
[root@HAD06 IO-All-0.41]#
ls /usr/local/nginx/logs/perl-fcgi.sock
至此,nginx的cgi、perl支持配置完毕。
9、创建fcgi.conf配置文件
[root@HAD06 IO-All-0.41]#
vim /usr/local/nginx/conf/fcgi.conf
添加:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param HTTPS $https if_not_empty;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
10、配置nginx。添加一个服务的全部配置。。
[root@HAD06 IO-All-0.41]#
vim /usr/local/nginx/conf/nginx.conf
添加:
server {
listen 8056;
server_name localhost;
auth_basic "Nagios Access";
auth_basic_user_file /usr/local/nagios/etc/htpasswd.users;
location / {
root /usr/local/nagios/share;
index index.php index.html index.htm;
}
location ~ .*\.(php|php5)?$
{
root /usr/local/nagios/share;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fcgi.conf;
}
location /nagios/
{
alias /usr/local/nagios/share/;
}
location /cgi-bin/images
{
alias /usr/local/nagios/share/images;
}
location /cgi-bin/stylesheets
{
alias /usr/local/nagios/share/stylesheets;
}
location /cgi-bin
{
alias /usr/local/nagios/sbin;
}
location ~.*\.(cgi|pl)?$
{
gzip off;
root /usr/local/nagios/sbin;
rewrite ^/nagios/cgi-bin/(.*)\.cgi /$1.cgi break;
fastcgi_pass unix:/usr/local/nginx/logs/perl-fcgi.sock;
fastcgi_index index.cgi;
include fcgi.conf;
fastcgi_read_timeout 60;
}
}
检测配置文件正确性,并重新载入nginx配置,重新启动nagios。
[root@HAD06 IO-All-0.41]#
/usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@HAD06 IO-All-0.41]#
/usr/local/nginx/sbin/nginx -s reload
[
root@HAD06
IO-All-0.41]#
service nagios restart
Running configuration check...done.
Stopping nagios: done.
Starting nagios: done.
11、测试:
在浏览器中输入:
http://192.168.100.172:8056/,打开nagios监控页面。(第一次会提示输入用户名和密码)
能够看到此页面,表示以上配置正常。
可以开始配置本机的监控项。
相关问题处理:
------------------------------------------------------
1、重启nagios服务时,出现红色字体标注的提示。
[root@HAD06 nrpe-2.14]#
service nagios restart
Running configuration check...done.
Stopping nagios: done.
Starting nagios:
This account is currently not available.
done.
解决办法:
修改/etc/passwd
将/sbin/nologin改成/bin/bash
[root@HAD06 nrpe-2.14]#
vim /etc/passwd
找到(注意红色字体):
nagios:x:501:501::/home/nagios:
/sbin/nologin
修改为(注意红色字体):
nagios:x:501:501::/home/nagios:
/bin/bash
[root@HAD06 nrpe-2.14]# service nagios restart
Running configuration check...done.
Stopping nagios: done.
Starting nagios: done.
2、如果nagios编译有问题需要重新编译,使用#
make devclean命令清除相关配置,重新执行编译的相关命令即可。
3、在监控页面出现
It appears as though you do not h
ave permission to view information you requested报错。
linux技术交流群:295294329 本文朋友郭工整理,感谢他的共享!!!