【发布时间】:2023-03-24 00:28:01
【问题描述】:
在一段时间内找出 K8s 服务可用性的最简单方法是什么,比如说 24 小时。我应该以 pod 为目标还是找到计算服务可达性的方法
【问题讨论】:
-
pod 的子集可能会重新生成,这并不意味着服务已关闭。
-
@P.... 你是对的,你建议如何解决这个问题?
标签: kubernetes service prometheus grafana
在一段时间内找出 K8s 服务可用性的最简单方法是什么,比如说 24 小时。我应该以 pod 为目标还是找到计算服务可达性的方法
【问题讨论】:
标签: kubernetes service prometheus grafana
我建议不要从二进制文件(是向上还是向下)来处理它,而是从“服务请求需要多长时间”的角度来处理它。换句话说,用 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 是直方图,捕获服务请求的分布。
【讨论】: