默认情况下,当Prometheus加载Target实例完成后,这些Target时候都会包含一些默认的标签:
上面这些标签将会告诉Prometheus如何从该Target实例中获取监控数据。一般来说,Target以__
作为前置的标签是在系统内部使用的,因此这些标签不会被写入到样本数据中。不过这里有一些例外,例如,我们会发现所有通过Prometheus采集的样本数据中都会包含一个名为instance的标签,该标签的内容对应到Target实例的__address__
。 这里实际上是发生了一次标签的重写处理。
这种发生在采集样本数据之前,对Target实例的标签进行重写的机制在Prometheus被称为Relabeling。
Relabeling作用时机
Prometheus允许用户在采集任务设置中通过relabel_configs来添加自定义的Relabeling过程。
replace/labelmap/labelkeep/labeldrop对标签进行管理
完整的relabel_config配置如下所示:
-
__address__
:当前Target实例的访问地址&