cacti无法显示数据解决方法

首先使用snmpwalk -v 1 localhost -c public测试snmp服务是否正常
Timeout: No Response from localhost
说明有问题
service snmpd status查看服务是否开启,关闭的话打开服务
服务开启之后还有timeout,查看vi /etc/snmp/snmpd.conf配置

在conf文件中添加下面两句见附一:
view all   included  .1
access  notConfigGroup ""      any       noauth    exact  all  none none


/usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php
/usr/bin/rrdtool fetch /usr/local/apache/htdocs/cacti/rra/localhost_load_1min_5.rrd AVERAGE



################################附一snmpd.conf文件########################################################
####
# First, map the community name "public" into a "security name"

#       sec.name  source          community
com2sec notConfigUser  default       public  #定义community名称为 public,映射到安全名 notConfigUser。

####
# Second, map the security name into a group name:

#       groupName      securityModel securityName
group   notConfigGroup v1           notConfigUser   #定义安全用户名notConfigUser映射到notConfigGroup组。
group   notConfigGroup v2c           notConfigUser

####
# Third, create a view for us to let the group have rights to: #定义一个view,来决定notConfigUser可以操作的范围。


# Make at least  snmpwalk -v 1 localhost -c public system fast again. #定义可查看的snmp的范围。
#       name           incl/excl     subtree         mask(optional)
view    systemview    included   .1.3.6.1.2.1.1
view    systemview    included   .1.3.6.1.2.1.25.1.1
view all   included  .1
####
# Finally, grant the group read-only access to the systemview view. #给notConfigGroup组所定义view名 all 以只读权限。

#       group          context sec.model sec.level prefix read   write  notif
access  notConfigGroup ""      any       noauth    exact  all  none none
#access  notConfigGroup ""      any       noauth    exact  mib2 none none

# -----------------------------------------------------------------------------

# Here is a commented out example configuration that allows less
# restrictive access.

##########################################附二标准的检查步骤#######################################
使用Cacti一段时间,NAN问题是最常见和最令人头痛不已的。还好http://docs.cacti.net/node/283上面有解决它的步骤,bugs.cacti.net上面也有很多。我是这么做的,最常用的就是第1个了:

1. Check Cacti Log File
检查Log文件,这可是最常用的一步了,文件在/log/cacti.log,Host后面的数字可以在 Devices里面点SNMP Agent之后在URL的最后看到,常见的Log错误:


CACTID: Host[...] DS[....] WARNING: SNMP timeout detected [500 ms], ignoring host '........'
这个是说SNMP超时,可以更改Settings->Poller的时间来解决


CACTID: Poller [...] Host[...] WARNING: Recache Event Detected for Host
如果老出现的知,在System Utilities->Rebuild Poller Cache里面重建下 poller,或用 php rebuild_poller_cache.php 命令也一样


CACTID: Poller [...] Host[...] WARNING: Result from SNMP not valid. Partial Result: No Such Object avail
你的SNMP Agent不支持该类型的OID类型

2. Check Basic Data Gathering
这个好办,测试一下数据是否能够正常得到,SNMP Agent代理是否工作正常,OID是否能够或允许访问到,用SNMP命令
snmpwald -v 2c -c public target-host system

3. Check cacti's poller
用cmd.php来检查具体的SNMP Agent是否正常
php -q cmd.php

4. Check MySQL updating
这个我没有用过

5. Check rrd file updating
rrdtool update --template ...

6. Check rrd file ownership
这个简单,看各RRD文件的访问权限是否设置正确

7. Check rrd file numbers
用命令看看具体的RRD文件里面的数据是不是正常的,如果是NAN,返回上面具体检查
rrdtool fetch AVERAGE

8. Check rrdtool graph statement
打开Graph Management里面具体的SNMP Agent,并且打开Debug功能,具体看DEF的状态,它们指向具体的RRD文件

9. Miscellaneous
如果MySQL数据库里面记录的数据是否过大,如果过大可以Cacti里面的Memory setting,默认是8M.

10. RPM Installation?
看看RPM是否安装完整

11. Not NaN, but 0 (zero) values?

你可能感兴趣的:(linux)