- replace: 对标签和标签值进行替换。
- keep: 满足特定条件的实例进行采集,其他的不采集。
- drop: 满足特定条件的实例不采集,其他的采集。
- hashmod: 这个我也没看懂啥意思,囧。
- labelmap: 这个我也没看懂啥意思,囧。
- labeldrop: 对抓取的实例特定标签进行删除。
- labelkeep: 对抓取的实例特定标签进行保留,其他标签删除。
配置
- job_name: 'kubernetes-service-endpoints' kubernetes_sd_configs: - role: endpoints relabel_configs: - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape] action: keep # 满足特定条件的实例进行采集,其他的不采集 regex: true - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme] action: replace # 对标签和标签值进行替换 target_label: __scheme__ regex: (https?) - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path] action: replace #对标签和标签值进行替换 target_label: __metrics_path__ regex: (.+) - source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port] action: replace # 对标签和标签值进行替换 target_label: __address__ #指定了我们要replace后的标签名字 regex: ([^:]+)(?::\d+)?;(\d+) # 匹配值 replacement: $1:$2 # 指定的替换后的标签(target_label)对应的数值。采用正则引用方式获取的 - action: labelmap # 对抓取的实例特定标签进行删除 regex: __meta_kubernetes_service_label_(.+) - source_labels: [__meta_kubernetes_namespace] action: replace target_label: kubernetes_namespace - source_labels: [__meta_kubernetes_service_name] action: replace target_label: kubernetes_name