删除或重命名 scrape_config 标签

Drop or rename scrape_config label

我想重命名或删除指标中 /metrics 端点的标签。指标本身来自 kube-state-metrics 应用程序,所以没什么特别的。指标如下所示:

kube_pod_container_resource_requests{container="alertmanager", instance="10.10.10.10:8080", funday_monday="blubb", job="some-kube-state-metrics", name="kube-state-metrics", namespace="monitoring", node="some-host-in-azure-1234", pod="alertmanager-main-1", resource="memory", uid="12345678-1234-1234-1234-123456789012", unit="byte"} 209715200

我想替换的标签是 instance,因为它指的是运行 kube-state-metrics 应用程序的主机,我不关心它。我想在 instance 中获得 node 的值,我已经尝试了几个小时,但找不到方法 - 我想知道这是否根本不可能!?

我抓取 /metrics 端点的方式是通过 scrape-config 的方式,如下所示:

- job_name: some-kube-state-metrics
      scrape_interval: 30s
      scrape_timeout: 10s
      metrics_path: /metrics
      kubernetes_sd_configs:
      - api_server: null
        role: pod
      scheme: http
      relabel_configs:
      - source_labels: [__meta_kubernetes_pod_labelpresent_kubeStateMetrics]
        regex: true
        action: keep
      - source_labels: [__meta_kubernetes_pod_label_name]
        regex: (.*)
        replacement: 
        target_label: name
        action: replace
      - source_labels: [__meta_kubernetes_pod_container_port_name]
        separator: ;
        regex: http
        replacement: 
        action: keep
      - source_labels: [node]
        regex: (.*)
        replacement: blubb
        target_label: funday_monday
        action: replace
      - action: labeldrop
        regex: "unit=(.*)"
      - source_labels: [ __name__ ]
        regex: 'kube\_pod\_container\_resource\_requests'
        action: drop

如您所知,我也一直在尝试删除标签,即 unit-标签(仅用于测试目的),并且我还尝试一起删除指标。 funday_monday 是一个更改的示例,因为我想知道是否可以进行静态重新标记(有效!) - 在它看起来像这样之前:

- source_labels: [node]
        regex: (.*)
        replacement: 
        target_label: funday_monday
        action: replace

感谢帮助。

问题是您在错误的时间执行这些操作。 relabel_configs happens before metrics are actually gathered, so, at this time, you can only manipulate the labels that you got from service discovery.

node 标签来自出口商。因此,您需要在 metric_relabel_configs:

下执行此重新标记操作
metric_relabel_configs:
- source_labels: [node]
  target_label: instance

删除指标也是如此。如果您想了解更多信息,我在这里回答了类似的问题: