【问题标题】:Kubernetes microservices monitoring & alertingKubernetes 微服务监控和警报
【发布时间】: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


    【解决方案1】:

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

    如果您只需要外部服务 HTTP 健康检查,那么许多现有的监控解决方案就可以了。您可以安装传统的 IT 解决方案,如 Zabbix 或 Nagios。或者使用 Datadog 等 SAS。
    Prometheus 还有黑盒扩展,在 K8s 用户中很受欢迎。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-26
      • 2017-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-06
      • 2019-03-25
      • 1970-01-01
      相关资源
      最近更新 更多