我正在寻找一种区分Prometheus指标的方法,这些指标是从Kubernetes集群(我们使用https://github.com/coreos/prometheus-operator)中运行的不同动态发现的服务收集的。例如。对于写入数据库的指标,我想了解它们实际来自哪个服务。 我猜您可以通过相应服务中的标签来完成此操作,但是,我们使用的swagger-stats(http://swaggerstats.io/)尚不提供此功能(要增强此功能,还有一个未解决的问题:{ {3}})。 有没有办法在Prometheus本身上实现此功能,例如Prometheus刮擦后在每个时间序列上添加了特定于服务的标签?
感谢您的反馈!
答案 0 :(得分:4)
是否有办法在Prometheus本身上实现此功能,例如Prometheus刮擦后在每个时间序列上添加了特定于服务的标签?
这是Prometheus的设计用途,因为目标不知道监视系统如何看待它,而前缀的度量名称会加重跨服务分析的难度。整个目标上的设置标签和前缀指标名称都被视为反模式。
您想要的被称为目标标签,通常来自对服务发现中的元数据应用重新标记。
使用Prometheus运算符时,您可以指定targetLabels
作为标签列表,以从Kubernetes服务复制到Prometheus目标。