Nginx环境下构建Nagios网络监控平台
时间:2014-09-11 02:20 来源:linux.it.net.cn 作者:it
Nagios依赖PHP环境和perl环境。由于Nginx不支持Perl的CGI,这里就需要先来搭建Perl环境。
一、给Nginx加上对Perl的CGI支持
让Nginx支持Perl的CGI方法有好几种,基本原理都是通过Perl的FCGI模块实现。具体哪一个更好,目前没时间验证。下面的方法就是其中一种:
1、安装FCGI模块
wget http://search.cpan.org/CPAN/authors/id/F/FL/FLORA/FCGI-0.73.tar.gztar xvzf FCGI-0.73.tar.gz cd FCGI-0.73 perl Makefile.PLmake make install cd ..
2、安装FCGI-ProcManager模块
wget http://search.cpan.org/CPAN/authors/id/G/GB/GBJK/FCGI-ProcManager-0.19.tar.gztar xvzf FCGI-ProcManager-0.19.tar.gz cd FCGI-ProcManager-0.19 perl Makefile.PL make make install cd ..
3、安装IO和IO::ALL模块
wget http://search.cpan.org/CPAN/authors/id/G/GB/GBARR/IO-1.25.tar.gztar zxvf IO-1.25.tar.gzcd IO-1.25 perl Makefile.PLmake make install cd ..
wget http://search.cpan.org/CPAN/authors/id/I/IN/INGY/IO-All-0.41.tar.gztar zxvf IO-All-0.41.tar.gzcd IO-All-0.41 perl Makefile.PLmake make install cd ..
4、下载Perl脚本
这个脚本的目的就是产生一个PERL的FastCGI接口,让Nginx可以以CGI方式处理Perl。下载Perl脚本
wget http://www.mike.org.cn/wp-content/uploads/2011/07/perl-fcgi.zipunzip perl-fcgi.zipcp perl-fcgi.pl /usr/local/webserver/nginx/
注:建议把这个脚本放在Nginx安装目录。
修改脚本权限
chmod 755 /usr/local/webserver/nginx/perl-fcgi.pl
5、建立一个CGI启动/停止脚本
这个SHELL脚本只是为了方便管理上面的Perl脚本。脚本中的www为nginx的运行用户,请据自己的实际情况调整。
注意事项:不能用root用户执行(会提示). 要用与Nginx相同身份的用户执行。否则可能会在Nginx Log中提示 Permision Denied。
vi /usr/local/webserver/nginx/start_perl_cgi.sh
#!/bin/bash #set -x dir=/usr/local/webserver/nginx/
stop () { #pkill -f $dir/perl-fcgi.pl kill $(cat $dir/logs/perl-fcgi.pid) rm $dir/logs/perl-fcgi.pid 2>/dev/nullrm $dir/logs/perl-fcgi.sock 2>/dev/nullecho "stop perl-fcgi done" }
start () { rm $dir/now_start_perl_fcgi.sh 2>/dev/null
chown www.www $dir/logsecho "$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.shchmod u+x $dir/now_start_perl_fcgi.sh
sudo -u www $dir/now_start_perl_fcgi.shecho "start perl-fcgi done" } case $1 in stop) stop;; start) start;; restart) stop
start;; esac
修改SHELL脚本权限
chmod 755 /usr/local/webserver/nginx/start_perl_cgi.sh
启动脚本
/usr/local/webserver/nginx/start_perl_cgi.sh start
正常情况下在/usr/local/webserver/nginx/logs下生成perl-fcgi.sock这个文件,如果没有生成,请检查下上面的步聚。
二、安装Nagios
A、安装前准备
安装的机器上必须有一个WEB服务,本文是在Nginx环境上安装的。
下载nagios主程序和相关插件程序包
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.3.tar.gzwget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gzwget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz
安装GD库(Nagios中的statusmap和trends模块必须)
apt-get install libgd2-noxpm libgd2-noxpm-dev
B、Nagios监控端安装
1、创建Nagios用户及组
建立Nagios账号
/usr/sbin/useradd -m -s /sbin/nologin nagios
2、创建一个名为nagcmd的用户组,用于从web接口执行外部命令。将Nagios用户和Nginx用户加入组中。
groupadd nagcmd
usermod -a -G nagcmd nagios
usermod -a -G nagcmd www
注:上面的www是Nginx用户所属的组,如有不同请自行调整。
3、编译安装Nagios
tar zxvf nagios-3.2.3.tar.gzcd nagios-3.2.3
./configure --with-command-group=nagcmdmake make allmake install make install-initmake install-configmake install-commandmode#这里是在Nginx下运行Nagios,这一步就不用做了 make install-webconfcd ..
注:make install 用于安装主要的程序、CGI及HTML文件
make install-init 用于生成init启动脚本
make install-config 用于安装示例配置文件
make install-commandmode 用于设置相应的目录权限
make install-webconf 用于安装Apache配置文件
4、验证程序是否被正确安装
切换目录到安装路径,这里是/usr/local/nagios,看是否存在etc、bin、 sbin、 share、 var这五个目录,如果存在则可以表明程序被正确的安装到系统了。
ls /usr/local/nagios/ bin/ etc/ sbin/ share/ var/
注;bin–Nagios执行程序所在目录,其中的nagios文件即为主程序。
etc–Nagios配置文件位置
sbin–Nagios cgi文件所在目录,也就是执行外部命令所需文件所在的目录
Share–Nagios网页文件所在的目录
var–Nagios日志文件、spid 等文件所在的目录
var/archives–日志归档目录
var/rw–用来存放外部命令文件
5、配置NGINX
1)、配置Nagios Web界面登陆帐号及密码
htpasswd -c /usr/local/nagios/etc/nagiospasswd mike
如果你没有htpasswd(这个工具由Apache安装包所提供),可在线生成需要加密数据。
a)、访问http://www.4webhelp.net/us/password.php生成需要加密数据
b)、创建加密验证文件
vi /usr/local/nagios/etc/nagiospasswd
#加入生成的加密数据,冒号前是用户名,后面是加密后的密码 mike:25JB.R7mXY96o
修改Nagios配置文件,给新增的用户增加访问权限
vi /usr/local/nagios/etc/cgi.cfg
#以下几项中分别加入新增的用户,多用户用逗号分隔。 authorized_for_system_information=nagiosadmin,mikeauthorized_for_configuration_information=nagiosadmin,mikeauthorized_for_system_commands=nagiosadmin,mikeauthorized_for_all_services=nagiosadmin,mikeauthorized_for_all_hosts=nagiosadmin,mikeauthorized_for_all_service_commands=nagiosadmin,mikeauthorized_for_all_host_commands=nagiosadmin,mike
2)、修改NGINX配置,以支持WEB方式访问Nagios
方法一:以http://ip方式访问
NGINX配置片断如下
server
{ listen 80;
server_name 192.168.1.108;
index index.html index.htm index.php;
root /usr/local/nagios/share;
auth_basic "Nagios Access";
auth_basic_user_file /usr/local/nagios/etc/nagiospasswd;
location ~ .*\.(php|php5)?$
{
#fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fcgi.conf;
}
location ~ .*\.(cgi|pl)?$
{ gzip off;
root /usr/local/nagios/sbin;
rewrite ^/nagios/cgi-bin/(.*)\.cgi /$1.cgi break;
fastcgi_pass unix:/usr/local/webserver/nginx/logs/perl-fcgi.sock;
fastcgi_param SCRIPT_FILENAME /usr/local/nagios/sbin$fastcgi_script_name;
fastcgi_index index.cgi;
fastcgi_read_timeout 60;
fastcgi_param REMOTE_USER $remote_user;
include fcgi.conf;
auth_basic "Nagios Access";
auth_basic_user_file /usr/local/nagios/etc/nagiospasswd;
}
location /nagios
{ alias /usr/local/nagios/share;
auth_basic "Nagios Access";
auth_basic_user_file /usr/local/nagios/etc/nagiospasswd;
}
log_format wwwlogs '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" $http_x_forwarded_for';
access_log /data1/logs/access_www.log wwwlogs;
}
方法二:以http://ip/nagios方式访问
在WEB主目录下创建一个软链
ln -s /usr/local/nagios/share/ /data0/htdocs/www/nagios
NGINX配置片断如下
server
{ listen 80;
server_name 192.168.1.108;
index index.html index.htm index.php;
root /data0/htdocs/www;
auth_basic "Nagios Access";
auth_basic_user_file /usr/local/nagios/etc/nagiospasswd;
location ~ .*\.(php|php5)?$
{
#fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fcgi.conf;
}
location ~ .*\.(cgi|pl)?$
{ gzip off;
root /usr/local/nagios/sbin;
rewrite ^/nagios/cgi-bin/(.*)\.cgi /$1.cgi break;
fastcgi_pass unix:/usr/local/webserver/nginx/logs/perl-fcgi.sock;
fastcgi_param SCRIPT_FILENAME /usr/local/nagios/sbin$fastcgi_script_name;
fastcgi_index index.cgi;
fastcgi_read_timeout 60;
fastcgi_param REMOTE_USER $remote_user;
include fcgi.conf;
auth_basic "Nagios Access";
auth_basic_user_file /usr/local/nagios/etc/nagiospasswd;
}
log_format wwwlogs '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" $http_x_forwarded_for';
access_log /data1/logs/access_www.log wwwlogs;
}
注:如果你的fastcgi的配置文件中没有配置REMOTE_USER参数,一定要在nginx.conf中加上下面这个fastcgi的参数定义。
fastcgi_param REMOTE_USER $remote_user;
如果没有这个fastcgi的参数定义,Nagios就不能正确验证你的登陆信息。网上大多数文章解决Nginx下Nagios登陆验证失败的方法都是在Nagios的cgi.cfg配置文件(nagios/etc/cgi.cfg)中关掉验证(use_authentication=0)或设置一个缺省的登陆用户(default_user_name=test),这两种方法都是不安全的。
6、编译并安装Nagios插件
由于Nagios主程序只是提供一个运行框架,其具体监控是靠运行在其下的插件完成的,所以Nagios插件是必须安装的。
tar zxvf nagios-plugins-1.4.15.tar.gzcd nagios-plugins-1.4.15
./configure --with-nagios-user=nagios --with-nagios-group=nagiosmake make install
验证Nagios插件是否正确安装
ls /usr/local//nagios/libexec
显示安装的插件文件,即所有的插件都安装在libexec这个目录下。
7、启动服务
启动前先检查下配置文件是否正确
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
如果没有报错,可以启动Nagios服务
/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
查看Nagios运行状态
/usr/local/nagios/bin/nagiostats
8、安装NRPE
由于Nagios只能监测自己所在的主机的一些本地情况,例如,cpu负载、内存使用、硬盘使用等等。如果想要监测被监控的服务器上的这些本地情况,就要用到NRPE。NRPE(Nagios Remote Plugin Executor)是Nagios的一个扩展,它被用于被监控的服务器上,向Nagios监控平台提供该服务器的一些本地的情况。NRPE可以称为 Nagios的Linux客户端。
由于NRPE是通过SSL方式在监控和被监控主机上进行数据传输的,所以必须先安装ssl相关的软件包。
apt-get install libssl-dev libssl0.9.8
编译安装NRPE
tar zxvf nrpe-2.12.tar.gzcd nrpe-2.12 ./configuremake allmake install-pluginmake install-daemonmake install-daemon-config
注:监控主机上只需要make install-plugin这一步就可以了。监控机上只要有一个check_nrpe插件用于连接被监控端nrpe的daemon就行了。
启动NRPE
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
验证NRPE是否正确安装
/usr/local/nagios/libexec/check_nrpe -H localhost
注:如果成功,会返回NRPE的版本号。
C、Nagios被控端安装配置
1、创建Nagios用户及组
建立Nagios账号
/usr/sbin/useradd -m -s /sbin/nologin nagios
2、编译并安装Nagios插件
tar zxvf nagios-plugins-1.4.15.tar.gzcd nagios-plugins-1.4.15
./configure --with-nagios-user=nagios --with-nagios-group=nagiosmake make install cd ..
验证程序是否被正确安装:
ls /usr/local/nagios/libexec
显示安装的插件文件,即所有的插件都安装在libexec这个目录下。
3、安装NRPE
tar zxvf nrpe-2.12.tar.gzcd nrpe-2.12 ./configuremake allmake install-pluginmake install-daemonmake install-daemon-configcd ..
4、启动NRPE
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
验证NRPE是否正确安装
/usr/local/nagios/libexec/check_nrpe -H localhost
注:如果成功,会返回NRPE的版本号。
5、修改NRPE配置文件,让监控主机可以访问被监控主机的NRPE。
缺省NRPE配置文件中只允许本机访问NRPE的Daemon
vi /usr/local/nagios/etc/nrpe.cfg
#缺省为127.0.0.1,只能本机访问 allowed_hosts=192.168.1.108
6、重启nrpe的方法
killall nrpe/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
(责任编辑:IT)
Nagios依赖PHP环境和perl环境。由于Nginx不支持Perl的CGI,这里就需要先来搭建Perl环境。 让Nginx支持Perl的CGI方法有好几种,基本原理都是通过Perl的FCGI模块实现。具体哪一个更好,目前没时间验证。下面的方法就是其中一种: 1、安装FCGI模块 wget http://search.cpan.org/CPAN/authors/id/F/FL/FLORA/FCGI-0.73.tar.gztar xvzf FCGI-0.73.tar.gz cd FCGI-0.73 perl Makefile.PLmake make install cd .. 2、安装FCGI-ProcManager模块 wget http://search.cpan.org/CPAN/authors/id/G/GB/GBJK/FCGI-ProcManager-0.19.tar.gztar xvzf FCGI-ProcManager-0.19.tar.gz cd FCGI-ProcManager-0.19 perl Makefile.PL make make install cd .. 3、安装IO和IO::ALL模块 wget http://search.cpan.org/CPAN/authors/id/G/GB/GBARR/IO-1.25.tar.gztar zxvf IO-1.25.tar.gzcd IO-1.25 perl Makefile.PLmake make install cd .. wget http://search.cpan.org/CPAN/authors/id/I/IN/INGY/IO-All-0.41.tar.gztar zxvf IO-All-0.41.tar.gzcd IO-All-0.41 perl Makefile.PLmake make install cd .. 4、下载Perl脚本 这个脚本的目的就是产生一个PERL的FastCGI接口,让Nginx可以以CGI方式处理Perl。下载Perl脚本 wget http://www.mike.org.cn/wp-content/uploads/2011/07/perl-fcgi.zipunzip perl-fcgi.zipcp perl-fcgi.pl /usr/local/webserver/nginx/ 注:建议把这个脚本放在Nginx安装目录。 修改脚本权限 chmod 755 /usr/local/webserver/nginx/perl-fcgi.pl 5、建立一个CGI启动/停止脚本 这个SHELL脚本只是为了方便管理上面的Perl脚本。脚本中的www为nginx的运行用户,请据自己的实际情况调整。 注意事项:不能用root用户执行(会提示). 要用与Nginx相同身份的用户执行。否则可能会在Nginx Log中提示 Permision Denied。 vi /usr/local/webserver/nginx/start_perl_cgi.sh #!/bin/bash #set -x dir=/usr/local/webserver/nginx/ stop () { #pkill -f $dir/perl-fcgi.pl kill $(cat $dir/logs/perl-fcgi.pid) rm $dir/logs/perl-fcgi.pid 2>/dev/nullrm $dir/logs/perl-fcgi.sock 2>/dev/nullecho "stop perl-fcgi done" } start () { rm $dir/now_start_perl_fcgi.sh 2>/dev/null chown www.www $dir/logsecho "$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.shchmod u+x $dir/now_start_perl_fcgi.sh sudo -u www $dir/now_start_perl_fcgi.shecho "start perl-fcgi done" } case $1 in stop) stop;; start) start;; restart) stop start;; esac 修改SHELL脚本权限 chmod 755 /usr/local/webserver/nginx/start_perl_cgi.sh 启动脚本 /usr/local/webserver/nginx/start_perl_cgi.sh start 正常情况下在/usr/local/webserver/nginx/logs下生成perl-fcgi.sock这个文件,如果没有生成,请检查下上面的步聚。 二、安装Nagios A、安装前准备 安装的机器上必须有一个WEB服务,本文是在Nginx环境上安装的。 下载nagios主程序和相关插件程序包 wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.3.tar.gzwget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gzwget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz 安装GD库(Nagios中的statusmap和trends模块必须) apt-get install libgd2-noxpm libgd2-noxpm-dev B、Nagios监控端安装 1、创建Nagios用户及组 建立Nagios账号 /usr/sbin/useradd -m -s /sbin/nologin nagios 2、创建一个名为nagcmd的用户组,用于从web接口执行外部命令。将Nagios用户和Nginx用户加入组中。 groupadd nagcmd usermod -a -G nagcmd nagios usermod -a -G nagcmd www 注:上面的www是Nginx用户所属的组,如有不同请自行调整。 3、编译安装Nagios tar zxvf nagios-3.2.3.tar.gzcd nagios-3.2.3 ./configure --with-command-group=nagcmdmake make allmake install make install-initmake install-configmake install-commandmode#这里是在Nginx下运行Nagios,这一步就不用做了 make install-webconfcd ..
注:make install 用于安装主要的程序、CGI及HTML文件 4、验证程序是否被正确安装 切换目录到安装路径,这里是/usr/local/nagios,看是否存在etc、bin、 sbin、 share、 var这五个目录,如果存在则可以表明程序被正确的安装到系统了。 ls /usr/local/nagios/ bin/ etc/ sbin/ share/ var/
注;bin–Nagios执行程序所在目录,其中的nagios文件即为主程序。 1)、配置Nagios Web界面登陆帐号及密码 htpasswd -c /usr/local/nagios/etc/nagiospasswd mike
如果你没有htpasswd(这个工具由Apache安装包所提供),可在线生成需要加密数据。 b)、创建加密验证文件 vi /usr/local/nagios/etc/nagiospasswd #加入生成的加密数据,冒号前是用户名,后面是加密后的密码 mike:25JB.R7mXY96o 修改Nagios配置文件,给新增的用户增加访问权限 vi /usr/local/nagios/etc/cgi.cfg #以下几项中分别加入新增的用户,多用户用逗号分隔。 authorized_for_system_information=nagiosadmin,mikeauthorized_for_configuration_information=nagiosadmin,mikeauthorized_for_system_commands=nagiosadmin,mikeauthorized_for_all_services=nagiosadmin,mikeauthorized_for_all_hosts=nagiosadmin,mikeauthorized_for_all_service_commands=nagiosadmin,mikeauthorized_for_all_host_commands=nagiosadmin,mike 2)、修改NGINX配置,以支持WEB方式访问Nagios 方法一:以http://ip方式访问 NGINX配置片断如下 server { listen 80; server_name 192.168.1.108; index index.html index.htm index.php; root /usr/local/nagios/share; auth_basic "Nagios Access"; auth_basic_user_file /usr/local/nagios/etc/nagiospasswd; location ~ .*\.(php|php5)?$ { #fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fcgi.conf; } location ~ .*\.(cgi|pl)?$ { gzip off; root /usr/local/nagios/sbin; rewrite ^/nagios/cgi-bin/(.*)\.cgi /$1.cgi break; fastcgi_pass unix:/usr/local/webserver/nginx/logs/perl-fcgi.sock; fastcgi_param SCRIPT_FILENAME /usr/local/nagios/sbin$fastcgi_script_name; fastcgi_index index.cgi; fastcgi_read_timeout 60; fastcgi_param REMOTE_USER $remote_user; include fcgi.conf; auth_basic "Nagios Access"; auth_basic_user_file /usr/local/nagios/etc/nagiospasswd; } location /nagios { alias /usr/local/nagios/share; auth_basic "Nagios Access"; auth_basic_user_file /usr/local/nagios/etc/nagiospasswd; } log_format wwwlogs '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" $http_x_forwarded_for'; access_log /data1/logs/access_www.log wwwlogs; } 方法二:以http://ip/nagios方式访问 在WEB主目录下创建一个软链 ln -s /usr/local/nagios/share/ /data0/htdocs/www/nagios NGINX配置片断如下 server { listen 80; server_name 192.168.1.108; index index.html index.htm index.php; root /data0/htdocs/www; auth_basic "Nagios Access"; auth_basic_user_file /usr/local/nagios/etc/nagiospasswd; location ~ .*\.(php|php5)?$ { #fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fcgi.conf; } location ~ .*\.(cgi|pl)?$ { gzip off; root /usr/local/nagios/sbin; rewrite ^/nagios/cgi-bin/(.*)\.cgi /$1.cgi break; fastcgi_pass unix:/usr/local/webserver/nginx/logs/perl-fcgi.sock; fastcgi_param SCRIPT_FILENAME /usr/local/nagios/sbin$fastcgi_script_name; fastcgi_index index.cgi; fastcgi_read_timeout 60; fastcgi_param REMOTE_USER $remote_user; include fcgi.conf; auth_basic "Nagios Access"; auth_basic_user_file /usr/local/nagios/etc/nagiospasswd; } log_format wwwlogs '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" $http_x_forwarded_for'; access_log /data1/logs/access_www.log wwwlogs; }注:如果你的fastcgi的配置文件中没有配置REMOTE_USER参数,一定要在nginx.conf中加上下面这个fastcgi的参数定义。 fastcgi_param REMOTE_USER $remote_user; 如果没有这个fastcgi的参数定义,Nagios就不能正确验证你的登陆信息。网上大多数文章解决Nginx下Nagios登陆验证失败的方法都是在Nagios的cgi.cfg配置文件(nagios/etc/cgi.cfg)中关掉验证(use_authentication=0)或设置一个缺省的登陆用户(default_user_name=test),这两种方法都是不安全的。 6、编译并安装Nagios插件 由于Nagios主程序只是提供一个运行框架,其具体监控是靠运行在其下的插件完成的,所以Nagios插件是必须安装的。 tar zxvf nagios-plugins-1.4.15.tar.gzcd nagios-plugins-1.4.15 ./configure --with-nagios-user=nagios --with-nagios-group=nagiosmake make install 验证Nagios插件是否正确安装 ls /usr/local//nagios/libexec 显示安装的插件文件,即所有的插件都安装在libexec这个目录下。 7、启动服务 启动前先检查下配置文件是否正确 /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 如果没有报错,可以启动Nagios服务 /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg 查看Nagios运行状态 /usr/local/nagios/bin/nagiostats 8、安装NRPE 由于Nagios只能监测自己所在的主机的一些本地情况,例如,cpu负载、内存使用、硬盘使用等等。如果想要监测被监控的服务器上的这些本地情况,就要用到NRPE。NRPE(Nagios Remote Plugin Executor)是Nagios的一个扩展,它被用于被监控的服务器上,向Nagios监控平台提供该服务器的一些本地的情况。NRPE可以称为 Nagios的Linux客户端。 由于NRPE是通过SSL方式在监控和被监控主机上进行数据传输的,所以必须先安装ssl相关的软件包。 apt-get install libssl-dev libssl0.9.8 编译安装NRPE tar zxvf nrpe-2.12.tar.gzcd nrpe-2.12 ./configuremake allmake install-pluginmake install-daemonmake install-daemon-config 注:监控主机上只需要make install-plugin这一步就可以了。监控机上只要有一个check_nrpe插件用于连接被监控端nrpe的daemon就行了。 启动NRPE /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d 验证NRPE是否正确安装 /usr/local/nagios/libexec/check_nrpe -H localhost
注:如果成功,会返回NRPE的版本号。 1、创建Nagios用户及组 建立Nagios账号 /usr/sbin/useradd -m -s /sbin/nologin nagios 2、编译并安装Nagios插件 tar zxvf nagios-plugins-1.4.15.tar.gzcd nagios-plugins-1.4.15 ./configure --with-nagios-user=nagios --with-nagios-group=nagiosmake make install cd .. 验证程序是否被正确安装: ls /usr/local/nagios/libexec 显示安装的插件文件,即所有的插件都安装在libexec这个目录下。 3、安装NRPE tar zxvf nrpe-2.12.tar.gzcd nrpe-2.12 ./configuremake allmake install-pluginmake install-daemonmake install-daemon-configcd .. 4、启动NRPE /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d 验证NRPE是否正确安装 /usr/local/nagios/libexec/check_nrpe -H localhost 注:如果成功,会返回NRPE的版本号。 5、修改NRPE配置文件,让监控主机可以访问被监控主机的NRPE。 缺省NRPE配置文件中只允许本机访问NRPE的Daemon vi /usr/local/nagios/etc/nrpe.cfg #缺省为127.0.0.1,只能本机访问 allowed_hosts=192.168.1.108 6、重启nrpe的方法 killall nrpe/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d(责任编辑:IT) |