【发布时间】:2020-06-19 14:33:17
【问题描述】:
我有一堆微服务在 Kubernetes 集群中运行,每个微服务都通过 HTTP 实现基本的健康检查。
例如,对于端点/health,如果该特定服务当前健康,则每个服务将返回 HTTP 响应 200,如果不健康,则返回其他一些 HTPP 4xx / 5xx 代码(以及可能的附加信息)。
我看到 Kubernetes 有自己的内置 HTTP 健康检查概念https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-a-liveness-http-request
不幸的是,这不是我想要的。我希望能够在某个数据库中触发警报(并记录健康检查请求的状态),这样我就可以快速检查我的所有服务处于什么状态,并对处于不健康状态的任何服务发出警报。
我想知道 Kubernetes 中是否有现有的工具或方法可以用于此类事情?或者需要为此构建一些自定义解决方案。
正在考虑拥有一个通用的“HealthCheck”服务,每个微服务在启动时都会注册该服务。这样,“HealthCheck”服务将监控每个服务的运行状况,并针对它发现的任何问题触发警报。
【问题讨论】:
标签: kubernetes microservices health-monitoring