为什么Cacti显示空图,即使创建了rrd文件?

Div*_*ngh 1 snmp rrdtool cacti

我已经开发了自己的SNMP服务,我想绘制一个提供的OID图.所以,我在Cacti创建了一个图表. - )显示设备. - )它正在创建rrd文件.(RRDTool说好的). - )显示图表,但它是空的.

但是当我检查它时,说

rrdtool fetch <rrd file> AVERAGE 
Run Code Online (Sandbox Code Playgroud)

它告诉我nan所有的价值观.被监视的OID的值为47,我设置了min = 0和max = 100.

我正在使用rpath的Cacti设备:

http://www.rpath.org/ui/#/appliances?id=http://www.rpath.org/api/products/cacti-appliance

不过,我无法在图表上显示价值..

问题出在哪儿?有人可以告诉我吗?

小智 6

首先,在Utilities菜单下使用Cacti的"Rebuild Poller Cache"功能.如果这不起作用,请检查RRD文件是否实际使用新数据进行更新.为此,请使用以下命令:

rrdtool last [filename.rrd] 这将输出最后一次(在unix时间戳中)已将新值插入RRA文件,您可以将其与date +%s将输出的当前时间进行比较.

如果它没有使用数据更新,那么您应该通过Cacti Web UI上的设置页面将cacti日志级别更改为DEBUG并查找相应的消息.如果轮询器无法获取数据,则通常是与connectiviy/SNMP相关的问题.您可以通过手动轮询该主机上的特定OID来进一步检查问题:

snmpwalk -c[SNMP COMMUNITY] -v2c [HOSTNAME OR IP ADDRESS] 1.3.6.1.2.1
Run Code Online (Sandbox Code Playgroud)

您可以使用上面的命令和OID(1.3.6.1.2.1)来查看您是否收到了回复.如果这样可行,那么您应该将命令从snmpwalk更改为snmpget,将OID更改为您尝试轮询并重试的实际OID.

如果RRD正在使用新数据进行更新,但您仍然在图中获得NaN,那么我建议您查看与轮询间隔和轮询器cronjob间隔相关的数据源的心跳和步长值(通过数据模板).

这些值确定在插入NaN之前RRD文件将丢失数据的次数.cronjob调用cacti poller开始执行它的轮询周期.轮询器间隔是轮询器在两个轮询周期之间等待的实际时间,如果它确实是由cronjob及时调用的.

因此,对于1分钟轮询(在轮询器和cronjob上),您将不得不使用60(秒)的步长和120的心跳.对于5分钟轮询,步骤将是300并且心跳将是600.

这主要是由于有人在设置页面上更改了轮询时间间隔.

来自Cacti论坛的Gandalf写了一篇很好的指南,你可以使用,并在Cacti论坛上找到进一步的帮助.

祝好运!:)