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

获取跨主机使用Docker Swarm部署的微服务的指标,docker,microservices,docker-swarm,moleculer,Docker,Microservices,Docker Swarm,Moleculer,我使用Moleculer框架创建了一些相互通信的微服务。微服务已经使用Docker Swarm部署在不同的主机上 如何获取每个服务对另一个服务的呼叫总数以及其他指标(如服务之间传递的数据量、每个服务使用的带宽等) 我希望使用每个服务对另一个服务的调用总数等信息来决定在同一主机上部署哪些微服务。(例如,在单个主机上部署微服务时,它们之间的呼叫最多)您可以使用它来监视每个容器和/或服务的带宽使用情况。此外,您还可以从服务中导出自定义内容,并将这两种内容都删除。最后,您可以向Prometheus发出查

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

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

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

您可以使用它来监视每个容器和/或服务的带宽使用情况。此外,您还可以从服务中导出自定义内容,并将这两种内容都删除。最后,您可以向Prometheus发出查询,以检查所有服务的呼叫计数和带宽

cAdvisor从您的swarm集群读取各种统计数据(cpu、内存、带宽等),并使它们在http端点上可用。通过使用molecular metrics和prometheus模块,您还可以公开有关应用程序的统计信息,如内存使用情况、发出的调用以及您希望在http端点中使用的任何自定义指标

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

您可以使用它来监控每个容器和/或服务的带宽使用情况。此外,您还可以从服务中导出自定义内容,并将这两种内容都删除。最后,您可以向Prometheus发出查询,以检查所有服务的呼叫计数和带宽

cAdvisor从您的swarm集群读取各种统计数据(cpu、内存、带宽等),并使它们在http端点上可用。通过使用molecular metrics和prometheus模块,您还可以公开有关应用程序的统计信息,如内存使用情况、发出的调用以及您希望在http端点中使用的任何自定义指标


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

非常感谢。我是新手,所以我不完全理解你的意思。我会看看这三件事,如果我有进一步的问题,会给你回复@KellMaresh我对我的答案进行了一点扩展,这样你就可以对度量的生成、捕获和存储有一些顶级的了解。你可以检查一下,这个项目为docker swarm提供了一个非常好的检测堆栈。@codestation我在Prometheus中获取度量,并且能够在Graphana中显示它们。如何从微服务中查询Prometheus的特定指标?@KellMaresh Prometheus公开了一个类似REST的api,因此您可以将PromQL查询发送到其端点。谢谢。我是新手,所以我不完全理解你的意思。我会看看这三件事,如果我有进一步的问题,会给你回复@KellMaresh我对我的答案进行了一点扩展,这样你就可以对度量的生成、捕获和存储有一些顶级的了解。你可以检查一下,这个项目为docker swarm提供了一个非常好的检测堆栈。@codestation我在Prometheus中获取度量,并且能够在Graphana中显示它们。如何从微服务中查询Prometheus的特定指标?@KellMaresh Prometheus公开了一个类似REST的api,因此您可以将PromQL查询发送到其端点。