west5211 发表于 2013-01-29 09:54

cacti自建模板有图但数据为“nan”的问题

本帖最后由 west5211 于 2013-01-29 09:56 编辑

cacti使用的是0.8.8a,自带的模板可以顺利出图。
使用自定义oid的方式自建数据模板和图形模板后,发现可以顺利出图,但是图形数据始终为“nan”

使用:rrdtool fetch /var/www/html/rra/xxx.rrd AVERAGE 发现rrd文件中数据为nan

1359423120: -nan
1359423180: -nan
1359423240: -nan
1359423300: -nan
1359423360: -nan
1359423420: -nan
1359423480: -nan
1359423540: -nan
1359423600: -nan
1359423660: -nan

使用rrdtool info 查看情况如下:
# rrdtool info /var/www/html/rra/xxx.rrd
filename = "/var/www/html/xxx.rrd"
rrd_version = "0003"
step = 60
last_update = 1359423664
ds.type = "GAUGE"
ds.minimal_heartbeat = 120
ds.min = 0.0000000000e+00
ds.max = 2.0000000000e+02
ds.last_ds = "U"
ds.value = NaN
ds.unknown_sec = 4
rra.cf = "AVERAGE"
rra.rows = 500
rra.cur_row = 378
rra.pdp_per_row = 1
rra.xff = 5.0000000000e-01
rra.cdp_prep.value = NaN
rra.cdp_prep.unknown_datapoints = 0
rra.cf = "AVERAGE"
rra.rows = 532800
rra.cur_row = 405749
rra.pdp_per_row = 1
rra.xff = 5.0000000000e-01
rra.cdp_prep.value = NaN
rra.cdp_prep.unknown_datapoints = 0
rra.cf = "AVERAGE"
rra.rows = 532800
rra.cur_row = 79880
rra.pdp_per_row = 1
rra.xff = 5.0000000000e-01
rra.cdp_prep.value = NaN
rra.cdp_prep.unknown_datapoints = 0
rra.cf = "AVERAGE"
rra.rows = 532800
rra.cur_row = 331555
rra.pdp_per_row = 1
rra.xff = 5.0000000000e-01
rra.cdp_prep.value = NaN
rra.cdp_prep.unknown_datapoints = 0
rra.cf = "AVERAGE"
rra.rows = 532800
rra.cur_row = 226123
rra.pdp_per_row = 1
rra.xff = 5.0000000000e-01
rra.cdp_prep.value = NaN
rra.cdp_prep.unknown_datapoints = 0
rra.cf = "MIN"
rra.rows = 500
rra.cur_row = 307
rra.pdp_per_row = 1
rra.xff = 5.0000000000e-01
rra.cdp_prep.value = NaN
rra.cdp_prep.unknown_datapoints = 0
rra.cf = "MIN"
rra.rows = 532800
rra.cur_row = 367254
rra.pdp_per_row = 1
rra.xff = 5.0000000000e-01
rra.cdp_prep.value = NaN
rra.cdp_prep.unknown_datapoints = 0
rra.cf = "MIN"
rra.rows = 532800
rra.cur_row = 177854
rra.pdp_per_row = 1
rra.xff = 5.0000000000e-01
rra.cdp_prep.value = NaN
rra.cdp_prep.unknown_datapoints = 0
rra.cf = "MIN"
rra.rows = 532800
rra.cur_row = 22639
rra.pdp_per_row = 1
rra.xff = 5.0000000000e-01
rra.cdp_prep.value = NaN
rra.cdp_prep.unknown_datapoints = 0
rra.cf = "MIN"
rra.rows = 532800
rra.cur_row = 14710
rra.pdp_per_row = 1
rra.xff = 5.0000000000e-01
rra.cdp_prep.value = NaN
rra.cdp_prep.unknown_datapoints = 0
rra.cf = "MAX"
rra.rows = 500
rra.cur_row = 488
rra.pdp_per_row = 1
rra.xff = 5.0000000000e-01
rra.cdp_prep.value = NaN
rra.cdp_prep.unknown_datapoints = 0
rra.cf = "MAX"
rra.rows = 532800
rra.cur_row = 29191
rra.pdp_per_row = 1
rra.xff = 5.0000000000e-01
rra.cdp_prep.value = NaN
rra.cdp_prep.unknown_datapoints = 0
rra.cf = "MAX"
rra.rows = 532800
rra.cur_row = 274390
rra.pdp_per_row = 1
rra.xff = 5.0000000000e-01
rra.cdp_prep.value = NaN
rra.cdp_prep.unknown_datapoints = 0
rra.cf = "MAX"
rra.rows = 532800
rra.cur_row = 52360
rra.pdp_per_row = 1
rra.xff = 5.0000000000e-01
rra.cdp_prep.value = NaN
rra.cdp_prep.unknown_datapoints = 0
rra.cf = "MAX"
rra.rows = 532800
rra.cur_row = 396561
rra.pdp_per_row = 1
rra.xff = 5.0000000000e-01
rra.cdp_prep.value = NaN
rra.cdp_prep.unknown_datapoints = 0
rra.cf = "LAST"
rra.rows = 500
rra.cur_row = 87
rra.pdp_per_row = 1
rra.xff = 5.0000000000e-01
rra.cdp_prep.value = NaN
rra.cdp_prep.unknown_datapoints = 0
rra.cf = "LAST"
rra.rows = 532800
rra.cur_row = 467985
rra.pdp_per_row = 1
rra.xff = 5.0000000000e-01
rra.cdp_prep.value = NaN
rra.cdp_prep.unknown_datapoints = 0
rra.cf = "LAST"
rra.rows = 532800
rra.cur_row = 182921
rra.pdp_per_row = 1
rra.xff = 5.0000000000e-01
rra.cdp_prep.value = NaN
rra.cdp_prep.unknown_datapoints = 0
rra.cf = "LAST"
rra.rows = 532800
rra.cur_row = 498929
rra.pdp_per_row = 1
rra.xff = 5.0000000000e-01
rra.cdp_prep.value = NaN
rra.cdp_prep.unknown_datapoints = 0
rra.cf = "LAST"
rra.rows = 532800
rra.cur_row = 431896
rra.pdp_per_row = 1
rra.xff = 5.0000000000e-01
rra.cdp_prep.value = NaN
rra.cdp_prep.unknown_datapoints = 0


通过手工运行snmpwalk,可以取得数据

#snmpwalk -v 2c -c xxx 10.1.1.27 1.3.6.1.4.1.2011.5.25.111.4.1.1.26.1.49.1.49
SNMPv2-SMI::enterprises.2011.5.25.111.4.1.1.26.1.49.1.49.8044.1 = Gauge32: 2


在cacti中debug图形和数据,均显示OK,cacti其他图形出图也没有任何问题,就这个自建的图形有问题,实在是找不到原因了,求高手帮分析下,谢谢!数据模板和图形模板以及cacti生成的图形如下:


west5211 发表于 2013-01-29 09:57

自己先顶。:em02:

ray7hu 发表于 2013-11-02 12:24

碰到和你一样的问题
rrdtool fetch没数据,info有数据

johnsz 发表于 2014-08-11 20:17

楼主,这个问题是否解决了,我也遇到了同样的问题

uffqqee 发表于 2014-08-15 10:45

去这里看看吧很经典的http://www.16qianjin.com/

west5211 发表于 2015-03-11 15:54

本帖最后由 west5211 于 2015-03-11 15:58 编辑

回复 4# johnsz


    已解决。原因是snmpwalk使用的oid与最终获得值的oid有差异,导致无数。
#snmpwalk -v 2c -c xxx 10.1.1.27 1.3.6.1.4.1.2011.5.25.111.4.1.1.26.1.49.1.49
SNMPv2-SMI::enterprises.2011.5.25.111.4.1.1.26.1.49.1.49.8044.1 = Gauge32: 2

后来写了个脚本直接获取数值就好了。

#use strict;
use Socket qw(:DEFAULT :crlf);
use Fcntl;

sub main
{
        my ($argc,@argv)=@_;
        my $ip=$argv;
        my $comm=$argv;
        #print "$host\n$comm\n";

        my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time-24*3600);
        $year+=1900;
        ++$mon;
        my $time= $year.$mon.$mday;
        my $time1;

        my $cmd="snmpwalk -v 2c -c $comm $ip 1.3.6.1.4.1.2011.5.25.111.4.1.1.26.1.49.1.49";
        my $result_string=`$cmd`;
        #SNMPv2-SMI::enterprises.2011.5.25.111.4.1.1.26.1.49.1.49.8084.1 = Gauge32: 20
        #print "$result_string\n";
       
        my $result;
        if ($result_string=~/Gauge32\:\s+(\d+)/) {
                $result=$1;
                print "$result\n";
        }

       
}

main($#ARGV,@ARGV);
页: [1]
查看完整版本: cacti自建模板有图但数据为“nan”的问题