Kubernetes微服务监控和警报

时间:2020-06-19 14:33:17

标签: kubernetes microservices health-monitoring

我在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”服务将监视每个服务的运行状况,并针对发现的任何问题触发警报。

1 个答案:

答案 0 :(得分:1)

我谨告您不要尝试构建自己的内部监控解决方案。这种方法有很多缺点。

如果您需要的只是外部服务HTTP运行状况检查,那么许多现有的监视解决方案都可以正常工作。您可以安装传统的IT解决方案,例如Zabbix或Nagios。或使用 Datadog 等SAS。
Prometheus 还有黑盒扩展名,在K8s用户中非常流行。

许多选项的学习曲线有些陡峭。