通过普罗米修斯的每日和每月可用性百分比? (或每月正常运行时间百分比)
Daily & monthly availability percentages via Prometheus? (or monthly uptime perc)
需要一项或多项 Docker 服务的可用性数据
我们使用 Prometheus 在 Docker Swarm 环境中收集指标。工作正常!
我们如何获取每日 and/or 每月指标?
Recording Rules 将帮助您定期汇总和分组摄取的指标,并将其结果摄取到 prometheus。
另一个答案中的建议可能是向前迈出的一大步。谢谢 @vinodk.
问了很多开发者,终于找到了一个很好的解决办法。
解决方法是:
- 使用 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 不适用,因为它只查看当前情况,不会持久化结果。
需要一项或多项 Docker 服务的可用性数据
我们使用 Prometheus 在 Docker Swarm 环境中收集指标。工作正常!
我们如何获取每日 and/or 每月指标?
Recording Rules 将帮助您定期汇总和分组摄取的指标,并将其结果摄取到 prometheus。
另一个答案中的建议可能是向前迈出的一大步。谢谢 @vinodk.
问了很多开发者,终于找到了一个很好的解决办法。
解决方法是:
- 使用 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 不适用,因为它只查看当前情况,不会持久化结果。