kubernetes - 如何区分同名的 Prometheus 指标和 Kubernetes 中动态发现的微服务
问题描述
我正在寻找一种方法来区分从 Kubernetes 集群中运行的不同动态发现的服务收集的 Prometheus 指标(我们使用的是https://github.com/coreos/prometheus-operator)。例如,对于写入数据库的指标,我想了解它们实际来自哪个服务。我想您可以通过相应服务中的标签来执行此操作,但是,我们正在使用的 swagger-stats ( http://swaggerstats.io/ ) 尚未提供此功能(为了增强此功能,存在一个问题打开:https ://github.com/slanatech/swagger-stats/issues/50 )。有没有办法在 Prometheus 本身上实现这一点,例如 Prometheus 在抓取后为每个时间序列添加一个特定于服务的标签?
感谢您的反馈!
解决方案
有没有办法在 Prometheus 本身上实现这一点,例如 Prometheus 在抓取后为每个时间序列添加一个特定于服务的标签?
这就是 Prometheus 的设计用途,因为目标不知道监控系统如何看待它,并且前缀指标名称会使跨服务分析更加困难。在整个目标中设置标签和为指标名称添加前缀都被认为是反模式。
您想要的称为目标标签,这些通常来自应用到服务发现的元数据的重新标签。
使用 Prometheus Operator 时,您可以指定targetLabels
从 Kubernetes 服务复制到 Prometheus 目标的标签列表。
推荐阅读
- javascript - Ajax 获取对 RestApi 的请求
- javascript - Node.js 获取 mysql 数据并附加到对象
- python - 熊猫数据框中的逐行替换操作
- javascript - 使用拆分功能时出错:未捕获的类型错误:无法读取 null 的属性“1”
- python - Tkinter after() 方法只执行一次
- python - Leetcode 问题 1038. 二叉搜索树到大和树 --> Python
- git - Github Pages Publishing 主页 URL 不变
- c# - mysql while(datareader.Read()) 不执行
- python - 如何仅在空单元格_python中在df中的列之间复制
- javascript - 实现语言切换器