(8)监控机和被监控Net-snmp的调试
//如果是通过snmp来获取数据的话,则监控机和被监控机都需要配置snmp.
[root@monitor_server ~]#vim /etc/snmp/snmp.conf
我们这里使用的是snmpV2,所以在配置文件中应该加入其声明,并还要修改一处地方,让监控机能够access。修改后如下图
Net-snmp端口检查
//监控机和被监控机的snmp端口都需要启动(port:161),default为161
//另外每当修改snmpd.的配置文件时都需要重启来应用。
被监控机server01(192.168.16.138)的snmp.conf配置 ,配置里default必须写上监控机IP:192.168.16.137,并且read方式要配置成all不然不能通信.
测试监控机snmp的获取数据是否正常,如下是正常的。
//-v 为版本号,--c 指定彼此通信的群体,然后接上snmp要获取数据的机子ip
检查~/httpd/htdocs/cacti/rra中是否存在rra文件,如没有以下的类似rra文件,则有可能是snmp没有获取到数据或者没有权限,请确认前面设置的权限和测试snmp的通讯。
问题解析:
(1)rra中的rrd文件没有成功生成
解答:由于cacti只是一个静态的页面,把snmp获取到的数据通过rrdtool画出来在页面显示,没有rra数据的生成或者更新的原因可能有三个(这个本人搭建cacti时遇到的)。第一就是snmp没有处于运行状态,161端口没有开启和侦听请利用root用户查看。第二原因就是snmp通信不成功,这个可以利用snmpwalk来运行查看。第三个就是cacti的poller没有写入到crontab中,利用crontab解决,这也是必须的,最为重要的。
[cacti@monitor_server ~]$ crontab -e
*/5 * * * * /home/cacti/php5/bin/php /home/cacti/httpd/htdocs/cacti/poller.php --force > /dev/null 2>&1
可以定时将snmp的数据poller到rrdtool的rra中,就是rrd的文件
(2)出图但图数据显示nan
这个问题其实主要原因是:1.延迟问题,rrdtool将rra中的rrd文件画图,虽然有rrd问题,但要显示到cacti前端会有一定的延时。2.虽然有rrd文件,但可能也是最有可能的原因就是rrd文件中没有任何数据。利用如下方法可以查看
Rrdtool fentch xxx.rrd AVERAGE这语句,其中xxx.rrd就是要查看有没有数据的rrd文件。
若全部OID显示NAN,即证明没有任何数据。此时要检查cacti的poller 的interval与crontab中的poller时间是否一致。默认都是5分钟较好。