Graphite如何根据选定的间隔进行汇总

Posted

技术标签:

【中文标题】Graphite如何根据选定的间隔进行汇总【英文标题】:Graphite how to summarize based on selected interval 【发布时间】:2014-12-21 06:31:15 【问题描述】:

如何根据选定的时间间隔汇总石墨数据?如果选定的时间间隔最长为 1 小时,则数据计数器应显示每分钟的数据点。如果间隔长达 3 小时,则应在 5 分钟内汇总数据。如果间隔最长为 1 天,则应在 15 分钟内汇总数据。

这可能吗?

【问题讨论】:

【参考方案1】:

您可以通过创建间隔模板变量、启用“自动”选项并设置步数来关闭此功能。在下面的示例中,它设置为 40 步,因此它将根据时间范围选择适当的间隔。

像这样使用变量:

【讨论】:

【参考方案2】:

AFAIK Graphite 不会自动执行此操作。

但是,由于 Graphite 有一个公共 API,您可以自己编写脚本来自动检索具有正确汇总周期的图形。例如,Grafana 在使用间隔模板的“自动”选项时会这样做。

伪代码:

if interval == '1h':
    get_metric(summarize(metric, '1min', 'sum')
elif interval == '3h':
    get_metric(summarize(metric, '5min', 'sum')
elif interval == '1d':
    get_metric(summarize(metric, '15min', 'sum')

【讨论】:

模板正是我想要的。感谢您为我指明正确的方向。 Graphana 不会自动执行此操作对我来说很奇怪。当我显示最后一小时时,我得到了所有数据事件(我相信),但是当我显示最后 7 天时,我看到每小时有一个点,其中单个指标的值在该范围内,而不是总和。有没有办法使用summarize,但它是否适用于 Graphana 在显示器中使用的任何范围?

以上是关于Graphite如何根据选定的间隔进行汇总的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 UIPickerView 的选定值作为通知的时间间隔?

Graphite 组时间戳事件(按周)

如何在 Graphite 中每天特定时间获取数据点?

Mysql查询检索帖子并根据特定日期间隔进行过滤

用分类汇总,实现分页打印

Golang优秀开源项目汇总