用于 rrdtool 获取的 Cronjob
Cronjob for rrdtool fetch
我已经创建了 bash 文件,它可以 运行 使用控制台正确使用,但不能使用 crontab。在 /home/zon/rrd-aggregate/agg.log
它 returns nan
。但是如果它 运行s 使用控制台,它会正确显示来自 rrd 的值。
# aggregate.sh
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/iboss-el-srv_linux_cpu_system_4703.rrd 平均值 |tail -2|head -n1 |cut -d":" -f2 |tr -d " "
1.0488333333e+00
enter image description here
rrdtool fetch /var/www/html/cacti/rra/iboss-el-srv_linux_cpu_nice_4702.rrd 平均值
它显示的不止于此,但我只是在这里放了一个示例。
1518779700: 2.2383255814e+00
1518780000: 9.6494444444e-01
1518780300: 2.0843398365e+00
1518780600:-南
enter image description here
新代码如下所示:
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 fetch 检索的第一个 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
我已经创建了 bash 文件,它可以 运行 使用控制台正确使用,但不能使用 crontab。在 /home/zon/rrd-aggregate/agg.log
它 returns nan
。但是如果它 运行s 使用控制台,它会正确显示来自 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/iboss-el-srv_linux_cpu_system_4703.rrd 平均值 |tail -2|head -n1 |cut -d":" -f2 |tr -d " " 1.0488333333e+00
enter image description here
rrdtool fetch /var/www/html/cacti/rra/iboss-el-srv_linux_cpu_nice_4702.rrd 平均值
它显示的不止于此,但我只是在这里放了一个示例。
1518779700: 2.2383255814e+00 1518780000: 9.6494444444e-01 1518780300: 2.0843398365e+00 1518780600:-南
enter image description here
新代码如下所示:
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 fetch 检索的第一个 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