Hi all,
is it possible to use in promql the JOIN with many-to-many matching?I
merged 2 metrics using group_left but it looks like the many-to-many
matching is not supported because i get the error:
*"Error executing query: found duplicate series for the match group {} on
the left hand-side of the operation. Many-to-many matching not allowed:
matching labels must be unique on one side"*
On both sides of JOIN i have multitiple rows
Metric 1
kube_deployment_labels{label_chart=~".*sdc-5.17.*",project!=""}
Result of metric 1
kube_deployment_labels{deployment="sdc", instance="cfor-aks-dev", job=
"metrics-forwarder", label_app="sdc", label_app_kubernetes_io_managed_by=
"Helm", label_chart="sdc-5.17.2-HF01", label_heritage="Helm", label_release=
"sdc", namespace="dev-workloads", project="C4R"} 1
kube_deployment_labels{deployment="sdc", instance="sop-aks-dev", job=
"metrics-forwarder", label_app="sdc", label_app_kubernetes_io_managed_by=
"Helm", label_chart="sdc-5.17.1-b03", label_heritage="Helm", label_release=
"sdc", namespace="dev-workloads", project="SOP"} 1
kube_deployment_labels{deployment="sdc", instance="sop-aks-dev", job=
"metrics-forwarder", label_app="sdc", label_app_kubernetes_io_managed_by=
"Helm", label_chart="sdc-5.17.1-b03", label_heritage="Helm", label_release=
"sdc", namespace="test-workloads", project="SOP"} 1
kube_deployment_labels{deployment="sdc", instance="stu-aks-dev", job=
"metrics-forwarder", label_app="sdc", label_app_kubernetes_io_managed_by=
"Helm", label_chart="sdc-5.17.2-HF04-b01", label_heritage="Helm",
label_release="sdc", namespace="dev-workloads", project="STU"}
Metric2
kube_node_info{container_runtime_version="containerd://1.4.4+azure",
instance="cfor-aks-dev", job="metrics-forwarder", kernel_version=
"5.4.0-1051-azure", kubelet_version="v1.20.7", kubeproxy_version="v1.20.7",
node="aks-default-13254112-vmss000001", os_image="Ubuntu 18.04.5 LTS",
pod_cidr="10.244.2.0/24", project="C4R", provider_id=
"azure:///subscriptions/693c9868-a960-4590-b23d-7220a5a8ba04/resourceGroups/mc_rg_aks-c4r-aks-dev_c4r-aks-dev_westeurope/providers/Microsoft.Compute/virtualMachineScaleSets/aks-default-13254112-vmss/virtualMachines/1"}
1 kube_node_info{container_runtime_version="containerd://1.4.4+azure",
instance="cfor-aks-dev", job="metrics-forwarder", kernel_version=
"5.4.0-1051-azure", kubelet_version="v1.20.7", kubeproxy_version="v1.20.7",
node="aks-default-13254112-vmss000004", os_image="Ubuntu 18.04.5 LTS",
pod_cidr="10.244.3.0/24", project="C4R", provider_id=
"azure:///subscriptions/693c9868-a960-4590-b23d-7220a5a8ba04/resourceGroups/mc_rg_aks-c4r-aks-dev_c4r-aks-dev_westeurope/providers/Microsoft.Compute/virtualMachineScaleSets/aks-default-13254112-vmss/virtualMachines/4"}
1 kube_node_info{container_runtime_version="containerd://1.4.4+azure",
instance="stu-aks-dev", job="metrics-forwarder", kernel_version=
"5.4.0-1047-azure", kubelet_version="v1.20.7", kubeproxy_version="v1.20.7",
node="aks-default-36930916-vmss000002", os_image="Ubuntu 18.04.5 LTS",
pod_cidr="10.244.3.0/24", project="STU", provider_id=
"azure:///subscriptions/3fb69224-6feb-4c6c-9f55-0b233b82d4a2/resourceGroups/mc_rg_aks-stu-aks-dev_stu-aks-dev_westeurope/providers/Microsoft.Compute/virtualMachineScaleSets/aks-default-36930916-vmss/virtualMachines/2"
}
Now i want all fields from metric1 and the label “kubelet_version” from 2nd
metric,let say i want to join kubelet_version to the 1st metric result.
I have wrote this metric:
kube_deployment_labels{label_chart=~".*sdc-5.17.*",project!=""} * on ()
group_right (kubelet_version)kube_node_info{}
Since both metrics give me more then 1 timeseries data it looks like that i
want to achieve a many-to-many match.Would be this possible?
--
You received this message because you are subscribed to the Google Groups
"Prometheus Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/prometheus-users/9585b6b9-2fff-46f5-b369-40f8d61b64c1n%40googlegroups.com.