1

我试图弄清楚如何最好地从 Kubernetes 集群中运行的一组基于 Spring Boot 的服务中收集指标。查看各种文档,在 Prometheus 的情况下,似乎内部监控的选择是在 Actuator 或 Spectator 之间,指标被推送到 Redis 或 StatsD 等外部集合存储或拉取。

由于给定服务的实例数量会有所不同,我看不出如何配置 Prometheus 来轮询那些正在运行的服务,因为它缺乏对它们的了解。我还在围绕 Eureka 服务注册表进行构建,因此不确定在此配置中是否首先对其进行轮询。

任何对这种方法的真实世界见解都​​将受到欢迎。

4

1 回答 1

0

您应该使用 Prometheus java 客户端 ( https://www.robustperception.io/instrumenting-java-with-prometheus/ ) 进行检测。应避免使用 redis 和 statsd 之类的方法,因为它们意味着在每个事件上都会访问网络 - 极大地限制了您可以监控的内容。

在 Prometheus 中使用 file_sd 服务发现为其提供来自 Eureka ( https://www.robustperception.io/using-json-file-service-discovery-with-prometheus/ ) 的目标列表,但如果您使用的是 Kubernetes就像您的标签提示一样,Prometheus 在那里直接集成。

于 2016-11-08T17:16:17.117 回答