【问题标题】:Uptime of K8s Service over a period of time - Prometheus?一段时间内 K8s 服务的正常运行时间 - Prometheus?
【发布时间】:2023-03-24 00:28:01
【问题描述】:

在一段时间内找出 K8s 服务可用性的最简单方法是什么,比如说 24 小时。我应该以 pod 为目标还是找到计算服务可达性的方法

【问题讨论】:

  • pod 的子集可能会重新生成,这并不意味着服务已关闭。
  • @P.... 你是对的,你建议如何解决这个问题?

标签: kubernetes service prometheus grafana


【解决方案1】:

我建议不要从二进制文件(是向上还是向下)来处理它,而是从“服务请求需要多长时间”的角度来处理它。换句话说,用 SLO 来表达您的可用性。您可以从PromTools 获得非常好的自动生成的基于 SLO 的更改规则。来自那里的一个具体示例规则,显示了 PromQL 部分:

1 - (
 sum(rate(http_request_duration_seconds_bucket{job="prometheus",le="0.10000000000000001",code!~"5.."}[30m]))
 /
 sum(rate(http_request_duration_seconds_count{job="prometheus"}[30m]))
)

上面捕获了服务在不到 100 毫秒内提供非 500(非服务器错误,即假定的良好响应)所花费的时间与过去 30 分钟内的总体响应的比率,http_request_duration_seconds 是直方图,捕获服务请求的分布。

【讨论】:

    猜你喜欢
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多