我已经创建了bash文件,并且可以使用控制台正确运行,但不能使用crontab运行。在/home/zon/rrd-aggregate/agg.log
中,它返回nan
。但是,如果它使用控制台运行,它将正确显示RRD的值。
cat aggregate-rrd.sh
rm -rf /home/zon/rrd-aggregate/agg.log
rrdtool fetch /var/www/html/cacti/rra/iboss-el-srv_linux_cpu_system_4703.rrd AVERAGE |tail -2|head -n1 |cut -d":" -f2 |tr -d " " >> /home/zon/rrd-aggregate/agg.log
rrdtool fetch /var/www/html/cacti/rra/iboss-el-srv_linux_cpu_user_4704.rrd AVERAGE |tail -2|head -n1 |cut -d":" -f2 |tr -d " " >> /home/zon/rrd-aggregate/agg.log
rrdtool fetch /var/www/html/cacti/rra/iboss-el-srv_linux_cpu_nice_4702.rrd AVERAGE |tail -2|head -n1 |cut -d":" -f2 |tr -d " " >> /home/zon/rrd-aggregate/agg.log
在日志文件中,它仅显示nan。
如果我从控制台跑步,则可以这样工作。
rrdtool fetch/var/www/html/cacti/rra/rra/iboss-el-srv_linux_cpu_system_4703.rrd平均| tail -2 | tail -2 | head -n1 | cut -d | cut -d | cut -d |1.048833333e 00
在此处输入图像描述
rrdtool fetch/var/www/html/cacti/rra/iboss-el-srv_linux_cpu_nice_4702.rrd平均
它显示的不止于此,但我只是在这里放了一个样本。
1518779700:2.2383255814E 001518780000:9.649444444E-011518780300:2.0843398365E 001518780600:-Nan
在此处输入图像描述
新代码看起来如下:
rrdtool fetch /var/www/html/cacti/rra/iboss-el-srv_linux_cpu_system_4703.rrd AVERAGE |tail -3|head -n1 |cut -d":" -f2 |tr -d " " >> /home/zon/rrd-aggregate/agg.log
感谢这里的所有人。现在,我得到了答案,也许是我用rrdtool提取的第一个rrd文件每5分钟发生一次,而Cronjob则使用相同的时间点进行操作。这就是为什么我在Cronjob方面得到Nan的原因。与第一个RRD相比,解决方案的解决方案是将新RRD妥协为5分钟。
rrdtool fetch /var/www/html/cacti/rra/iboss-el-srv_linux_cpu_system_4703.rrd AVERAGE |tail -3|head -n1 |cut -d":" -f2 |tr -d " " >> /home/zon/rrd-aggregate/agg.log