获取跨主机使用Docker Swarm部署的微服务的指标

时间:2019-03-22 16:17:51

标签: docker microservices docker-swarm moleculer

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

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

我想使用每个服务到另一个服务的呼叫总数之类的信息来确定要在同一主机上部署的微服务。 (例如,在单个主机上部署微服务,它们之间的大多数呼叫)

1 个答案:

答案 0 :(得分:2)

您可以使用cAdvisor来监视每个容器和/或服务的带宽使用情况。另外,您可以从服务中导出自定义metrics,并Prometheus都将其抓取。最后,您可以向Prometheus发出查询,以检查所有服务的呼叫计数和带宽。

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

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