我很想从/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
应用程序的主机,我不在乎。我想拥有node
in的价值,instance
我已经尝试了几个小时,但找不到方法 - 我想知道这是否根本不可能!?
我获取/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: $1
target_label: name
action: replace
- source_labels: [__meta_kubernetes_pod_container_port_name]
separator: ;
regex: http
replacement: $1
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
-label (仅用于测试目的),并且我还尝试将所有指标都删除。这funday_monday
是一个改变的例子,因为我想知道静态重新标签是否可能(它有效!) - 在它看起来像这样之前:
- source_labels: [node]
regex: (.*)
replacement: $1
target_label: funday_monday
action: replace
帮助表示赞赏。