1、安装所需组件
yum install perl perl-devel perl-CPAN bc snmpd -y
perl -MCPAN -eshell & cpan> install Bundle::LWP
编译安装nrpe(参考教程:http://2860664.blog.51cto.com/2850664/1559056)
以下是被监控端设置
2、下载check_nginx_status.pl脚本
下载地址:https://github.com/cloved/check_traffic/archive/v1.3.11.zip
解压文件后,上传check_traffic.sh到/usr/local/nagios/libexec
chmod +x check_traffic.sh
chown nagios.nagcmd check_traffic.sh
3、设置snmp参数
vi /etc/snmp/snmpd.conf
com2sec notConfigUser 被监控端IP public group notConfigGroup v1 notConfigUser group notConfigGroup v2c notConfigUser view systemview included .1.3.6.1.2.1.1 view systemview included .1.3.6.1.2.1.25.1.1 access notConfigGroup "" any noauth exact all none none view all included .1 80 syslocation Unknown (edit /etc/snmp/snmpd.conf) syscontact Root <[email protected]> (configure /etc/snmp/snmp.local.conf)
service snmpd start
chkconfig snmpd on
4、在被监控端测试脚本
cd /usr/local/nagios/libexec
./check_traffic.sh -V 2c -C public -H 192.168.1.247 -I 2 -w 1200,1500 -c 1700,1800 -K -B
OK - The Traffic In is 0.72KB, Out is 0.60KB, Total is 1.32KB. The Check Interval is 43s |In=0.72KB;1200;1700;0;0 Out=0.60KB;1500;1800;0;0 Total=1.32KB;2700;3500;0;0 Interval=43s;1200;1800;0;0
其中红色为被监控端的IP地址。
4、vi /usr/local/nagios/etc/nrpe.cfg 添加
command[check_traffic]=/usr/local/nagios/libexec/check_traffic.sh -V 2c -C public -H 192.168.1.247 -I 2 -w 1200,1500 -c 1700,1800 -K -B
以下是nagios主机的设置
5、服务器端测试
/usr/local/nagios/libexec/check_nrpe -H 192.168.1.247 -c check_traffic
OK - The Traffic In is 0.48KB, Out is 0.11KB, Total is 0.59KB. The Check Interval is 28s |In=0.48KB;1200;1700;0;0 Out=0.11KB;1500;1800;0;0 Total=0.59KB;2700;3500;0;0 Interval=28s;1200;1800;0;0
vi /usr/local/nagios/etc/nagios.cfg 添加
cfg_file=/usr/local/nagios/etc/objects/nginx.cfg
6、touch /usr/local/nagios/etc/objects/nginx.cfg
vi /usr/local/nagios/etc/objects/nginx.cfg (注意修改被监控端的IP)内容如下
****************************************我是分割线************************************
define host{ use linux-server host_name nginx alias nginx address 被监控端IP } define service{ use generic-service host_name nginx service_description check-swap check_command check_nrpe!check_swap } define service{ use generic-service host_name nginx service_description check-load check_command check_nrpe!check_load } define service{ use generic-service host_name nginx service_description check-disk check_command check_nrpe!check_sda1 } define service{ use generic-service host_name nginx service_description check-users check_command check_nrpe!check_users } define service{ use generic-service host_name nginx service_description otal_procs check_command check_nrpe!check_total_procs } define service{ use generic-service ; Name of service template to use host_name nginx service_description PING check_command check_ping!100.0,20%!500.0,60% } define service{ use generic-service host_name nginx service_description nginx_status check_command check_nrpe!check_nginx! notifications_enabled 0 } define service{ use generic-service host_name nginx service_description network_traffic check_command check_nrpe!check_traffic! notifications_enabled 0 }
****************************************我也是分割线************************************
报错信息
7、nagios服务器报错
Unknown - Read or Write File /var/tmp/check_traffic_192.168.1.247_2__itnms.hist_dat_64 Error with user uid=501(nagios) gid=503(nagcmd) groups=502(nagios),503(nagcmd).
解决方法:chmod nagios.nagcmd /var/tmp/check_traffic_192.168.1.247_2__itnms.hist_dat_64