Relabel概述
relabel顾名思义,就是标签重写,可以允许用户重写标签或者针对标签做一些过滤操作,Prometheus中的relabel有如下三种,应用范围和工作时段不一样,这里主要介绍relabel_config:
relabel_config
在被prometheus抓取之前修改,针对的是targetmetric_relabel_configs
在被prometheus存储之前修改,针对的是Metricalert_relabel_configs
在被发送到alertmanager之前,针对的是alertwrite_relabel_configs
写到远程存储的样本在配置监控目标的时我们更多的会使用
relabel_configs
和metric_relabel_configs
配置,采集数据之前,通过relabel_configs
来采集数据,写入存储之前,通过metric_relabel_configs
进行配置。
隐藏的标签
以双下划线__
开头的标签属于特殊的标签,它们在重新标记后会被删除,标记对象的来源最初可以附加这些隐藏的标签,以提供关于标记对象的额外元数据,这些特殊的标签可以在 relabeling 阶段被用来对对象的标签进行修改,对于抓取指标,其中就包含一些隐藏的标签,可以用来控制目标应该如何被抓取:
__address__ 被抓取目标的地址
__scheme__ 抓取目标的请求模式,包括 http 与 https,默认为 http。
__metrics_path__ 表示用于采集指标的 HTTP 路径,默认为 /metrics。
__param_<name> 包含 HTTP 查询参数名称和它们的值。
此外,服务发现机制也可以提供一组以__meta__
开头的标签,包含关于目标的特定发现元数据。例如,当发现 Kubernetes 集群中的 pod 时,Kubernetes 服务发现引擎将为每个 pod 目标提供一个 __meta_kubernetes_pod_name
的标签,包含被发现的 pod 的名字