如何防止扩展脚本的snmpdcaching结果

在我的freebsd盒子上,我有来自net-snmp-5.5_4包的snmpd守护进程。

在snmpd.conf文件中我有:

extend .1.3.6.1.4.1.2021.2 inpt /usr/bin/perl /usr/local/etc/snmp/mpdinput.pl 

其中mpdinput.pl我的脚本,从一些mpd5-ngnetworking接口返回input八位字节。

仙人掌读取这个值,并绘制这样的图表: 图形

我添加了红线来图。

在标记的地方snmpdcaching结果并返回prev值,这就是为什么rrdtool绘制零活动。 这对我来说是一个问题。

如何防止caching导致snmpd?

根据snmp文档;

`扩展[MIBOID]名称PROG ARGS的工作方式与exec指令类似,但有一些改进。 MIB表(nsExtendConfigTable等)由NAME标记进行索引,因此不受从configuration文件中读取条目顺序的影响。 有两个结果表 – 一个(nsExtendOutput1Table)包含退出状态,每个扩展项的第一行和完整输出(作为单个string),另一个(nsExtendOutput2Table)包含完整输出作为一系列单独的行。 如果指定了MIBOID,那么configuration和结果表将在OID树中的这个位置被植根,但是以完全相同的方式结构化。 这意味着几个单独的扩展指令可以指定相同的MIBOID根,而不会发生冲突。

退出状态和输出分别为每个条目caching,并且可以使用nsCacheTable清除(并configuration了caching行为)。 `

你也可以看看这里 http://www.fineconnection.com/How_to_set_the_net-snmp_agent_update_or_counter_refresh_interval

如果你可以使用你的perl脚本作为snmpd的一个扩展,那么你也应该可以把它用作Cacti的直接数据源,完全跳过snmpd。