在grafana中查找当前时间和上次失败之间的差异?

Posted

技术标签:

【中文标题】在grafana中查找当前时间和上次失败之间的差异?【英文标题】:Find the difference between current time and last failure in grafana? 【发布时间】:2021-03-31 21:18:27 【问题描述】:

我建立了一个仪表板,我可以通过 (total_failed0) 等条件获取最后一次失败时间,但这给了我 10:20 这样的时间输出,但我需要以表格形式生成输出通过计算(当前时间 - 失败时间)来计算“上次失败 30 分钟前”。我可以在仪表板中显示。 查询给定 -

    SELECT
  end_time AS "time",
  
  (total_failed::integer)
FROM job
where
  total_failed<>'0'
GROUP BY end_time,total_failed

让我知道是否有人可以帮助我编写该 sql 或该仪表板的表示。

【问题讨论】:

您的代码看起来确实像 Postgres,如果是,请删除其他不兼容的数据库标签。 当然可以,但你能帮我解决一下吗 【参考方案1】:

也许ageextract 和 CTE 的组合就是您所需要的:

WITH data AS (
    SELECT age(clock_timestamp(), end_time) AS ago,
           total_failed::integer AS fail_count
    FROM job
    WHERE ...
)
SELECT extract(minutes FROM ago)
          + 60 * extract(hours FROM ago) AS minutes_passed,
       fail_count
FROM data;

【讨论】:

以上是关于在grafana中查找当前时间和上次失败之间的差异?的主要内容,如果未能解决你的问题,请参考以下文章

查找时间和当前时间之间的差异

查找当前版本和上一个版本之间的差异

如何计算grafana / postgres中不同记录的列值之间的差异

SQL查找上一行和当前行之间的差异

两个数据点之间的 Grafana 差异

Grafana 查询时间增量