【问题标题】:How to calculate uptime % or Downtime % in Prometheus Grafana如何在 Prometheus Grafana 中计算正常运行时间百分比或停机时间百分比
【发布时间】:2020-09-01 23:54:06
【问题描述】:

如何使用以下查询 process_uptime_seconds{application="$application", instance="$instance", job!="jobid"} 计算 prometheus grafana 中的正常运行时间百分比

【问题讨论】:

    标签: prometheus grafana metrics micrometer


    【解决方案1】:

    您不希望使用该指标来计算正常运行时间。数字重置的事实仅意味着该过程重新启动。

    相反,我建议使用 Prometheus 自动创建的 up 指标。然后,您可能希望按应用程序对其进行分组并忽略实例和作业标识。

    类似:

    sum(up{application="$application"} == 1) by (application) /
     sum(up{application="$application"}) by (application)
    

    这样,您就可以将成功申请的人数除以该申请的总数。

    【讨论】:

    • 不幸的是,“sum(up{application="$application"} == 1) by (application)”行不起作用,我收到语法错误。我也无法通过应用程序找到指标,而是使用了实例
    • 由于 up 是 prometheus 根据抓取实例时间创建的特殊指标,因此标签 application 只有在 Prometheus 抓取和/或重新标记期间出现时才会出现。我不确定你的语法错误是什么,因为它对我有用。
    • 可以用instance和job来计算吗?您也可以分享计算正常运行时间百分比的确切表达式,这将非常有帮助。
    • 有趣的是,如果您使用的是 Grafana-cloud-agent,这也有效!
    【解决方案2】:

    对于up,你能做这样的事情吗?

    (1 - avg_over_time(up[1d])) * 86400
    

    这会给你最后一天的秒数。

    【讨论】:

      猜你喜欢
      • 2020-09-11
      • 2018-10-20
      • 2010-12-20
      • 2021-09-12
      • 1970-01-01
      • 2021-11-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-24
      相关资源
      最近更新 更多