【问题标题】:How can I create an SLA chart in Grafana?如何在 Grafana 中创建 SLA 图表?
【发布时间】:2016-03-15 00:34:38
【问题描述】:

我有一个seriesMetric 和一个constantLine(目标/SLA)。我希望能够“计算”线下的出现次数,然后除以总数以获得 SLA 内的百分比。我知道如何使用asPercent 执行第二部分,但我不知道如何计算 Grafana 中行下方的出现次数。没有countif 功能。我尝试了currentBelowaverageBelow,但后来我的图表上什么也没有出现(两条线消失了)。我想我做错了什么。

我认为这是一个非常常见的用例,并且我认为有人已经这样做了。理想情况下,% 会出现在图表旁边的 singleStat 面板中。

(我们使用 Gafana 和 Graphite。)

Sample SLA Chart

【问题讨论】:

    标签: graphite grafana


    【解决方案1】:

    多亏了一位同事,我们终于弄明白了。以下是对我们有用的方法:

    "A", "target": "averageSeries(stats.timers.rails.production-aws.rack.*.util.mean)"
    

    这是主要指标。

    "B", "target": "removeAboveValue(#A,25)"
    

    这会删除超出 SLA 的值。我们的 SLA 是利用率应该是

    "C", "target": "alias(transformNull(asPercent(#B), 0), '% within SLA')"
    

    asPercent 将系列自行划分,从而创建 1(和 Null)。

    transformNull 使用 removeAboveValue 函数将 Null 替换为 0。

    最后,在 Axis & Grid > Legend > 点击 Average 和 Show 2 Decimals。这样做可以在您查看的任何时间范围内提供平均 SLA。

    这是结果。 SLA Chart

    【讨论】:

      【解决方案2】:

      根据您的 SLA 将衡量的具体内容,可以通过多种方式解决此问题。 这个问题的一般答案,也是我在项目中解决它的方法,是让一个外部脚本从 Graphite 中提取一些相关指标,然后简单地将结果推回(使用像 x.x.sla.satisfied 这样的新键)作为纯二进制结果; 0 或 1。然后,只需平均系列的值并以百分比形式显示它就是一件简单的事情。 因为最终,您要么满足 SLA,要么不满足。如果您想更深入地挖掘,您可以随时查看图片中的图表。

      【讨论】:

        猜你喜欢
        • 2014-12-13
        • 1970-01-01
        • 2017-10-16
        • 1970-01-01
        • 2019-09-26
        • 1970-01-01
        • 2019-08-28
        • 1970-01-01
        • 2014-12-26
        相关资源
        最近更新 更多