【问题标题】:Daily & monthly availability percentages via Prometheus? (or monthly uptime perc)Prometheus 的每日和每月可用性百分比? (或每月正常运行时间 perc)
【发布时间】:2019-10-06 12:39:38
【问题描述】:

需要一个或多个 Docker 服务的可用性数据

我们使用 Prometheus 在 Docker Swarm 环境中收集指标。工作正常!

我们如何获得每日和/或每月指标?

【问题讨论】:

    标签: docker-swarm prometheus


    【解决方案1】:

    Recording Rules 将帮助您定期汇总和分组提取的指标,并将其结果提取到 prometheus 中。

    【讨论】:

      【解决方案2】:

      另一个答案中的建议可能是向前迈出的一大步。谢谢@vinodk

      问了很多开发者关于这个问题,我终于找到了一个好的解决方案。

      解决办法是:

      • 使用 Prometheus 作为可用性测量的数据源。无论如何,定期监控都需要 Prometheus。
      • 为防止 Docker 镜像或节点崩溃时监控数据丢失,请将数据卷映射到外部文件存储,例如S3。
      • 使用数据可视化工具执行单一但非常强大的 Prometheus API 调用。

      作为示例,此 Prometheus API 调用提供了几天内的每日正常运行(或可用性)时间。注意使用 Z/GMT 时间。

      http://prometheus-server/prometheus/api/v1/query_range?query=avg_over_time(up[1h])*100&start=2019-12-15T06:00:00.000Z&end=2019-12-17T16:59:59.000Z&step=1d
      

      替代品呢?

      1) 将 Prometheus 的结果存储在远程数据库中,并单独查询。仅检索一个月的可用性百分比有点矫枉过正。

      2) 您可以使用内存占用较小的工具“Telegraph”。它可以将数据存储在 InfluxDb 中。我喜欢用于监控的 Prometheus 解决方案/架构/标准,所以这个选项在我的情况下不是正确的。

      3) 我们在应用程序中使用 Spring Boot。 Spring Boot Admin 不适用,因为它只关注当前情况,而不是持久化结果。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-27
        • 2016-05-14
        • 1970-01-01
        • 2014-01-19
        • 2021-08-17
        • 1970-01-01
        相关资源
        最近更新 更多