标签管理
标签作用:Prometheus中存储的数据为时间序列,是由Metric的名字和一系列的标签(键值对)唯一标识的, 不同的标签代表不同的时间序列,即通过指定标签查询指定数据。
Metadata标签
在Prometheus所有的Target实例中,都包含一些默认的Metadata标签信息。可以通过Prometheus UI的 Targets页面中查看这些实例的Metadata标签的内容:
• address:当前Target实例的访问地址:
• scheme:采集目标服务访问地址的HTTP Scheme,HTTP或者HTTPS
• metrics_path:采集目标服务访问地址的访问路径
上面这些标签将会告诉Prometheus如何从该Target实例中获取监控数据。除了这些默认的标签以外,我们 还可以为Target添加自定义的标签。
自定义标签
- job_name: 'linux' |
#在这个下面可以任意的添加多个标签
重新标记标签
重新标记目的:为了更好的标识监控指标。
在两个阶段可以重新标记:
• relabel_configs :在采集之前
• metric_relabel_configs:在存储之前
准备抓取指标数据时,可以使用relabel_configs添加一些标签、也可以只采集特定目标或过滤目标。 已经抓取到指标数据时,可以使用metric_relabel_configs做最后的重新标记和过滤。
重新标记标签一般用途:
• 动态生成新标签
• 过滤采集的Target
• 删除不需要或者敏感标签
• 添加新标签
action:重新标记标签动作
• replace:默认,通过regex匹配source_label的值,使用replacement来 引用表达式匹配的分组,分组使用$1,$2…引用
• keep:删除regex与连接不匹配的目标 source_labels
• drop:删除regex与连接匹配的目标 source_labels
• labeldrop:删除regex匹配的标签
• labelkeep:删除regex不匹配的标签
• labelmap:匹配regex所有标签名称,并将捕获的内容分组,用第一个分 组内容作为新的标签名
重新标签的应用
重新标记标签:重命名标签
场景1:动态生成添加标签(对已有的标签重新标记)
- job_name: 'linux' |
重新标记标签:过滤Target
场景2:选择采集的目标
- job_name: 'linux' |
注意:
address :这个标签是在采集之前
instance : 这个标签是在存储之前
prometheus采集之前使用的是__address__ 这个标签,采集到之后(入库之前),可能生成了一个新的标签,也就是instance这个标签。
重新标记标签:删除标签
场景3:删除不需要或者敏感的标签
- job_name: 'linux' |
v1.5.1