0

我使用 Moleculer 框架创建了一些相互通信的微服务。微服务已使用 Docker Swarm 部署在不同的主机上。

如何获取每个服务对另一个服务的调用总数以及其他指标(如服务之间传递的数据量、每个服务使用的带宽等)

我想使用每个服务对另一个服务的调用总数等信息来决定在同一主机上部署哪些微服务。(例如,在单个主机上部署微服务,它们之间的大多数调用)

4

1 回答 1

2

您可以使用cAdvisor监控每个容器和/或服务的带宽使用情况。您还可以从您的服务中导出自定义指标并让Prometheus抓取两者。最后,您可以向 Prometheus 发出查询,以检查所有服务的呼叫计数和带宽。

cAdvisor 从您的 swarm 集群中读取各种统计信息(cpu、内存、带宽等),并使其在 http 端点上可用。通过使用分子指标和普罗米修斯模块,您还可以公开有关您的应用程序的统计信息,例如内存使用情况、发出的调用以及您想要在 http 端点中的任何自定义指标。

Prometheus 可以配置为从多个指标端点读取并将它们存储在时间序列数据库中,因此您可以通过向其发出查询来关联所有这些数据(将其想象为数据库,您可以执行类似 SQL 的查询以获取集群上的各种统计信息)。

于 2019-03-22T17:52:37.020 回答