From 44a70ef0fc75c67cdd47c19eccbe2c14335517f7 Mon Sep 17 00:00:00 2001 From: Florian Geigl Date: Fri, 29 Jul 2022 14:47:55 +0200 Subject: [PATCH] formating --- .../metric-expressions-for-k8s-dashboard.json | 158 +++++++++--------- metric-example/metric-expressions-for-k8s.md | 4 +- 2 files changed, 81 insertions(+), 81 deletions(-) diff --git a/metric-example/metric-expressions-for-k8s-dashboard.json b/metric-example/metric-expressions-for-k8s-dashboard.json index 7299a19..5d0d735 100644 --- a/metric-example/metric-expressions-for-k8s-dashboard.json +++ b/metric-example/metric-expressions-for-k8s-dashboard.json @@ -3,14 +3,14 @@ "configurationVersions": [ 6 ], - "clusterVersion": "1.248.0.20220728-191724" + "clusterVersion": "1.248.2.20220729-040628" }, "id": "64bfca68-49ec-4628-92d2-ab38d0cf28f7", "dashboardMetadata": { "name": "Metric expressions for K8s (Github samples)", "shared": false, "owner": "florian.geigl@dynatrace.com", - "popularity": 2, + "popularity": 4, "hasConsistentColors": false }, "tiles": [ @@ -696,12 +696,12 @@ ] }, { - "name": "Number of Nodes with requests < 80%", + "name": "Node with any not-ready condition", "tileType": "DATA_EXPLORER", "configured": true, "bounds": { - "top": 380, - "left": 1178, + "top": 646, + "left": 38, "width": 380, "height": 228 }, @@ -711,8 +711,12 @@ { "id": "A", "timeAggregation": "DEFAULT", - "splitBy": [], - "metricSelector": "(\n builtin:cloud.kubernetes.node.cpuRequested:avg\n /builtin:cloud.kubernetes.node.cores:avg\n *100\n)\n:filter(in(\"dt.entity.kubernetes_node\", entitySelector(\"type(KUBERNETES_NODE),toRelationships.IS_KUBERNETES_CLUSTER_OF_NODE(type(KUBERNETES_CLUSTER),entityId(KUBERNETES_CLUSTER-44D2F1E49BE901AF))\")))\n:filter(series(avg,lt,80)):splitby():count", + "splitBy": [ + "dt.entity.kubernetes_cluster", + "dt.entity.kubernetes_node", + "node_condition" + ], + "metricSelector": "builtin:cloud.kubernetes.node.conditions\n:filter(and(ne(node_condition,Ready),eq(condition_status,True)))\n:splitBy(\"dt.entity.kubernetes_cluster\",\"dt.entity.kubernetes_node\",\"node_condition\")\n:count", "enabled": true } ], @@ -725,7 +729,7 @@ { "matcher": "A:", "unitTransform": "auto", - "valueFormat": "0", + "valueFormat": "auto", "properties": { "color": "DEFAULT", "seriesType": "LINE", @@ -790,18 +794,18 @@ "resolution": "" }, "metricExpressions": [ - "resolution=null&((builtin:cloud.kubernetes.node.cpuRequested:avg/builtin:cloud.kubernetes.node.cores:avg*100):filter(in(\"dt.entity.kubernetes_node\",entitySelector(\"type(KUBERNETES_NODE),toRelationships.IS_KUBERNETES_CLUSTER_OF_NODE(type(KUBERNETES_CLUSTER),entityId(KUBERNETES_CLUSTER-44D2F1E49BE901AF))\"))):filter(series(avg,lt(80))):splitBy():count):limit(100):names" + "resolution=null&(builtin:cloud.kubernetes.node.conditions:filter(and(ne(node_condition,Ready),eq(condition_status,True))):splitBy(\"dt.entity.kubernetes_cluster\",\"dt.entity.kubernetes_node\",node_condition):count):limit(100):names" ] }, { - "name": "Node with any not-ready condition", + "name": "Pods not running", "tileType": "DATA_EXPLORER", "configured": true, "bounds": { - "top": 646, + "top": 1064, "left": 38, - "width": 380, - "height": 228 + "width": 304, + "height": 304 }, "tileFilter": {}, "customName": "Data explorer results", @@ -809,12 +813,8 @@ { "id": "A", "timeAggregation": "DEFAULT", - "splitBy": [ - "dt.entity.kubernetes_cluster", - "dt.entity.kubernetes_node", - "node_condition" - ], - "metricSelector": "builtin:cloud.kubernetes.node.conditions\n:filter(and(ne(node_condition,Ready),eq(condition_status,True)))\n:splitBy(\"dt.entity.kubernetes_cluster\",\"dt.entity.kubernetes_node\",\"node_condition\")\n:count", + "splitBy": [], + "metricSelector": "( \n builtin:kubernetes.workload.pods_desired:avg:splitBy(\"dt.entity.cloud_application\"):sum\n - builtin:kubernetes.pods:avg:filter(eq(\"pod_phase\",\"Running\")):splitBy(\"dt.entity.cloud_application\"):sum\n)\n:filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))", "enabled": true } ], @@ -827,11 +827,10 @@ { "matcher": "A:", "unitTransform": "auto", - "valueFormat": "auto", + "valueFormat": "0", "properties": { "color": "DEFAULT", - "seriesType": "LINE", - "alias": "Number of nodes" + "seriesType": "LINE" }, "seriesOverrides": [] } @@ -845,7 +844,7 @@ { "displayName": "", "visible": true, - "min": "0", + "min": "AUTO", "max": "AUTO", "position": "LEFT", "queryIds": [ @@ -892,16 +891,16 @@ "resolution": "" }, "metricExpressions": [ - "resolution=null&(builtin:cloud.kubernetes.node.conditions:filter(and(ne(node_condition,Ready),eq(condition_status,True))):splitBy(\"dt.entity.kubernetes_cluster\",\"dt.entity.kubernetes_node\",node_condition):count):limit(100):names" + "resolution=null&((builtin:kubernetes.workload.pods_desired:avg:splitBy(\"dt.entity.cloud_application\"):sum - builtin:kubernetes.pods:avg:filter(eq(pod_phase,Running)):splitBy(\"dt.entity.cloud_application\"):sum):filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))):limit(100):names" ] }, { - "name": "Pods not running", + "name": "Pods not ready", "tileType": "DATA_EXPLORER", "configured": true, "bounds": { "top": 1064, - "left": 38, + "left": 342, "width": 304, "height": 304 }, @@ -912,7 +911,7 @@ "id": "A", "timeAggregation": "DEFAULT", "splitBy": [], - "metricSelector": "( \n builtin:kubernetes.workload.pods_desired:avg:splitBy(\"dt.entity.cloud_application\"):sum\n - builtin:kubernetes.pods:avg:filter(eq(\"pod_phase\",\"Running\")):splitBy(\"dt.entity.cloud_application\"):sum\n)\n:filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))", + "metricSelector": "( \n builtin:kubernetes.workload.pods_desired:avg:splitBy(\"dt.entity.cloud_application\"):sum\n - builtin:kubernetes.pods:avg:filter(eq(\"current_pod_condition\",\"Ready\")):splitBy(\"dt.entity.cloud_application\"):sum\n)\n:filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))", "enabled": true } ], @@ -989,16 +988,16 @@ "resolution": "" }, "metricExpressions": [ - "resolution=null&((builtin:kubernetes.workload.pods_desired:avg:splitBy(\"dt.entity.cloud_application\"):sum - builtin:kubernetes.pods:avg:filter(eq(pod_phase,Running)):splitBy(\"dt.entity.cloud_application\"):sum):filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))):limit(100):names" + "resolution=null&((builtin:kubernetes.workload.pods_desired:avg:splitBy(\"dt.entity.cloud_application\"):sum - builtin:kubernetes.pods:avg:filter(eq(current_pod_condition,Ready)):splitBy(\"dt.entity.cloud_application\"):sum):filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))):limit(100):names" ] }, { - "name": "Pods not ready", + "name": "Containers not running", "tileType": "DATA_EXPLORER", "configured": true, "bounds": { "top": 1064, - "left": 342, + "left": 646, "width": 304, "height": 304 }, @@ -1009,7 +1008,7 @@ "id": "A", "timeAggregation": "DEFAULT", "splitBy": [], - "metricSelector": "( \n builtin:kubernetes.workload.pods_desired:avg:splitBy(\"dt.entity.cloud_application\"):sum\n - builtin:kubernetes.pods:avg:filter(eq(\"current_pod_condition\",\"Ready\")):splitBy(\"dt.entity.cloud_application\"):sum\n)\n:filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))", + "metricSelector": "( \n builtin:kubernetes.workload.containers_desired:avg:splitBy(\"dt.entity.cloud_application\"):sum\n - builtin:kubernetes.containers:avg:filter(eq(\"container_state\",\"running\")):splitBy(\"dt.entity.cloud_application\"):sum\n)\n:filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))", "enabled": true } ], @@ -1086,16 +1085,16 @@ "resolution": "" }, "metricExpressions": [ - "resolution=null&((builtin:kubernetes.workload.pods_desired:avg:splitBy(\"dt.entity.cloud_application\"):sum - builtin:kubernetes.pods:avg:filter(eq(current_pod_condition,Ready)):splitBy(\"dt.entity.cloud_application\"):sum):filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))):limit(100):names" + "resolution=null&((builtin:kubernetes.workload.containers_desired:avg:splitBy(\"dt.entity.cloud_application\"):sum - builtin:kubernetes.containers:avg:filter(eq(container_state,running)):splitBy(\"dt.entity.cloud_application\"):sum):filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))):limit(100):names" ] }, { - "name": "Containers not running", + "name": "slack", "tileType": "DATA_EXPLORER", "configured": true, "bounds": { - "top": 1064, - "left": 646, + "top": 1406, + "left": 38, "width": 304, "height": 304 }, @@ -1105,8 +1104,10 @@ { "id": "A", "timeAggregation": "DEFAULT", - "splitBy": [], - "metricSelector": "( \n builtin:kubernetes.workload.containers_desired:avg:splitBy(\"dt.entity.cloud_application\"):sum\n - builtin:kubernetes.containers:avg:filter(eq(\"container_state\",\"running\")):splitBy(\"dt.entity.cloud_application\"):sum\n)\n:filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))", + "splitBy": [ + "dt.entity.cloud_application" + ], + "metricSelector": "(\n builtin:kubernetes.workload.requests_cpu:avg:splitBy(\"dt.entity.cloud_application\"):sum\n - builtin:containers.cpu.usageMilliCores:avg:parents:parents:splitBy(\"dt.entity.cloud_application\"):sum\n)\n:splitBy(\"dt.entity.cloud_application\"):avg\n:filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))", "enabled": true } ], @@ -1118,11 +1119,8 @@ "rules": [ { "matcher": "A:", - "unitTransform": "auto", - "valueFormat": "0", "properties": { - "color": "DEFAULT", - "seriesType": "LINE" + "color": "DEFAULT" }, "seriesOverrides": [] } @@ -1140,7 +1138,8 @@ "max": "AUTO", "position": "LEFT", "queryIds": [ - "A" + "A", + "B" ], "defaultAxis": true } @@ -1183,16 +1182,16 @@ "resolution": "" }, "metricExpressions": [ - "resolution=null&((builtin:kubernetes.workload.containers_desired:avg:splitBy(\"dt.entity.cloud_application\"):sum - builtin:kubernetes.containers:avg:filter(eq(container_state,running)):splitBy(\"dt.entity.cloud_application\"):sum):filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))):limit(100):names" + "resolution=null&((builtin:kubernetes.workload.requests_cpu:avg:splitBy(\"dt.entity.cloud_application\"):sum - builtin:containers.cpu.usageMilliCores:avg:parents:parents:splitBy(\"dt.entity.cloud_application\"):sum):splitBy(\"dt.entity.cloud_application\"):avg:filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))):limit(100):names" ] }, { - "name": "slack", + "name": "usage - requests", "tileType": "DATA_EXPLORER", "configured": true, "bounds": { "top": 1406, - "left": 38, + "left": 342, "width": 304, "height": 304 }, @@ -1205,7 +1204,7 @@ "splitBy": [ "dt.entity.cloud_application" ], - "metricSelector": "(\n builtin:kubernetes.workload.requests_cpu:avg:splitBy(\"dt.entity.cloud_application\"):sum\n - builtin:containers.cpu.usageMilliCores:avg:parents:parents:splitBy(\"dt.entity.cloud_application\"):sum\n)\n:splitBy(\"dt.entity.cloud_application\"):avg\n:filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))", + "metricSelector": "(\n builtin:containers.cpu.usageMilliCores:avg:parents:parents:splitBy(\"dt.entity.cloud_application\"):sum\n - builtin:kubernetes.workload.requests_cpu:avg:splitBy(\"dt.entity.cloud_application\"):sum\n)\n:splitBy(\"dt.entity.cloud_application\"):avg\n:filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))", "enabled": true } ], @@ -1280,16 +1279,16 @@ "resolution": "" }, "metricExpressions": [ - "resolution=null&((builtin:kubernetes.workload.requests_cpu:avg:splitBy(\"dt.entity.cloud_application\"):sum - builtin:containers.cpu.usageMilliCores:avg:parents:parents:splitBy(\"dt.entity.cloud_application\"):sum):splitBy(\"dt.entity.cloud_application\"):avg:filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))):limit(100):names" + "resolution=null&((builtin:containers.cpu.usageMilliCores:avg:parents:parents:splitBy(\"dt.entity.cloud_application\"):sum - builtin:kubernetes.workload.requests_cpu:avg:splitBy(\"dt.entity.cloud_application\"):sum):splitBy(\"dt.entity.cloud_application\"):avg:filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))):limit(100):names" ] }, { - "name": "usage - requests", + "name": "usage in percent of limits", "tileType": "DATA_EXPLORER", "configured": true, "bounds": { "top": 1406, - "left": 342, + "left": 646, "width": 304, "height": 304 }, @@ -1302,7 +1301,7 @@ "splitBy": [ "dt.entity.cloud_application" ], - "metricSelector": "(\n builtin:containers.cpu.usageMilliCores:avg:parents:parents:splitBy(\"dt.entity.cloud_application\"):sum\n - builtin:kubernetes.workload.requests_cpu:avg:splitBy(\"dt.entity.cloud_application\"):sum\n)\n:splitBy(\"dt.entity.cloud_application\"):avg\n:filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))", + "metricSelector": "(\n builtin:containers.cpu.usageMilliCores:avg:parents:parents:splitBy(\"dt.entity.cloud_application\"):sum\n / builtin:kubernetes.workload.limits_cpu:avg:splitBy(\"dt.entity.cloud_application\"):sum\n * 100\n)\n:splitBy(\"dt.entity.cloud_application\"):avg\n:setUnit(Percent)\n:filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))", "enabled": true } ], @@ -1314,8 +1313,11 @@ "rules": [ { "matcher": "A:", + "unitTransform": "Percent", + "valueFormat": "0", "properties": { - "color": "DEFAULT" + "color": "DEFAULT", + "seriesType": "LINE" }, "seriesOverrides": [] } @@ -1333,8 +1335,7 @@ "max": "AUTO", "position": "LEFT", "queryIds": [ - "A", - "B" + "A" ], "defaultAxis": true } @@ -1377,16 +1378,16 @@ "resolution": "" }, "metricExpressions": [ - "resolution=null&((builtin:containers.cpu.usageMilliCores:avg:parents:parents:splitBy(\"dt.entity.cloud_application\"):sum - builtin:kubernetes.workload.requests_cpu:avg:splitBy(\"dt.entity.cloud_application\"):sum):splitBy(\"dt.entity.cloud_application\"):avg:filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))):limit(100):names" + "resolution=null&((builtin:containers.cpu.usageMilliCores:avg:parents:parents:splitBy(\"dt.entity.cloud_application\"):sum/builtin:kubernetes.workload.limits_cpu:avg:splitBy(\"dt.entity.cloud_application\"):sum*100):splitBy(\"dt.entity.cloud_application\"):avg:setUnit(Percent):filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))):limit(100):names" ] }, { - "name": "usage in percent of limits", + "name": "throttling in percent of usage", "tileType": "DATA_EXPLORER", "configured": true, "bounds": { "top": 1406, - "left": 646, + "left": 950, "width": 304, "height": 304 }, @@ -1399,7 +1400,7 @@ "splitBy": [ "dt.entity.cloud_application" ], - "metricSelector": "(\n builtin:containers.cpu.usageMilliCores:avg:parents:parents:splitBy(\"dt.entity.cloud_application\"):sum\n / builtin:kubernetes.workload.limits_cpu:avg:splitBy(\"dt.entity.cloud_application\"):sum\n * 100\n)\n:splitBy(\"dt.entity.cloud_application\"):avg\n:setUnit(Percent)\n:filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))", + "metricSelector": "(\n builtin:containers.cpu.throttledMilliCores:avg:parents:parents:splitBy(\"dt.entity.cloud_application_instance\",\"dt.entity.cloud_application\"):sum\n / builtin:containers.cpu.usageMilliCores:avg:parents:parents:splitBy(\"dt.entity.cloud_application_instance\",\"dt.entity.cloud_application\"):sum\n * 100\n)\n:splitBy(\"dt.entity.cloud_application\"):avg\n:filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))", "enabled": true } ], @@ -1411,11 +1412,8 @@ "rules": [ { "matcher": "A:", - "unitTransform": "Percent", - "valueFormat": "0", "properties": { - "color": "DEFAULT", - "seriesType": "LINE" + "color": "DEFAULT" }, "seriesOverrides": [] } @@ -1476,16 +1474,16 @@ "resolution": "" }, "metricExpressions": [ - "resolution=null&((builtin:containers.cpu.usageMilliCores:avg:parents:parents:splitBy(\"dt.entity.cloud_application\"):sum/builtin:kubernetes.workload.limits_cpu:avg:splitBy(\"dt.entity.cloud_application\"):sum*100):splitBy(\"dt.entity.cloud_application\"):avg:setUnit(Percent):filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))):limit(100):names" + "resolution=null&((builtin:containers.cpu.throttledMilliCores:avg:parents:parents:splitBy(\"dt.entity.cloud_application_instance\",\"dt.entity.cloud_application\"):sum/builtin:containers.cpu.usageMilliCores:avg:parents:parents:splitBy(\"dt.entity.cloud_application_instance\",\"dt.entity.cloud_application\"):sum*100):splitBy(\"dt.entity.cloud_application\"):avg:filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))):limit(100):names" ] }, { - "name": "throttling in percent of usage", + "name": "Container restarts", "tileType": "DATA_EXPLORER", "configured": true, "bounds": { - "top": 1406, - "left": 950, + "top": 1710, + "left": 38, "width": 304, "height": 304 }, @@ -1498,7 +1496,7 @@ "splitBy": [ "dt.entity.cloud_application" ], - "metricSelector": "(\n builtin:containers.cpu.throttledMilliCores:avg:parents:parents:splitBy(\"dt.entity.cloud_application_instance\",\"dt.entity.cloud_application\"):sum\n / builtin:containers.cpu.usageMilliCores:avg:parents:parents:splitBy(\"dt.entity.cloud_application_instance\",\"dt.entity.cloud_application\"):sum\n * 100\n)\n:splitBy(\"dt.entity.cloud_application\"):avg\n:filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))", + "metricSelector": "builtin:kubernetes.container.restarts\n:splitBy(\"dt.entity.cloud_application\"):sum\n:filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))", "enabled": true } ], @@ -1572,18 +1570,18 @@ "resolution": "" }, "metricExpressions": [ - "resolution=null&((builtin:containers.cpu.throttledMilliCores:avg:parents:parents:splitBy(\"dt.entity.cloud_application_instance\",\"dt.entity.cloud_application\"):sum/builtin:containers.cpu.usageMilliCores:avg:parents:parents:splitBy(\"dt.entity.cloud_application_instance\",\"dt.entity.cloud_application\"):sum*100):splitBy(\"dt.entity.cloud_application\"):avg:filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))):limit(100):names" + "resolution=null&(builtin:kubernetes.container.restarts:splitBy(\"dt.entity.cloud_application\"):sum:filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))):limit(100):names" ] }, { - "name": "Container restarts", + "name": "Number of Nodes with requests < 80%", "tileType": "DATA_EXPLORER", "configured": true, "bounds": { - "top": 1710, - "left": 38, - "width": 304, - "height": 304 + "top": 380, + "left": 1178, + "width": 380, + "height": 228 }, "tileFilter": {}, "customName": "Data explorer results", @@ -1591,10 +1589,8 @@ { "id": "A", "timeAggregation": "DEFAULT", - "splitBy": [ - "dt.entity.cloud_application" - ], - "metricSelector": "builtin:kubernetes.container.restarts\n:splitBy(\"dt.entity.cloud_application\"):sum\n:filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))", + "splitBy": [], + "metricSelector": "(\n builtin:cloud.kubernetes.node.cpuRequested:avg\n / builtin:cloud.kubernetes.node.cores:avg\n * 100\n)\n:filter(in(\"dt.entity.kubernetes_node\", entitySelector(\"type(KUBERNETES_NODE),toRelationships.IS_KUBERNETES_CLUSTER_OF_NODE(type(KUBERNETES_CLUSTER),entityId(KUBERNETES_CLUSTER-44D2F1E49BE901AF))\")))\n:filter(series(avg,lt,80)):splitby():count", "enabled": true } ], @@ -1606,8 +1602,12 @@ "rules": [ { "matcher": "A:", + "unitTransform": "auto", + "valueFormat": "0", "properties": { - "color": "DEFAULT" + "color": "DEFAULT", + "seriesType": "LINE", + "alias": "Number of nodes" }, "seriesOverrides": [] } @@ -1621,7 +1621,7 @@ { "displayName": "", "visible": true, - "min": "AUTO", + "min": "0", "max": "AUTO", "position": "LEFT", "queryIds": [ @@ -1668,7 +1668,7 @@ "resolution": "" }, "metricExpressions": [ - "resolution=null&(builtin:kubernetes.container.restarts:splitBy(\"dt.entity.cloud_application\"):sum:filter(and(in(\"dt.entity.cloud_application\",entitySelector(\"type(cloud_application),entityId(~\"CLOUD_APPLICATION-A26E32FC302257AB~\")\"))))):limit(100):names" + "resolution=null&((builtin:cloud.kubernetes.node.cpuRequested:avg/builtin:cloud.kubernetes.node.cores:avg*100):filter(in(\"dt.entity.kubernetes_node\",entitySelector(\"type(KUBERNETES_NODE),toRelationships.IS_KUBERNETES_CLUSTER_OF_NODE(type(KUBERNETES_CLUSTER),entityId(KUBERNETES_CLUSTER-44D2F1E49BE901AF))\"))):filter(series(avg,lt(80))):splitBy():count):limit(100):names" ] } ] diff --git a/metric-example/metric-expressions-for-k8s.md b/metric-example/metric-expressions-for-k8s.md index 6db8006..4d8f4a0 100644 --- a/metric-example/metric-expressions-for-k8s.md +++ b/metric-example/metric-expressions-for-k8s.md @@ -82,8 +82,8 @@ By replacing the *usage* part of this query, we can solve the same use cases for ``` ( builtin:cloud.kubernetes.node.cpuRequested:avg - /builtin:cloud.kubernetes.node.cores:avg - *100 + / builtin:cloud.kubernetes.node.cores:avg + * 100 ) :filter(in("dt.entity.kubernetes_node", entitySelector("type(KUBERNETES_NODE),toRelationships.IS_KUBERNETES_CLUSTER_OF_NODE(type(KUBERNETES_CLUSTER),entityId(KUBERNETES_CLUSTER-44D2F1E49BE901AF))"))) :filter(series(avg,lt,80)):splitby():count