Kubernetes微服务监控和警报

envsm3lx  于 2022-11-21  发布在  Kubernetes
关注(0)|答案(1)|浏览(118)

我在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中是否有我应该使用的工具或方法来处理这类事情?或者需要为此构建一些定制的解决方案。
正在考虑建立一个通用的“运行状况检查”服务,每个微服务在启动时都将向其注册。这样,“运行状况检查”服务将监视每个服务的运行状况,并对发现的任何问题触发警报。

wqsoz72f

wqsoz72f1#

我警告不要试图构建自己的内部监控解决方案。这种方法有相当多的缺点。
如果您只需要外部服务HTTP健康检查,那么许多现有的监控解决方案都可以。您可以安装传统的IT解决方案,如Zabbix或Nagios。或者使用SAS,如Datadog等。
此外,还有针对Prometheus的黑盒扩展,在K8s用户中非常受欢迎。
这些选项中的许多都需要一定程度的学习曲线。

相关问题