【问题标题】:RRD Time since last non-change of counterRRD 自上次不更改计数器以来的时间
【发布时间】:2017-03-12 02:37:22
【问题描述】:

我有一个 RRD DCOUNTER,它从水表中获取数据:自从查看水表的程序启动以来,有这么多单位。

所以输入可能是 2,3,4,5,5,5,5,8,12,13,13,14,14,14,14,14 这意味着流量是 1,1,1,0,0,0,0,3,4,1,0,1,0,0,0,0,0

我想要一张图表,显示自上次休息后的分钟数 0,1,2,0,1,2,3,0,0,0,0,0,0,1,2,3,4,5

如果流量从不为零,则一定有泄漏。 希望图表从就寝时间到醒来,从离开上班到回来都稳步上升。

想法?

【问题讨论】:

    标签: rrdtool rrd


    【解决方案1】:

    首先,将输入数据源设置为 COUNTER 类型,以便存储更改,即流。

    现在,您可以定义一个计算数据源(用于图表等),计算自最后一个零以来的分钟数,使用类似:

    IF ( flow == 0 ) THEN timesincerest = 0 ELSE timesincerest = previous value of timesincerest + 1 END

    在 RPN 中,这将是:

    timesincerest = flow, 0, GT, PREV(timesincerest), STEPWIDTH, +, 0, IF

    这将为您提供自上次重置以来的秒数。

    【讨论】:

    • 谢谢,但在删除 rrdcgi 显然不喜欢的空格后,我在网络服务器日志中只得到“ (mod_cgi.c.1319) clean up CGI: process dead with signal 11” .
    • STEPWIDTH 是一个相对较新的项目,所以如果你有一个旧的 RRDTool 版本,它可能无法工作 - 用你的步长替换它。您可能还想将您提供给 rrdcgi 的整个命令参数发布给 rrdcgi,以确保您的其余语法正确。
    猜你喜欢
    • 2017-03-05
    • 2019-06-06
    • 2019-10-22
    • 2014-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-24
    • 1970-01-01
    相关资源
    最近更新 更多