微服务中的监控:如何检测 internal/external 服务是否在微服务架构中关闭

Monitoring in Microservices : How to detect if a internal/external service goes down in Microservices Architecture

在微服务架构中,我想在服务出现故障时检测并根据阈值生成警报。我想知道为每个客户端微服务使用断路器在电路切换时发送信息并创建与目标状态 'down' 相关的警报。但如果它是一个好的模式,我不会。此外,我有两个问题,第一个是监控微服务并聚合它们的数据以在达到阈值时生成警报,第二个是对网关微服务使用的第三方服务(外部服务)做同样的事情.根据您的说法,监控微服务的最佳方式是什么?谢谢

当您需要允许失败的服务恢复时,应该使用断路器,而不是不断地向它发出请求,尽管它无法为它们提供服务。 This 是一篇不错的文章,您可以查看有关如何使用此模式的更多详细信息。

因此,如果您的服务可能会在短时间内恢复,您可以使用断路器。

否则,我认为这里就是这种情况(因为您希望在服务关闭时触发警报),我会更多地关注 微服务 的原因会失败,我会尽量减少发生的机会。

如果你使用 Kubernetes,你可以使用 Prometheus 监控微服务。 Here 是一篇不错的文章,可以帮助您入门。 Prometheus 抓取 Kubernetes API 并公开与 pods 相关的指标。您可以根据这些创建警报。

要监控外部服务,您也可以使用 Prometheus。如果外部服务能够通过 Prometheus 公开指标,那么您只需插入它就可以了。否则,您必须编写一些代码来检查该服务的运行状况并公开基于此的指标。