我正在尝试使用自定义查询在 Grafana 中创建一个变量来扫描 EKS 集群中的节点。目前,节点变量存储为“连字符”分隔的字符串(例如 10-109-22-102);我打算将其报告为“点”分隔的字符串(例如 10.109.22.102)。这甚至可以通过正则表达式实现吗?
Grafana变量支持通过抓取给定指标然后使用正则表达式提取报告指标中的值来创建实时变量。我目前正在抓取一个指标:
kube_node_info{container_runtime_version=“docker://18.6.1”,端点=“http”,instance=“10.11.111.111:8080”,job=“kube-state-metrics”,kernel_version=“xxxxx”,kubelet_version=“xxxx” “,kubeproxy_version =“xxxx”,namespace =“infra”,node =“ip-10-11-111-111.us-sdlls-as.compute.internal”,os_image =“Amazon Linux 2”,pod =“prometheus” -operator-kube-state-metrics-sdfgsjdkgl-saldjl",service="prometheus-operator-kube-state-metrics"}
我目前正在使用 regex:/.*node="ip-([^"]*).us-*/
提取以“连字符”分隔的 IP。我还尝试过使用其他匹配组,例如:([\d]{2,3})-([\d]{2,3})-([\d]{2,3})-([\d]{2,3})
但是,这仅返回 grafana 中的第一个匹配组(在本例中10
)作为唯一选项。
预期输出应该是:
10.11.111.111
森栏
紫衣仙女
慕田峪9158850
相关分类