1.安装开始
rpm -ivh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
yum install nagios nagios-plugins nagios-plugins-all nagios-plugins-nrpe nrpe rrdtool* pnp4nagios httpd php php-gd
2、修改nagios.cfg
vim nagios.cfg
修改如下:
process_performance_data=1
service_perfdata_command=process-service-perfdata
host_perfdata_command=process-host-perfdata
3、修改nagios command配置文件
cd /usr/local/nagios/etc/objects
vim commands.cfg
#在文件末尾追加如下几行
define command {
command_name process-service-perfdata
command_line /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl
}
define command {
command_name process-host-perfdata
command_line /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl -d HOSTPERFDATA
}
4、修改nagios template 配置文件
vim templates.cfg
#在文件末尾追加如下几行
define host {
name host-pnp
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_
register 0
}
define service {
name srv-pnp
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$
register 0
}
5、修改 hosts.cfg 和 services.cfg 这两个文件默认是不存在的,是用来定义你要监控的主机和服务,需要你手工创建.
vim hosts.cfg
define host{
use linux-server,host-pnp
host_name web01
alias pub_web01
address 192.168.0.51
}
define host{
use linux-server,host-pnp
host_name oracle
alias pub_oracle
address 192.168.0.180
}
vim services.cfg
##################### pub web01 #####################
define service{
use local-service,srv-pnp
host_name web01
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
define service{
use local-service,srv-pnp
host_name web01
service_description SSH
check_command check_ssh
}
define service{
use local-service,srv-pnp
host_name web01
service_description http
check_command check_http
}
6、验证nagios配置文件
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
7、重启
/etc/init.d/nagios restart
Running configuration check...done.
Stopping nagios: done.
Starting nagios: done.
/etc/init.d/npcd restart
Stopping npcd: done.
Starting npcd: done.
遇到错误:
Please check the documentation for information about the following error.perfdata directory "/usr/local/pnp4nagios/var/perfdata/" is empty. Please check your Nagios config. Read FAQ online 改pnp4nagios模式为 "Bulk-mode".
编辑 /usr/local/nagios/etc/nagios.cfg
末尾添加:
# Bulk / NPCD mode
process_performance_data=1
# *** the template definition differs from the one in the original nagios.cfg
service_perfdata_file=/usr/local/pnp4nagios/var/service-perfdata
service_perfdata_file_template=DATATYPE::SERVICEPERFDATAtTIMET::$TIMET$tHOSTNAME::$HOSTNAME$tSERVICEDESC::$SERVICEDESC$tSERVICEPERFDATA::$SERVICEPERFDATA$tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$tHOSTSTATE::$HOSTSTATE$tHOSTSTATETYPE::$HOSTSTATETYPE$tSERVICESTATE::$SERVICESTATE$tSERVICESTATETYPE::$SERVICESTATETYPE$
service_perfdata_file_mode=a
service_perfdata_file_processing_interval=15
service_perfdata_file_processing_command=process-service-perfdata-file
# *** the template definition differs from the one in the original nagios.cfg
host_perfdata_file=/usr/local/pnp4nagios/var/host-perfdata
host_perfdata_file_template=DATATYPE::HOSTPERFDATAtTIMET::$TIMET$tHOSTNAME::$HOSTNAME$tHOSTPERFDATA::$HOSTPERFDATA$tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$tHOSTSTATE::$HOSTSTATE$tHOSTSTATETYPE::$HOSTSTATETYPE$
host_perfdata_file_mode=a
host_perfdata_file_processing_interval=15
host_perfdata_file_processing_command=process-host-perfdata-file
编辑 /usr/local/nagios/etc/objects/commands.cfg
. 最后添加一下内容:
# Bulk with NPCD mode
define command {
command_name process-service-perfdata-file
command_line /bin/mv /usr/local/pnp4nagios/var/service-perfdata /usr/local/pnp4nagios/var/spool/service-perfdata.$TIMET$
}
define command {
command_name process-host-perfdata-file
command_line /bin/mv /usr/local/pnp4nagios/var/host-perfdata /usr/local/pnp4nagios/var/spool/host-perfdata.$TIMET$
}
重启 npcd and nagios:
service npcd restart && service nagios restart
正常. nrpe监控安装:
yum install nagios-plugins-nrpe nrpe
修改nrpe配置文件,加入允许的IP:
vi/usr/local/nagios/etc/nrpe.cfg
allowed_hosts=127.0.0.1,192.169.0.201
启动nrpe:
/usr/local/nagios/bin/nrpe -c/usr/local/nagios/etc/nrpe.cfg –d
在监控主机(200)上执行:
/usr/local/nagios/libexec/check_nrpe-H 192.168.30.150 #安装nrpe的被监控主机
如果成功会显示:
NRPE v2.13
编写测试代码(监控150负载均衡) 在监控主机上(200)编辑 /usr/local/nagios/etc/objects/commands.cfg
,加入如下命令:
# 'check_nrp' command definition
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
在 /usr/local/nagios/etc/objects
中添加文件150.cfg,对于每一台机器可以添加一个文件:
define host{
use generic-host
host_name 150
alias 150
address 192.168.30.150 ;被测试机ip
max_check_attempts 10
check_command check-host-alive ; Default command to check if servers are "alive"
}
define service{
use generic-service
host_name 150
service_description nrpe_load
check_command check_nrpe!check_load
}
检测配置是否正确后,重启nagios.
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
service nagios restart
报错NRPE: Unable to read output解决办法:
vim /usr/local/nagios/etc/nrpe.cfg
command[check_mysql_myisam_lock]=/usr/bin/sudo /usr/local/nagios/libexe/check_mysql_myisam_lock.sh -w 1 -c 1 # 修正命令路径 参数
主监控端 commend里面的commond-line命令要正确.