use*_*703 5 health-monitoring kubernetes microservices
我在 kubernetes 集群中运行着一堆微服务,其中每个微服务都通过 HTTP 实现基本的运行状况检查。
例如,对于端点,/health如果该特定服务当前运行状况良好,则每个服务将返回 HTTP 响应 200;如果运行状况不佳,则返回一些其他 HTTPP 4xx / 5xx 代码(以及可能的附加信息)。
我看到 Kubernetes 有自己内置的 HTTP 运行状况检查概念https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-a-liveness-http -要求
不幸的是,这并不完全是我想要的。我希望能够在某些数据库中触发警报(并记录运行状况检查请求的状态),这样我就可以快速检查所有服务所处的状态,并对任何处于不健康状态的服务发出警报。
我想知道 Kubernetes 中是否有现有的工具或方法可以用于此类事情?或者需要为此构建一些自定义解决方案。
正在考虑拥有一个通用的“HealthCheck”服务,每个微服务在启动时都会注册该服务。这样,“HealthCheck”服务将监控每个服务的运行状况,并针对发现的任何问题触发警报。
我警告不要尝试构建自己的内部监控解决方案。这种方法有相当大的缺点。
如果您需要的只是外部服务 HTTP 运行状况检查,那么许多现有的监控解决方案就可以了。您可以安装 Zabbix 或 Nagios 等传统 IT 解决方案。或者使用Datadog等 SAS 。
还有Prometheus的黑盒扩展,在 K8s 用户中很受欢迎。
其中许多选项都需要一定程度的学习曲线。
| 归档时间: |
|
| 查看次数: |
334 次 |
| 最近记录: |