xinjiang 发表于 2015-11-22 12:50:08

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
accessnotConfigGroup ""      any       noauth    exactallnone 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.namesource          community
com2sec notConfigUserdefault       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 leastsnmpwalk -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   writenotif
accessnotConfigGroup ""      any       noauth    exactallnone none
#accessnotConfigGroup ""      any       noauth    exactmib2 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文件,这可是最常用的一步了,文件在<path_cacti>/log/cacti.log,Host后面的数字可以在 Devices里面点SNMP Agent之后在URL的最后看到,常见的Log错误:


CACTID: Host[...] DS[....] WARNING: SNMP timeout detected , 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 <id> <id>

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

5. Check rrd file updating
rrdtool update <filename> --template ...

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

7. Check rrd file numbers
用命令看看具体的RRD文件里面的数据是不是正常的,如果是NAN,返回上面具体检查
rrdtool fetch <rrd file> 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?
页: [1]
查看完整版本: cacti无法显示数据解决方法