普罗米修斯目标管理

Prometheus target management

我们最近在生产环境中使用了prometheus。之前我们每个服务只有 30-40 个节点,这些服务器不经常更改,所以我们只是把它写在 prometheus.yml 中,但是现在它变得太长而无法保存在一个文件中并且比以前更频繁地更改,所以我的问题是我应该使用 file_sd_config 将这些服务器列表从 yml 文件中取出并单独更改这些配置文件,还是使用 consul 进行服务发现(同样容易处理更改)。

我已经在数据中心安装了 3 个节点的 consul 集群,我可以看到如果我改为使用 consul 来解决这个问题,我还需要在每个服务器(节点)中安装 consul 客户端并定义其服务信息。那是对的吗?或者谁有好的建议。

谢谢

我完全提倡使用服务发现系统。一开始部署可能有点困难,但肯定会在未来值得。

也就是说,Prometheus 附带了很多 service discovery integrations。您可能不需要 Consul 集群。如果您的服务器位于 AWS、GCP、Azure、Openstack 等云提供商中,prometheus 能够自动发现实例。

如果保留运行Consul,答案是肯定的,agent必须在每个节点都是运行。您也可以通过 API 注册服务和节点,但更容易部署代理。