我在kubernetes集群中运行了一组微服务,每个微服务都通过HTTP实现了一个基本的健康检查。
例如,对于端点/health,如果该特定服务当前健康,则每个服务将返回HTTP响应200,或者如果不健康,则返回一些其他HTP4xx/ 5xx代码(以及可能的附加信息)。
我看到Kubernetes有它自己内置的HTTP health check https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-a-liveness-http-request的概念
不幸的是,这并不是我想要的。我喜欢在某个数据库中触发警报(并记录健康检查请求的状态),这样我就可以快速检查我的所有服务处于什么状态,以及对处于不健康状态的任何服务发出警报。
我想知道Kubernetes中有没有我可以用来做这类事情的现有工具或方法?或者需要为此构建一些自定义的解决方案。
正在考虑有一个通用的"HealthCheck“服务,每个微服务在启动时都会注册。这样,"HealthCheck“服务将监控每个服务的运行状况,并为它发现的任何问题触发警报。
发布于 2020-06-19 23:07:47
我告诫您不要尝试构建自己的内部监控解决方案。这种方法有相当大的缺点。
如果您所需要的只是外部服务HTTP运行状况检查,那么许多现有的监控解决方案就可以了。您可以安装传统的IT解决方案,如Zabbix或Nagios。或者使用、Datadog、等SAS。
还有Prometheus的黑盒扩展,它在K8s用户中非常流行。
这些选项中的许多都有一些陡峭的学习曲线。
https://stackoverflow.com/questions/62472522
复制相似问题