我试图首次使用向量匹配,但出现错误消息“不允许进行多对多匹配:匹配的标签在一侧必须唯一”,我不明白为什么。
这是我的表情:
sum(rate(container_cpu_usage_seconds_total{image!="",pod_name=~"sentry.*",container_name!="POD"}[5m])) by (container_name)
* on (container_name) group_left(container)
avg by (container) (kube_pod_container_resource_requests_cpu_cores{container=~"sentry.*"})
两个向量的结果都是
sum(rate(container_cpu_usage_seconds_total{image!=“”,pod_name=~“sentry.*“,container_name!=“POD”}[5m])) by (pod_name, namespace,container_name)
{container_name="sentry-web",namespace="infrastructure",pod_name="sentry-web-65757bf8f6-cgmsw"}
{container_name="sentry-statsds",namespace="infrastructure",pod_name="sentry-statsd-849699fb56-jnljm"}
{container_name="sentry-k8s",namespace="infrastructure",pod_name="sentry-k8s-66b9b88758-stn5x"}
{container_name="sentry-cron",namespace="infrastructure",pod_name="sentry-cron-7dcdfc5688-qh55k"}
{container_name="redis-exporter",namespace="infrastructure",pod_name="sentry-redis-exporter-779f4f85cb-clmc7"}
{container_name="rds-exporter",namespace="infrastructure",pod_name="sentry-rds-exporter-54bb4dcd8d-h5rh5"}
{container_name="nginx-exporter",namespace="infrastructure",pod_name="sentry-web-75959bc475-4dpg2"}
{container_name="nginx-exporter",namespace="infrastructure",pod_name="sentry-web-65757bf8f6-cgmsw"}
{container_name="nginx",namespace="infrastructure",pod_name="sentry-web-75959bc475-4dpg2"}
avg by (container) (kube_pod_container_resource_requests_cpu_cores{container=~“sentry.*“})
{container="sentry-k8s"} 0.1
{container="sentry-statsds"} 0.1
{container="sentry-cron"} 0.1
{container="sentry-workers"} 0.5
{container="sentry-web"} 1
第二个向量具有uniq标签,为什么我会收到此错误?有什么想法吗?
答案 0 :(得分:0)
RHS都具有相同的container_name
标签,因为它们没有container_name
标签,因此最终要进行多对多匹配。您可能想要在这里做的是使用label_replace
重命名标签,或修复标签源以具有一致的命名。