首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RRDTool: RRD文件未更新

RRDTool: RRD文件未更新
EN

Stack Overflow用户
提问于 2011-05-22 00:32:43
回答 2查看 5.2K关注 0票数 0

我的RRD file没有更新,原因是什么?

图中显示的图例为:-nanv

我使用以下语法创建了RRD文件:

代码语言:javascript
复制
rrdtool create ups.rrd --step 300 
DS:input:GAUGE:600:0:360 
DS:output:GAUGE:600:0:360 
DS:temp:GAUGE:600:0:100 
DS:load:GAUGE:600:0:100 
DS:bcharge:GAUGE:600:0:100 
DS:battv:GAUGE:600:0:100 
RRA:AVERAGE:0.5:12:24 
RRA:AVERAGE:0.5:288:31 

然后,我使用以下语法更新了该文件:

代码语言:javascript
复制
rrdtool update ups.rrd N:$inputv:$outputv:$temp:$load:$bcharge:$battv

并将其绘制成图表:

代码语言:javascript
复制
rrdtool graph ups-day.png 
-t "ups " 
-s -1day 
-h 120 -w 616 
-a PNG 
-cBACK#F9F9F9 
-cSHADEA#DDDDDD 
-cSHADEB#DDDDDD 
-cGRID#D0D0D0 
-cMGRID#D0D0D0 
-cARROW#0033CC 
DEF:input=ups.rrd:input:AVERAGE 
DEF:output=ups.rrd:output:AVERAGE 
DEF:temp=ups.rrd:temp:AVERAGE 
DEF:load=ups.rrd:load:AVERAGE 
DEF:bcharge=ups.rrd:bcharge:AVERAGE 
DEF:battv=ups.rrd:battv:AVERAGE 
LINE:input#336600 
AREA:input#32CD3260:"Input Voltage" 
GPRINT:input:MAX:" Max %lgv" 
GPRINT:input:AVERAGE:" Avg %lgv" 
GPRINT:input:LAST:"Current %lgv\n" 
LINE:output#4169E1:"Output Voltage" 
GPRINT:output:MAX:"Max %lgv" 
GPRINT:output:AVERAGE:" Avg %lgv" 
GPRINT:output:LAST:"Current %lgv\n" 
LINE:load#FD570E:"Load" 
GPRINT:load:MAX:"      Max %lg%%" 
GPRINT:load:AVERAGE:" Avg %lg%%" 
GPRINT:load:LAST:" Current %lg%%\n" 
LINE:temp#000ACE:"Temperature" 
GPRINT:temp:MAX:"   Max %lgc" 
GPRINT:temp:AVERAGE:"    Avg %lgc" 
GPRINT:temp:LAST:" Current %lgc" 
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-09 12:25:57

您至少需要13次更新,每次更新间隔5分钟(IE,12个PDP (主数据点)),然后才能将单个CDP (整合数据点)写入RRAs,从而使您能够在图形上获取数据点。这是因为你的最小分辨率RRA是12,这意味着你需要12个PDP来制作一个CDP。

在您有足够的数据来编写CDP之前,您没有什么要绘制的,并且您的图形将始终具有未知的数据。

或者,添加一个较小的分辨率RRA (可能计数为1),这样在获得完整的CDP之前,您就不需要收集太长时间的数据。

票数 2
EN

Stack Overflow用户

发布于 2011-06-05 05:35:54

更新脚本需要以与数据库中定义的时间间隔完全相同的间隔运行。我看到它的步长值是300,所以数据库应该每5分钟更新一次。只需将您的更新脚本放在cron作业中(您也可以对您的图形脚本执行此操作)

例如,

代码语言:javascript
复制
sudo crontab -e

如果是第一次运行,请选择您最喜欢的编辑器(我通常使用Vim),并添加脚本的完整路径位置,然后每5分钟运行一次。所以添加这个(别忘了重命名路径):

代码语言:javascript
复制
*/5 * * * *  /usr/local/update_script > /dev/null && /usr/local/graph_script > /dev/null

保存它,并等待几分钟。如果输出可以由脚本生成,我通常会将输出重定向到/dev/null。因此,如果要执行的脚本给出输出,crontab将失败并发送通知。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6083014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档