ngios 流量监控文档
所需软件net-snmp net-snmp-utils net-snmp-libs
所需脚本 check_traffic.sh 可从下面链接下载
1.查看系统是否安装rpm –qa|grep snmp,如没有上传以上包,再上传check_traffic.sh脚本至$nagios/libexec/,并更改traffic脚本权限为755
2.未安装时下载上面的snmp的rpm包我用的为
net-snmp-5.1.2-13.el4.i386 net-snmp-utils-5.1.2-13.el4.i386 net-snmp-libs-5.1.2-13.el4
3.vi /etc/snmp/snmp.conf
a)更改
# sec.name source community
com2sec notConfigUser default public
为
# sec.name source community
com2sec notConfigUser localhost(源IP) nagios(访问密码)
b)更改
access notConfigGroup "" any noauth exact systemview none none
为
access notConfigGroup "" any noauth exact mib2 none none
c)去掉该的#
#view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc
d)启动snmp
/etc/init.d/snmpd start
检查启动情况
Netstat –na|grep 161
测试snmpsnmpwalk -v 1 -c nagios localhost system
Traffic 脚本测试
如果不知道网卡
/usr/local/nagios/libexec//check_traffic.sh -V 2c -C nagios -H localhost –L命令列出
/usr/local/nagios/libexec//check_traffic.sh -V 2c -C nagios -H localhost -I 2 -w 12,30 -c 15,35 -M –b
4.在/usr/local/nagios/etc/nrpe.cfg
加入command[check_traffic]=/usr/local/nagios//libexec/check_traffic.sh -V 2c -C nagios -H localhost -I 2 -w 12,30 -c 15,35 -M –b
5.重启xinetd
6.更改下面的文件权限让nagios用户拥有读写权限
chmod 666 /var/tmp/check_traffic_localhost_2.hist_dat
7.nagios监控端配置
在services.cfg加入
define service{
hostgroup_name gahosts,rehosts
service_description TRAFFIC
check_command check_nrpe_traffic
contact_groups test
check_period 24x7
max_check_attempts 4
normal_check_interval 3
retry_check_interval 2
contact_groups test
notifications_enabled 1
}
在commads.cfg加入
define command{
command_name check_nrpe_traffic
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c check_traffic
}
Nagios相关问题
页面问题1
Error: Could not open command file '/opt/nagios/var/rwnagios.cmd’
可通过更改此权限解决:Chmod 777 $nagioshome/var/rw/nagios.cmd
上面那方法不太好使重启nagios后可能还会出现类似问题
网上有另一种方法:
将nagios和apache放到一个组nagcmd
[root@localhost etc]# id nagios
uid=607(nagios) gid=605(nagios) groups=605(nagios),607(nagcmd)
[root@localhost etc]# id apache
uid=48(apache) gid=48(apache) groups=48(apache),607(nagcmd)
另外修改完后,还需要重启一下apache
页面问题2
通过验证访问问题,通过apache的htpasswd文件给nagios页面增加了页面用户访问控制权限后,用户登录后并不能查看到监控的相关信息
更改$nagioshome/etc/cgi.cfg文件
#default_user_name=guest 去掉该行的#,并更改guest为你所设置的用户我的用户为guest
如下含有nagiosadmin字段的允许用户的一些权限设置,
在vi cgi.cfg时用:1,$s/nagiosadmin/nagiosadmin,guest/
authorized_for_configuration_information=nagiosadmin
check_mysql问题
由于需要监控相关mysql,在安装nagios-plugin时,系统并没有安装mysql-devel
在绕了个圈查找相关脚本时,有网友告知安装了mysql-devel包后再编译安装nagios-plugin时会生成相关check_mysql
#Mysql –p
进入mysql后
创建nagios监控库
create database nagios;
授于监控端IP查询该库权限
nagios监控端配置
vi services.cfg加入
define service{
hostgroup_name game-hosts
service_description mysql
check_command check_mysql
contact_groups test
check_period 24x7
max_check_attempts 4
normal_check_interval 3
retry_check_interval 2
contact_groups test
notifications_enabled 1
}
Vi commands.cfg加入
define command{
command_name check_mysql
command_line $USER1$/check_mysql -H $HOSTADDRESS$ -u nagios -d nagios -w 15 -c 20
}
配置mysql监控时需注意版本相关问题 如果版本不同生成的check_mysql监控就不能实现
关于check_http问题 此监控需在你网站的默认根目录建立一个index.html文件供nagios抓取
关于check_mem问题,check_mem与check_traffic均来自于网络
关于nagios流量监控问题
监控脚本报NRPE: Unable to read output
因为那个traffic脚本是在http://sourceforge.net/下载过来的,看了下里面内容执行了下发现该脚本比较简单但实用没有提示相关错误的功能,在出现这个问题的时候我在看nrpe相关文档及网上搜索相关资料,发现大部分人出现的问题是在nrpe.cfg配置,及plugin安装,脚本问题,但在排除这几个出错的可能性后,不得其解,找到以前的同事问了下,我描述了下相关问题他让我查看下/tmp下生成的临时文件,我看了下权限是root,更改为nagios用户问题解决
command[check_traffic]=/usr/local/nagios//libexec/check_traffic -H localhost -i 2 -b 8000000 -r sss -w 80 -c 90
该监控脚本的参数,必需全部填上才可使用
-i是网卡index号一般是etho为2 如果不知道可以用附件中的check_traffic.sh脚本用-L参数列数,-b为网卡最大流量注意此值与报警有关,根据情况设置单位为byte,-r为生成的rrd文件