我希望在我的度量范围内从/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在instance中的价值,我已经尝试了好几个小时了,却找不到任何方法--我想知道这是否是不可能的!?
我获取/metrics端点的方式是通过刮-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我们很感激你的帮助。
发布于 2022-02-18 14:26:44
问题是,您在错误的时间执行这些操作。配置发生在实际收集度量之前,因此,此时您只能操作从服务发现获得的标签。
node标签来自出口商。因此,您需要在配置下执行重新标记操作。
metric_relabel_configs:
- source_labels: [node]
target_label: instance对于删除度量标准也是如此。如果你想要更多的信息,我在这里回答了一个类似的问题:配置删除操作不起作用
https://stackoverflow.com/questions/71174336
复制相似问题