1

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

但是当我检查它时,说

rrdtool fetch <rrd file> AVERAGE 

它向我展示nan了所有的价值观。监控的 OID 值为 47,我设置了 min=0 和 max=100。

我正在通过 rpath 使用 Cacti 设备:

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

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

问题出在哪里?谁能告诉我?

4

4 回答 4

7

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

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

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

snmpwalk -c[SNMP COMMUNITY] -v2c [HOSTNAME OR IP ADDRESS] 1.3.6.1.2.1

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

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

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

因此,对于 1 分钟的轮询(在轮询器和 cronjob 上),您必须使用 60(秒)的步长和 120 的心跳。对于 5 分钟的轮询,步长将为 300,心跳为 600。

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

来自 Cacti 论坛的 Gandalf 写了一个很好的指南,您可以使用它,进一步的帮助可以在Cacti 论坛上找到。

祝你好运!:)

于 2014-06-10T13:33:48.340 回答
0

也许 cacti 没有访问 rrd 文件所需的权限,并且您的测试是使用具有所需权限的用户完成的,例如 root?

于 2011-11-24T20:05:31.133 回答
0

你确定你收集了足够的数据吗?

如果您的 RRD 的步长为 1 分钟,并且您的第一个 RRA 的综合计数为 1 (1cdp=1pdp),那么您应该收集至少 (step x (count + 1)) 秒的数据,然后才能看到任何图中的数据。确保您收集数据的频率至少与步长一样多。

如果您收集了 10 分钟的数据但没有显示任何内容,那么请确保您确实在收集数据,确保您获得的值在范围内,并且正在使用它们。检查 RRD 文件的最后修改时间。在更新之前打印出这些值,以验证它们是您认为的值。

于 2014-07-13T21:55:11.693 回答
0

您应该仔细检查 Cacti 绘制的范围。我移动了图形过滤器中的值并在图形中发现了一小块数据,然后您只需对其进行调整。

发现了一小块

于 2016-10-16T23:46:58.773 回答