@@ -1378,9 +1378,26 @@ spec:
13781378 label_replace(
13791379 kube_pod_owner{job="kube-state-metrics", owner_kind="ReplicaSet"},
13801380 "replicaset", "$1", "owner_name", "(.*)"
1381- ) * on(replicaset, namespace) group_left(owner_name) topk by(replicaset, namespace) (
1382- 1, max by (replicaset, namespace, owner_name) (
1383- kube_replicaset_owner{job="kube-state-metrics"}
1381+ ) * on (cluster, replicaset, namespace) group_left(owner_name) topk by(cluster, replicaset, namespace) (
1382+ 1, max by (cluster, replicaset, namespace, owner_name) (
1383+ kube_replicaset_owner{job="kube-state-metrics", owner_kind=""}
1384+ )
1385+ ),
1386+ "workload", "$1", "replicaset", "(.*)"
1387+ )
1388+ )
1389+ labels:
1390+ workload_type: replicaset
1391+ record: namespace_workload_pod:kube_pod_owner:relabel
1392+ - expr : |
1393+ max by (cluster, namespace, workload, pod) (
1394+ label_replace(
1395+ label_replace(
1396+ kube_pod_owner{job="kube-state-metrics", owner_kind="ReplicaSet"},
1397+ "replicaset", "$1", "owner_name", "(.*)"
1398+ ) * on(replicaset, namespace, cluster) group_left(owner_name) topk by(cluster, replicaset, namespace) (
1399+ 1, max by (cluster, replicaset, namespace, owner_name) (
1400+ kube_replicaset_owner{job="kube-state-metrics", owner_kind="Deployment"}
13841401 )
13851402 ),
13861403 "workload", "$1", "owner_name", "(.*)"
@@ -1403,21 +1420,47 @@ spec:
14031420 max by (cluster, namespace, workload, pod) (
14041421 label_replace(
14051422 kube_pod_owner{job="kube-state-metrics", owner_kind="StatefulSet"},
1406- "workload", "$1", "owner_name", "(.*)"
1407- )
1423+ "workload", "$1", "owner_name", "(.*)")
14081424 )
14091425 labels:
14101426 workload_type: statefulset
14111427 record: namespace_workload_pod:kube_pod_owner:relabel
1428+ - expr : |
1429+ group by (cluster, namespace, workload, pod) (
1430+ label_join(
1431+ group by (cluster, namespace, job_name, pod, owner_name) (
1432+ label_join(
1433+ kube_pod_owner{job="kube-state-metrics", owner_kind="Job"}
1434+ , "job_name", "", "owner_name")
1435+ )
1436+ * on (cluster, namespace, job_name) group_left()
1437+ group by (cluster, namespace, job_name) (
1438+ kube_job_owner{job="kube-state-metrics", owner_kind=~"Pod|"}
1439+ )
1440+ , "workload", "", "owner_name")
1441+ )
1442+ labels:
1443+ workload_type: job
1444+ record: namespace_workload_pod:kube_pod_owner:relabel
14121445 - expr : |
14131446 max by (cluster, namespace, workload, pod) (
14141447 label_replace(
1415- kube_pod_owner{job="kube-state-metrics", owner_kind="Job"},
1416- "workload", "$1", "owner_name", "(.*)"
1417- )
1448+ kube_pod_owner{job="kube-state-metrics", owner_kind="", owner_name=""},
1449+ "workload", "$1", "pod", "(.+)")
14181450 )
14191451 labels:
1420- workload_type: job
1452+ workload_type: barepod
1453+ record: namespace_workload_pod:kube_pod_owner:relabel
1454+ - expr : |
1455+ max by (cluster, namespace, workload, pod) (
1456+ label_replace(
1457+ kube_pod_owner{job="kube-state-metrics", owner_kind="Node"},
1458+ "workload", "$1", "pod", "(.+)")
1459+ )
1460+ labels:
1461+ workload_type: staticpod
1462+ record: namespace_workload_pod:kube_pod_owner:relabel
1463+ - expr: "group by (cluster, namespace, workload, workload_type, pod) (\n label_join(\n label_join(\n group by (cluster, namespace, job_name, pod) (\n label_join(\n kube_pod_owner{job=\"kube-state-metrics\", owner_kind=\"Job\"}\n , \"job_name\", \"\", \"owner_name\")\n )\n * on (cluster, namespace, job_name) group_left(owner_kind, owner_name)\n group by (cluster, namespace, job_name, owner_kind, owner_name) (\n kube_job_owner{job=\"kube-state-metrics\", owner_kind!=\"Pod\", owner_kind!=\"\"}\n )\n , \"workload\", \"\", \"owner_name\")\n , \"workload_type\", \"\", \"owner_kind\")\n \n OR\n\n label_replace(\n label_replace(\n label_replace(\n kube_pod_owner{job=\"kube-state-metrics\", owner_kind=\"ReplicaSet\"}\n , \"replicaset\", \"$1\", \"owner_name\", \"(.+)\"\n )\n * on(cluster, namespace, replicaset) group_left(owner_kind, owner_name)\n group by (cluster, namespace, replicaset, owner_kind, owner_name) (\n kube_replicaset_owner{job=\"kube-state-metrics\", owner_kind!=\"Deployment\", owner_kind!=\"\"}\n )\n , \"workload\", \"$1\", \"owner_name\", \"(.+)\")\n OR\n label_replace(\n group by (cluster, namespace, pod, owner_name, owner_kind) (\n kube_pod_owner{job=\"kube-state-metrics\", owner_kind!=\"ReplicaSet\", owner_kind!=\"DaemonSet\", owner_kind!=\"StatefulSet\", owner_kind!=\"Job\", owner_kind!=\"Node\", owner_kind!=\"\"}\n )\n , \"workload\", \"$1\", \"owner_name\", \"(.+)\"\n )\n , \"workload_type\", \"$1\", \"owner_kind\", \"(.+)\")\n)\n"
14211464 record: namespace_workload_pod:kube_pod_owner:relabel
14221465 - name : kube-scheduler.rules
14231466 rules :
0 commit comments