通常由Nagios服务端发起获取数据请求,由check_nrpe插件携带要获取的命令,传给被监控端的nrpe守护进程(默认5666端口),nrpe进程读取nrpe.cfg里对应服务器端发送命令信息,调用本地插件获取数据,然后返回给Nagios服务器端check_nrpe,进而传给Nagios展示到Web界面中,严格将可以称之为半被动工作模式。
实验环境:redhat6.5 selinux iptables off
yum install -y httpd php* ###这里就不下载数据库,有需求自行下载
yum install -y gcc glibc glibc-common gd gd-devel xinetd openssl-devel
useradd nagios ###并给用户设置密码
mkdir /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios
cd nagios-4.3.4
./configure --prefix=/usr/local/nagios --with-command-group=nagios
make all
make install
make install-init ###安装初始化文件到/etc/rc.d/init.d/
make install-config ###生成Nagios模板配置到/usr/local/nagios/etc
make install-commandmode ###安装配置目录许可外部命令文件
[root@server1 nagios-4.3.4]# make install-webconf ###生成/etc/httpd/conf.d/nagios.conf
[root@server1 nagios-4.3.4]# htpasswd -bc /usr/local/nagios/etc/htpasswd.users dream 1 ###默认用户密码的目录,用户为dream,密码为1
Adding password for user dream
tar xf nagios-plugins-2.2.1.tar-1.gz
cd nagios-plugins-2.2.1
./configure --prefix=/usr/local/nagios/
make && make install
usermod -G nagios apache
/etc/init.d/httpd restart
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg ###检测配置文件是否正确或/etc/init.d/nagios configtest
/etc/init.d/nagios restart
[root@server1 etc]# service nagios start
Starting nagios:This account is currently not available.
ERROR: Could not create or update '/usr/local/nagios/var/nagios.configtest'
usermod -s /bin/bash nagios
passwd nagios
http:10.10.10.1/nagios
vim /usr/local/nagios/etc/cgi.cfg
use_authentication=0
vim /etc/services
vim /usr/local/nagios/etc/objects/localhost.cfg
define service{
use local-service
host_name localhost
service_description NFS
check_command check_tcp!2049
notifications_enabled 0
}
/etc/init.d/nagios reload
发现报错,因为我们并没有nfs服务
yum install -y nfs*
/etc/init.d/rpcbind restart
/etc/init.d/nfs restart
[root@server1 nagios]# showmount -e 10.10.10.1
Export list for 10.10.10.1:
http://10.10.10.1/nagios/ ###点击services