本来是用zabbix监控的,因为公司对流量要求比较严格,所以改用Cacti。监控华为S7520s交换机的流量,这个cacti,我配了两天半。。。在我配置cacti的时候出现了很多问题,在这里做个记录方便以后阅读,也共享给他人。
第一个问题。首先配个lamp已经没问题了,我远程用浏览器完全何以访问lnmp和php的测试页。
上cacti主页准备安装的时候,一切都配置完毕网页上不去一直显示这个错误
说连不上数据库,这就很尴尬了。数据库里明明建好了cacti用户名配置文件也改好了但是就是连不上数据库。接下来把cacti/include/caonfig.php里面的localhost改成了127.0.0.1重试一下还是不行。
用cacti用户登录MySQL也登陆上了,看表建表也没问题。
后来想了想把database_hostname改成了本机ip就好了,可以顺利连接数据库。如果还不行就查看以下mysql是否给了权限,查看了一下。我是各种权限都给了。
wKiom1jwR0iQhvZJAABhy97t-R8812.png-wh_50
wKiom1jwQmnQbRUmAACJLk_9SHQ824.jpg-wh_50
wKioL1jwOiLwJBRSAACMVSJEVD4147.jpg-wh_50
2.第二个问题,配好了cacti监控了华为5720交换机,执行了poller.php脚本后,有图了,但是死活不出数据。这很难受啊。又捣鼓了大半天。也按着教程删了rra目录下的所有。重新rebuild了一下。还是不出图。snmpwalk测试的时候还有数据,这就说明snmp没问题,是不是rrdtool的问题呢。wKioL1jwWRyz5JQhAACGg7JWjL8675.jpg-wh_50
所以用rrdtool测试了一没什么问题。wKioL1jwWmaAVfAhAABS5asyRNg839.jpg-wh_50
后来在数据库里看脚本执行时间出问题了,这个时间一直没有变化,问题出在这里。
crontab -e 里面在执行命令后面加上–force。重启一下crond就没问题了。wKiom1jwW6GRsgmEAAARPgtUzic270.jpg-wh_50wKioL1jwXFTRvus8AAASh_9YA8E568.jpg-wh_50
这里执行完了就等着出图出数据吧。这里完事以后应该就顺利出图了。但是我因为是新手。不知道等会,又开始搞了一下。进console——system——rebuild poller cache 里面。把每个监控的接口都点了一下,因为第一次搞没经验。点了Turn off/on Date Source Debugs Mode以后再点下面的保存。然后提示我保存失败。让我先把最大最小值设置了。上面显示的|query_ifSpeed|根本不懂什么意思,以为是什么特殊代码。后来才知道是设置值。最小填0,最大值填U表示不做限制。然后save保存等着出图wKiom1jwXzPBC4f-AACIMWeYU-0841.jpg-wh_50
还有就是这里
wKiom1jwYCjCW0bOAABtHoHpXB0461.jpg-wh_50
当你点一下主界面监控图形的放大镜界面是会显示这个,上面都显示nan没数据 ,一定要记得这不是你配置cacti的问题,要点一下上面的路径地址,标红这块。选中前面那个。等几分钟刷新看看。应该就没问题了 。我就是在这存在误区,所以导致我以为自己的cacti有问题各种找cacit有图没数据的原因。
wKioL1jwYO3D0Og7AADnN1p5lHs130.jpg-wh_50
cacti安装中遇到过很多问题,比如说无图像或者无数据,解决方法一般为:
1.在cacti的web界面console——system utilities ——Rebuild poller cache。我不知道到这是不是结束了。我又每个接口都进去Turn on/off 了一下,保存不了要设置大小限制值。
2.系统时间不准确,重新设置时,因为我虚拟机时间不准也在这里卡过。因为我恢复过快照。所以时间是上个月。
3.运行#/usr/local/bin/php /var/www/html/cacti/poller.php –force并且在周期计划任务里添加这个计划任务,我用的cacti-spine进行轮训,这个性能比本身自带的强大,所以我周期计划任务里面设置的1分钟刷新一次,自带的最短5分钟执行一次。
4.修改权限,并且保证你的wab是rra文件夹的属主属组。我用的apache所以属主属组都是apache。#chown -R apache.apache /var/www/html/cacti/rra/
#chmod 777 -R /var/www/html/cacti/rra/
5.数据库表有损坏,修复#mysqlcheck -ao cactidb –auto-repair -uxxx -pxxx
6.重启snmpd服务#service snmpd restart,我各种改完了之后把所有有关的服务都重启了一下