1

我想弄清楚如何最好地收集Kubernetes集群内运行的一组基于Spring引导的服务的指标。查看各种文档,内部监控的选择似乎在Actuator或Spectator之间,指标被推送到外部集合商店(如Redis或StatsD)或拉到Prometheus的情况。Spring引导和普罗米修斯

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

任何真实的世界洞察这种方法将受到欢迎。

回答

1

您应该使用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可直接与其集成。