diff --git a/integrations/observability/k8s/assets/k8s-1.0.0.ndjson b/integrations/observability/k8s/assets/k8s-1.0.0.ndjson index 4668485..a95377d 100644 --- a/integrations/observability/k8s/assets/k8s-1.0.0.ndjson +++ b/integrations/observability/k8s/assets/k8s-1.0.0.ndjson @@ -11,6 +11,6 @@ {"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"},"title":"Top CPU intensive pods [ Kubernetes]","uiStateJSON":"{}","version":1,"visState":"{\"title\":\"Top CPU intensive pods [ Kubernetes]\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"type\":\"timeseries\",\"series\":[{\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"split_color_mode\":\"opensearchDashboards\",\"metrics\":[{\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"sum\",\"field\":\"kubernetes.container.cpu.request.cores\"},{\"unit\":\"1s\",\"id\":\"eeea0fe0-48ff-11ec-b39b-33a1da97fd00\",\"type\":\"count\",\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"0.0 a\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"terms_field\":\"kubernetes.container.name\",\"value_template\":\"{{value}} ns\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"label\":\"\"}],\"time_field\":\"@timestamp\",\"index_pattern\":\"logs-k8s\",\"interval\":\"\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"axis_scale\":\"normal\",\"show_legend\":1,\"show_grid\":1,\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"ss4o_logs-k8s-k8s-sample-sample\",\"default_timefield\":\"@timestamp\",\"isModelInvalid\":false,\"bar_color_rules\":[{\"id\":\"c8d782b0-48ff-11ec-b39b-33a1da97fd00\"}],\"filter\":{\"query\":\"event.domain:kubernetes AND event.dataset:kubernetes.container\",\"language\":\"kuery\"},\"background_color_rules\":[{\"id\":\"cf2799e0-37a3-11ee-bfde-4b4fbdcc71b7\"}]}}"},"id":"d2700b9c-d686-481c-ba9c-d27245cbbfb4","migrationVersion":{"visualization":"7.10.0"},"references":[],"type":"visualization","updated_at":"2024-02-25T17:05:14.903Z","version":"WzEzNiw1XQ=="} {"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"},"title":"Network in by node [ Kubernetes]","uiStateJSON":"{}","version":1,"visState":"{\"title\":\"Network in by node [ Kubernetes]\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"type\":\"timeseries\",\"series\":[{\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"color\":\"\",\"split_mode\":\"terms\",\"split_color_mode\":\"opensearchDashboards\",\"metrics\":[{\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"sum\",\"field\":\"kubernetes.pod.network.rx.bytes\"},{\"unit\":\"\",\"id\":\"a1742800-48fe-11ec-b39b-33a1da97fd00\",\"type\":\"derivative\",\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\"},{\"unit\":\"\",\"id\":\"aa9b72d0-48fe-11ec-b39b-33a1da97fd00\",\"type\":\"positive_only\",\"field\":\"a1742800-48fe-11ec-b39b-33a1da97fd00\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"\",\"type\":\"timeseries\",\"terms_field\":\"host.name\"}],\"time_field\":\"@timestamp\",\"index_pattern\":\"logs-k8s\",\"interval\":\"\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"axis_scale\":\"normal\",\"show_legend\":1,\"show_grid\":1,\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"logs-k8s\",\"default_timefield\":\"@timestamp\",\"isModelInvalid\":false,\"filter\":{\"query\":\"event.domain:kubernetes AND event.dataset:kubernetes.pod\",\"language\":\"kuery\"}}}"},"id":"b517adf3-420b-418f-85b2-775fa09afefb","migrationVersion":{"visualization":"7.10.0"},"references":[],"type":"visualization","updated_at":"2024-02-25T17:05:14.903Z","version":"WzEzNyw1XQ=="} {"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"},"title":"Network out by node [ Kubernetes]","uiStateJSON":"{}","version":1,"visState":"{\"title\":\"Network out by node [ Kubernetes]\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"type\":\"timeseries\",\"series\":[{\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"split_color_mode\":\"opensearchDashboards\",\"metrics\":[{\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"sum\",\"field\":\"kubernetes.pod.network.tx.bytes\"},{\"unit\":\"\",\"id\":\"17284c20-48ff-11ec-b39b-33a1da97fd00\",\"type\":\"derivative\",\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\"},{\"unit\":\"\",\"id\":\"1bbe7610-48ff-11ec-b39b-33a1da97fd00\",\"type\":\"positive_only\",\"field\":\"17284c20-48ff-11ec-b39b-33a1da97fd00\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"\",\"type\":\"timeseries\",\"terms_field\":\"host.name\",\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\"}],\"time_field\":\"@timestamp\",\"index_pattern\":\"logs-k8s\",\"interval\":\"\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"axis_scale\":\"normal\",\"show_legend\":1,\"show_grid\":1,\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"logs-k8s\",\"default_timefield\":\"@timestamp\",\"isModelInvalid\":false,\"filter\":{\"query\":\"event.domain:kubernetes AND event.dataset:kubernetes.pod\",\"language\":\"kuery\"}}}"},"id":"2489e12f-db68-40de-a5aa-f6b47f7bee90","migrationVersion":{"visualization":"7.10.0"},"references":[],"type":"visualization","updated_at":"2024-02-25T17:05:14.903Z","version":"WzEzOCw1XQ=="} -{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"},"title":"k8-cluster-visualization-zoomable","uiStateJSON":"{}","version":1,"visState":"{\"title\":\"k8-cluster-visualization-zoomable\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n \\\"$schema\\\": \\\"https://vega.github.io/schema/vega/v5.json\\\",\\n \\\"title\\\": \\\"Kubernetes overview\\\",\\n \\\"autosize\\\": {\\n \\\"type\\\": \\\"fit\\\",\\n \\\"contains\\\": \\\"padding\\\"\\n },\\n \\\"padding\\\": 20,\\n \\\"signals\\\": [\\n {\\n \\\"name\\\": \\\"duration\\\",\\n \\\"init\\\": \\\"750\\\",\\n \\\"description\\\": \\\"The duration for the zoom transitions. Fade-in transitions will be the same duration, but will be delayed per the amount set here.\\\",\\n \\\"on\\\": [\\n {\\n \\\"events\\\": {\\\"type\\\": \\\"click\\\", \\\"marknames\\\": [\\\"circles\\\", \\\"background\\\"]},\\n \\\"update\\\": \\\"(event.metaKey || event.ctrlKey ? 4 : 1) *750\\\"\\n }\\n ]\\n },\\n {\\n \\\"name\\\": \\\"k\\\",\\n \\\"value\\\": 1,\\n \\\"description\\\": \\\"The scale used for zooming based on the focused node\\\",\\n \\\"on\\\": [\\n {\\n \\\"events\\\": [{\\\"signal\\\": \\\"focus\\\"}],\\n \\\"update\\\": \\\"focus ? width/(focus.r*2) : 1\\\"\\n }\\n ]\\n },\\n {\\n \\\"name\\\": \\\"root\\\",\\n \\\"update\\\": \\\"{'currentNode': data('tree')[0]['currentNode'], 'x': data('tree')[0]['x'], 'y': data('tree')[0]['y'], 'r': data('tree')[0]['r'], 'k': 1, 'children': data('tree')[0]['children']}\\\",\\n \\\"description\\\": \\\"The root node in the hierarchy\\\"\\n },\\n {\\n \\\"name\\\": \\\"focus\\\",\\n \\\"init\\\": \\\"root\\\",\\n \\\"description\\\": \\\"The zoomed-in node in the hierarchy\\\",\\n \\\"on\\\": [\\n {\\n \\\"events\\\": {\\\"type\\\": \\\"click\\\", \\\"markname\\\": \\\"background\\\"},\\n \\\"update\\\": \\\"{id: root['currentNode'], 'x': root['x'], 'y': root['y'], 'r': root['r'], 'k': 1,'children': root['children']}\\\"\\n },\\n {\\n \\\"events\\\": {\\\"type\\\": \\\"click\\\", \\\"markname\\\": \\\"circles\\\"},\\n \\\"update\\\": \\\"(focus['x'] === datum['x'] && focus['y'] === datum['y'] && focus['r'] === datum['r'] && focus['r'] !== root['r']) ? {'currentNode': root['currentNode'], 'x': root['x'], 'y': root['y'], 'r': root['r'], 'k': 1, 'children': root['children']} : {'currentNode': datum['currentNode'], 'x': datum['x'], 'y': datum['y'], 'r': datum['r'], 'k': k, 'children': datum['children']}\\\"\\n }\\n ]\\n },\\n {\\n \\\"name\\\": \\\"focus0\\\",\\n \\\"update\\\": \\\"data('focus0') && length(data('focus0'))>0 ? data('focus0')[0] : focus\\\",\\n \\\"description\\\": \\\"The prior zoomed-in node in the hierarchy\\\"\\n },\\n {\\n \\\"name\\\": \\\"timer\\\",\\n \\\"description\\\": \\\"The timer to be used for transitions such as zoom, fade, etc.\\\",\\n \\\"on\\\": [{\\\"events\\\": \\\"timer\\\", \\\"update\\\": \\\"now()\\\"}]\\n },\\n {\\n \\\"name\\\": \\\"interpolateTime\\\",\\n \\\"description\\\": \\\"the start and end times in miliseconds for animation interpolations\\\",\\n \\\"on\\\": [\\n {\\n \\\"events\\\": {\\n \\\"type\\\": \\\"click\\\",\\n \\\"marknames\\\": [\\\"circles\\\", \\\"background\\\"]\\n },\\n \\\"update\\\": \\\"{'start': timer, 'end': timer+duration}\\\"\\n }\\n ]\\n },\\n {\\n \\\"name\\\": \\\"t\\\",\\n \\\"description\\\": \\\"The normalized time for easing\\\",\\n \\\"update\\\": \\\"interpolateTime ? clamp((timer-interpolateTime.start)/(interpolateTime.end-interpolateTime.start), 0, 1): null\\\"\\n },\\n {\\n \\\"name\\\": \\\"tEase\\\",\\n \\\"description\\\": \\\"The easing calculation. Currently set as easeInOutCubic\\\",\\n \\\"update\\\": \\\"t < 0.5 ? 4 * t * t * t : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1\\\"\\n },\\n {\\n \\\"name\\\": \\\"interpolateTimeDelayed\\\",\\n \\\"description\\\": \\\"The delayed time for easing\\\",\\n \\\"on\\\": [\\n {\\n \\\"events\\\": {\\\"signal\\\": \\\"interpolateTime\\\"},\\n \\\"update\\\": \\\"{'start': interpolateTime['end'], 'end': interpolateTime['end']+duration}\\\"\\n }\\n ]\\n },\\n {\\n \\\"name\\\": \\\"tDelayed\\\",\\n \\\"description\\\": \\\"The delayed normalized time for easing\\\",\\n \\\"update\\\": \\\"interpolateTimeDelayed ? clamp((timer-interpolateTimeDelayed.start)/(interpolateTimeDelayed.end-interpolateTimeDelayed.start), 0, 1): null\\\"\\n },\\n {\\n \\\"name\\\": \\\"tEaseDelayed\\\",\\n \\\"description\\\": \\\"The delayed easing calculation. Currently set as easeInOutCubic\\\",\\n \\\"update\\\": \\\"tDelayed < 0.5 ? 4 * tDelayed * tDelayed * tDelayed : (tDelayed - 1) * (2 * tDelayed - 2) * (2 * tDelayed - 2) + 1\\\"\\n },\\n {\\n \\\"name\\\": \\\"showDetails\\\",\\n \\\"description\\\": \\\"A boolean to indicate whether to show a node's details\\\",\\n \\\"value\\\": false,\\n \\\"on\\\": [\\n {\\n \\\"events\\\": {\\n \\\"type\\\": \\\"click\\\",\\n \\\"marknames\\\": [\\\"circles\\\", \\\"background\\\"],\\n \\\"filter\\\": [\\n \\\"!event.altKey && !event.shiftKey\\\",\\n \\\"event.button === 0\\\"\\n ],\\n \\\"markname\\\": \\\"circles\\\"\\n },\\n \\\"update\\\": \\\"focus['children'] > 0 ? false : datum['currentNode'] === root['currentNode'] || focus0['currentNode'] !== root['currentNode'] && focus['currentNode'] === root['currentNode'] ? false : true\\\"\\n },\\n {\\n \\\"events\\\": {\\n \\\"type\\\": \\\"click\\\",\\n \\\"marknames\\\": [\\\"circles\\\", \\\"background\\\"],\\n \\\"filter\\\": [\\\"event.altKey || event.shiftKey\\\", \\\"event.button === 0\\\"]\\n },\\n \\\"update\\\": \\\"focus0['currentNode'] === focus['currentNode'] ? !showDetails : true\\\"\\n }\\n ]\\n },\\n {\\n \\\"name\\\": \\\"rootNodeName\\\",\\n \\\"description\\\": \\\"The name of the root node / the environment name\\\",\\n \\\"value\\\": \\\"GKE\\\"\\n }\\n ],\\n \\\"data\\\": [\\n {\\n \\\"name\\\": \\\"raw-data\\\",\\n \\\"url\\\": {\\n \\\"%context%\\\": true,\\n \\\"index\\\": \\\"ss4o_logs-k8s-k8s-sample-sample\\\",\\n \\\"body\\\": {\\n \\\"size\\\": 0,\\n \\\"aggs\\\": {\\n \\\"container\\\": {\\n \\\"terms\\\": {\\n \\\"field\\\": \\\"kubernetes.container.id\\\",\\n \\\"size\\\": 3000\\n },\\n \\\"aggs\\\": {\\n \\\"top-hits\\\": {\\n \\\"top_hits\\\": {\\n \\\"sort\\\": [\\n {\\n \\\"@timestamp\\\": {\\n \\\"order\\\": \\\"desc\\\"\\n }\\n }\\n ],\\n \\\"_source\\\": {\\n \\\"includes\\\": [\\n \\\"kubernetes.container.name\\\",\\n \\\"kubernetes.pod.name\\\",\\n \\\"kubernetes.node.name\\\",\\n \\\"kubernetes.namespace\\\"\\n ]\\n },\\n \\\"size\\\": 1\\n }\\n }\\n }\\n }\\n }\\n }\\n },\\n \\\"format\\\": {\\n \\\"property\\\": \\\"aggregations.container.buckets\\\"\\n },\\n \\\"transform\\\": [\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"as\\\": \\\"node\\\",\\n \\\"expr\\\": \\\"datum['top-hits'].hits.hits == null ? 'NA' : datum['top-hits'].hits.hits[0]._source.kubernetes.node.name\\\"\\n },\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"as\\\": \\\"pod\\\",\\n \\\"expr\\\": \\\"datum['top-hits'].hits.hits == null ? 'NA' : datum['top-hits'].hits.hits[0]._source.kubernetes.pod.name\\\"\\n },\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"as\\\": \\\"namespace\\\",\\n \\\"expr\\\": \\\"datum['top-hits'].hits.hits == null ? 'NA' : datum['top-hits'].hits.hits[0]._source.kubernetes.namespace\\\"\\n },\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"as\\\": \\\"container\\\",\\n \\\"expr\\\": \\\"datum['top-hits'].hits.hits == null ? 'NA' : datum['top-hits'].hits.hits[0]._source.kubernetes.container.name\\\"\\n },\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"as\\\": \\\"value\\\",\\n \\\"expr\\\": \\\"1\\\"\\n },\\n {\\n \\\"type\\\": \\\"project\\\",\\n \\\"fields\\\": [\\n \\\"key\\\",\\n \\\"pod\\\",\\n \\\"node\\\",\\n \\\"namespace\\\",\\n \\\"value\\\",\\n \\\"container\\\"\\n ],\\n \\\"as\\\": [\\n \\\"id\\\",\\n \\\"pod\\\",\\n \\\"node\\\",\\n \\\"namespace\\\",\\n \\\"value\\\",\\n \\\"container\\\"\\n ]\\n }\\n ]\\n },\\n {\\n \\\"name\\\": \\\"isolatedLevel1\\\",\\n \\\"source\\\": [\\n \\\"raw-data\\\"\\n ],\\n \\\"transform\\\": [\\n {\\n \\\"type\\\": \\\"project\\\",\\n \\\"fields\\\": [\\n \\\"node\\\",\\n \\\"currentNode\\\",\\n \\\"value\\\"\\n ],\\n \\\"as\\\": [\\n \\\"currentNode\\\",\\n \\\"parent\\\",\\n \\\"value\\\"\\n ]\\n },\\n {\\n \\\"type\\\": \\\"aggregate\\\",\\n \\\"groupby\\\": [\\n \\\"parent\\\",\\n \\\"currentNode\\\"\\n ],\\n \\\"fields\\\": [\\n \\\"value\\\"\\n ],\\n \\\"ops\\\": [\\n \\\"sum\\\"\\n ],\\n \\\"as\\\": [\\n \\\"value\\\"\\n ]\\n },\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"as\\\": \\\"parent\\\",\\n \\\"expr\\\": \\\"!isDefined(datum.parent) ? rootNodeName : datum.parent\\\"\\n },\\n {\\n \\\"type\\\": \\\"project\\\",\\n \\\"fields\\\": [\\n \\\"currentNode\\\",\\n \\\"parent\\\",\\n \\\"value\\\"\\n ],\\n \\\"as\\\": [\\n \\\"currentNode\\\",\\n \\\"parent\\\",\\n \\\"value\\\"\\n ]\\n },\\n {\\n \\\"type\\\": \\\"filter\\\",\\n \\\"expr\\\": \\\"datum.currentNode\\\"\\n },\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"as\\\": \\\"type\\\",\\n \\\"expr\\\": \\\"'node'\\\"\\n }\\n ]\\n },\\n {\\n \\\"name\\\": \\\"rootNode\\\",\\n \\\"source\\\": \\\"isolatedLevel1\\\",\\n \\\"transform\\\": [\\n {\\n \\\"type\\\": \\\"project\\\",\\n \\\"fields\\\": [\\n \\\"parent\\\",\\n \\\"pod\\\"\\n ],\\n \\\"as\\\": [\\n \\\"currentNode\\\",\\n \\\"parent\\\"\\n ]\\n },\\n {\\n \\\"type\\\": \\\"aggregate\\\",\\n \\\"groupby\\\": [\\n \\\"currentNode\\\",\\n \\\"parent\\\"\\n ]\\n },\\n {\\n \\\"type\\\": \\\"project\\\",\\n \\\"fields\\\": [\\n \\\"currentNode\\\",\\n \\\"parent\\\"\\n ],\\n \\\"as\\\": [\\n \\\"currentNode\\\",\\n \\\"parent\\\"\\n ]\\n },\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"as\\\": \\\"type\\\",\\n \\\"expr\\\": \\\"'environment'\\\"\\n }\\n ]\\n },\\n {\\n \\\"name\\\": \\\"isolatedLevel2\\\",\\n \\\"source\\\": \\\"raw-data\\\",\\n \\\"transform\\\": [\\n {\\n \\\"type\\\": \\\"project\\\",\\n \\\"fields\\\": [\\n \\\"node\\\",\\n \\\"pod\\\",\\n \\\"value\\\"\\n ],\\n \\\"as\\\": [\\n \\\"parent\\\",\\n \\\"currentNode\\\",\\n \\\"value\\\"\\n ]\\n },\\n {\\n \\\"type\\\": \\\"aggregate\\\",\\n \\\"groupby\\\": [\\n \\\"parent\\\",\\n \\\"currentNode\\\"\\n ],\\n \\\"fields\\\": [\\n \\\"value\\\"\\n ],\\n \\\"ops\\\": [\\n \\\"sum\\\"\\n ],\\n \\\"as\\\": [\\n \\\"value\\\"\\n ]\\n },\\n {\\n \\\"type\\\": \\\"project\\\",\\n \\\"fields\\\": [\\n \\\"currentNode\\\",\\n \\\"parent\\\",\\n \\\"value\\\"\\n ],\\n \\\"as\\\": [\\n \\\"currentNode\\\",\\n \\\"parent\\\",\\n \\\"value\\\"\\n ]\\n },\\n {\\n \\\"type\\\": \\\"filter\\\",\\n \\\"expr\\\": \\\"datum.currentNode\\\"\\n },\\n {\\n \\\"type\\\": \\\"filter\\\",\\n \\\"expr\\\": \\\"datum.parent\\\"\\n },\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"as\\\": \\\"type\\\",\\n \\\"expr\\\": \\\"'pod'\\\"\\n }\\n ]\\n },\\n {\\n \\\"name\\\": \\\"isolatedLevel3\\\",\\n \\\"source\\\": \\\"raw-data\\\",\\n \\\"transform\\\": [\\n {\\n \\\"type\\\": \\\"project\\\",\\n \\\"fields\\\": [\\n \\\"pod\\\",\\n \\\"id\\\",\\n \\\"value\\\"\\n ],\\n \\\"as\\\": [\\n \\\"parent\\\",\\n \\\"currentNode\\\",\\n \\\"value\\\"\\n ]\\n },\\n {\\n \\\"type\\\": \\\"aggregate\\\",\\n \\\"groupby\\\": [\\n \\\"parent\\\",\\n \\\"currentNode\\\"\\n ],\\n \\\"fields\\\": [\\n \\\"value\\\"\\n ],\\n \\\"ops\\\": [\\n \\\"sum\\\"\\n ],\\n \\\"as\\\": [\\n \\\"value\\\"\\n ]\\n },\\n {\\n \\\"type\\\": \\\"project\\\",\\n \\\"fields\\\": [\\n \\\"currentNode\\\",\\n \\\"parent\\\",\\n \\\"value\\\"\\n ],\\n \\\"as\\\": [\\n \\\"currentNode\\\",\\n \\\"parent\\\",\\n \\\"value\\\"\\n ]\\n },\\n {\\n \\\"type\\\": \\\"filter\\\",\\n \\\"expr\\\": \\\"datum.currentNode\\\"\\n },\\n {\\n \\\"type\\\": \\\"filter\\\",\\n \\\"expr\\\": \\\"datum.parent\\\"\\n },\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"as\\\": \\\"type\\\",\\n \\\"expr\\\": \\\"'container'\\\"\\n }\\n ]\\n },\\n {\\n \\\"name\\\": \\\"tree\\\",\\n \\\"source\\\": [\\n \\\"rootNode\\\",\\n \\\"isolatedLevel1\\\",\\n \\\"isolatedLevel2\\\",\\n \\\"isolatedLevel3\\\"\\n ],\\n \\\"transform\\\": [\\n {\\n \\\"type\\\": \\\"lookup\\\",\\n \\\"from\\\": \\\"raw-data\\\",\\n \\\"key\\\": \\\"id\\\",\\n \\\"fields\\\": [\\n \\\"currentNode\\\"\\n ],\\n \\\"values\\\": [\\n \\\"namespace\\\",\\n \\\"container\\\"\\n ],\\n \\\"as\\\": [\\n \\\"namespace-container\\\",\\n \\\"container\\\"\\n ],\\n \\\"default\\\": \\\"\\\"\\n },\\n {\\n \\\"type\\\": \\\"lookup\\\",\\n \\\"from\\\": \\\"raw-data\\\",\\n \\\"key\\\": \\\"pod\\\",\\n \\\"fields\\\": [\\n \\\"currentNode\\\"\\n ],\\n \\\"values\\\": [\\n \\\"namespace\\\"\\n ],\\n \\\"as\\\": [\\n \\\"namespace-pod\\\"\\n ],\\n \\\"default\\\": \\\"\\\"\\n },\\n {\\n \\\"type\\\": \\\"lookup\\\",\\n \\\"from\\\": \\\"raw-data\\\",\\n \\\"key\\\": \\\"node\\\",\\n \\\"fields\\\": [\\n \\\"currentNode\\\"\\n ],\\n \\\"values\\\": [\\n \\\"namespace\\\"\\n ],\\n \\\"as\\\": [\\n \\\"namespace-node\\\"\\n ],\\n \\\"default\\\": \\\"\\\"\\n },\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"as\\\": \\\"namespace\\\",\\n \\\"expr\\\": \\\"datum['namespace-node'] + datum['namespace-pod'] + datum['namespace-container']\\\"\\n },\\n {\\n \\\"type\\\": \\\"stratify\\\",\\n \\\"key\\\": \\\"currentNode\\\",\\n \\\"parentKey\\\": \\\"parent\\\"\\n },\\n {\\n \\\"type\\\": \\\"pack\\\",\\n \\\"field\\\": \\\"value\\\",\\n \\\"sort\\\": {\\n \\\"field\\\": \\\"value\\\"\\n },\\n \\\"size\\\": [\\n {\\n \\\"signal\\\": \\\"width\\\"\\n },\\n {\\n \\\"signal\\\": \\\"height\\\"\\n }\\n ],\\n \\\"padding\\\": 100\\n }\\n ]\\n },\\n {\\n \\\"name\\\": \\\"focus0\\\",\\n \\\"on\\\": [{\\\"trigger\\\": \\\"focus\\\", \\\"insert\\\": \\\"focus\\\"}],\\n \\\"transform\\\": [\\n {\\\"type\\\": \\\"formula\\\", \\\"expr\\\": \\\"now()\\\", \\\"as\\\": \\\"now\\\"},\\n {\\n \\\"type\\\": \\\"window\\\",\\n \\\"ops\\\": [\\\"row_number\\\"],\\n \\\"as\\\": [\\\"row\\\"],\\n \\\"sort\\\": {\\\"field\\\": \\\"now\\\", \\\"order\\\": \\\"descending\\\"}\\n },\\n {\\\"type\\\": \\\"filter\\\", \\\"expr\\\": \\\"datum['row'] ? datum['row'] == 2 : true \\\"},\\n {\\\"type\\\": \\\"project\\\", \\\"fields\\\": [\\\"id\\\", \\\"x\\\", \\\"y\\\", \\\"r\\\", \\\"children\\\"]},\\n {\\\"type\\\": \\\"formula\\\", \\\"expr\\\": \\\"width/(datum['r']*2)\\\", \\\"as\\\": \\\"k\\\"}\\n ]\\n },\\n {\\n \\\"name\\\": \\\"details_data\\\",\\n \\\"source\\\": \\\"tree\\\",\\n \\\"transform\\\": [\\n {\\n \\\"type\\\": \\\"filter\\\",\\n \\\"expr\\\": \\\"datum['currentNode'] === focus['currentNode'] && showDetails\\\"\\n },\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"expr\\\": \\\"[ 'namespace: ' + datum['namespace'], 'type: ' + datum['type'], 'container: ' + datum['container'], 'pod: ' + datum['parent'], 'node: ' + datum['currentNode']]\\\",\\n \\\"as\\\": \\\"details\\\"\\n }\\n ]\\n }\\n\\n ],\\n \\\"legends\\\": [\\n {\\n \\\"fill\\\": \\\"color\\\",\\n \\\"orient\\\": \\\"top-left\\\",\\n \\\"encode\\\": {\\n \\\"title\\\": {\\n \\\"update\\\": {\\n \\\"fontSize\\\": {\\n \\\"value\\\": 14\\n }\\n }\\n },\\n \\\"labels\\\": {\\n \\\"interactive\\\": true,\\n \\\"update\\\": {\\n \\\"fontSize\\\": {\\n \\\"value\\\": 12\\n },\\n \\\"fill\\\": {\\n \\\"value\\\": \\\"black\\\"\\n }\\n },\\n \\\"hover\\\": {\\n \\\"fill\\\": {\\n \\\"value\\\": \\\"firebrick\\\"\\n }\\n }\\n },\\n \\\"symbols\\\": {\\n \\\"update\\\": {\\n \\\"stroke\\\": {\\n \\\"value\\\": \\\"transparent\\\"\\n }\\n }\\n },\\n \\\"legend\\\": {\\n \\\"update\\\": {}\\n }\\n }\\n }\\n ],\\n \\\"scales\\\": [\\n {\\n \\\"name\\\": \\\"color\\\",\\n \\\"type\\\": \\\"ordinal\\\",\\n \\\"domain\\\": {\\n \\\"data\\\": \\\"tree\\\",\\n \\\"field\\\": \\\"type\\\"\\n },\\n \\\"range\\\": {\\n \\\"scheme\\\": \\\"magma\\\"\\n }\\n }\\n ],\\n \\\"marks\\\": [\\n {\\n \\\"name\\\": \\\"background\\\",\\n \\\"description\\\": \\\"An ivisible rect that covers the entire canvas and sits behind everything\\\",\\n \\\"type\\\": \\\"rect\\\",\\n \\\"encode\\\": {\\n \\\"enter\\\": {\\n \\\"x\\\": {\\\"signal\\\": \\\"-padding['left']\\\"},\\n \\\"y\\\": {\\\"signal\\\": \\\"-padding['top']\\\"},\\n \\\"width\\\": {\\\"signal\\\": \\\"width+padding['left']+padding['right']\\\"},\\n \\\"height\\\": {\\\"signal\\\": \\\"height+padding['top']+padding['bottom']\\\"},\\n \\\"fillOpacity\\\": {\\\"value\\\": 0},\\n \\\"tooltip\\\": [\\n {\\n \\\"signal\\\": \\\"{'Type': datum.type,'Name': (datum.type == 'container' ? datum.container : datum.currentNode),'Namespace':datum.namespace}\\\"\\n }\\n ]\\n }\\n }\\n },\\n {\\n \\\"name\\\": \\\"circles\\\",\\n \\\"description\\\": \\\"the zoomable packed circles\\\",\\n \\\"type\\\": \\\"symbol\\\",\\n \\\"from\\\": {\\\"data\\\": \\\"tree\\\"},\\n \\\"encode\\\": {\\n \\\"enter\\\": {\\n \\\"shape\\\": {\\\"value\\\": \\\"circle\\\"},\\n \\\"fill\\\": {\\\"scale\\\": \\\"color\\\", \\\"field\\\": \\\"type\\\"},\\n \\\"cursor\\\": {\\\"value\\\": \\\"pointer\\\"},\\n \\\"tooltip\\\": [\\n {\\n \\\"signal\\\": \\\"{'Type': datum.type,'Name': (datum.type == 'container' ? datum.container : datum.currentNode),'Namespace':datum.namespace}\\\"\\n }\\n ]\\n\\n },\\n \\\"update\\\": {\\n \\\"x\\\": {\\n \\\"signal\\\": \\\"lerp([root['x']+ (datum['x'] - focus0['x']) * focus0['k'], root['x'] + (datum['x'] - focus['x']) * k], tEase)\\\"\\n },\\n \\\"y\\\": {\\n \\\"signal\\\": \\\"lerp([ root['y'] + (datum['y'] - focus0['y']) * focus0['k'], root['y'] + (datum['y'] - focus['y']) * k], tEase)\\\"\\n },\\n \\\"size\\\": {\\n \\\"signal\\\": \\\"pow(2*(datum['r'] * lerp([focus0['k'], k],tEase)),2)\\\"\\n },\\n \\\"fill\\\": {\\n \\\"signal\\\": \\\"showDetails && focus['currentNode'] === datum['currentNode'] ? '#fff' : scale('color',datum['type'])\\\"\\n },\\n \\\"zindex\\\": {\\n \\\"signal\\\": \\\"!showDetails ? 1 : (focus['currentNode'] === root['currentNode'] && isValid(datum['parent'])) ? -99 : indexof(pluck(treeAncestors('tree', datum['currentNode']), 'currentNode'), focus['currentNode']) > 0 ? -99 : 1\\\"\\n },\\n \\\"stroke\\\": {\\n \\\"signal\\\": \\\"showDetails ? scale('color', datum['type']) : luminance(scale('color', datum['type'])) > 0.5 ? 'black' : 'white'\\\"\\n },\\n \\\"strokeWidth\\\": {\\n \\\"signal\\\": \\\"focus['currentNode'] === datum['currentNode'] && showDetails ? 20 : 0.5\\\"\\n },\\n \\\"strokeOpacity\\\": {\\n \\\"signal\\\": \\\"!showDetails ? 0.5 : focus['currentNode'] === root['currentNode'] ? min(tEase, 0.35) : min(tEaseDelayed, 0.35)\\\"\\n }\\n },\\n \\\"hover\\\": {\\n \\\"color\\\": {\\n \\\"signal\\\": \\\"showDetails ? scale('color', datum['type']) : luminance(scale('color', datum['type'])) > 0.5 ? 'black' : 'white'\\\"\\n },\\n \\\"strokeWidth\\\": {\\\"value\\\": 2}\\n }\\n }\\n },\\n {\\n \\\"name\\\": \\\"details_title\\\",\\n \\\"details\\\": \\\"the name of the node (appears on zoom)\\\",\\n \\\"type\\\": \\\"text\\\",\\n \\\"from\\\": {\\\"data\\\": \\\"details_data\\\"},\\n \\\"interactive\\\": false,\\n \\\"encode\\\": {\\n \\\"enter\\\": {\\n \\\"text\\\": {\\\"value\\\": \\\"Details\\\"},\\n \\\"fill\\\": {\\\"scale\\\": \\\"color\\\", \\\"field\\\": \\\"type\\\"},\\n \\\"fontSize\\\": {\\\"signal\\\": \\\"0.055*width\\\"},\\n \\\"align\\\": {\\\"value\\\": \\\"center\\\"},\\n \\\"x\\\": {\\\"signal\\\": \\\"width/2\\\"},\\n \\\"y\\\": {\\\"signal\\\": \\\"height/4\\\"},\\n \\\"opacity\\\": {\\\"value\\\": 0}\\n },\\n \\\"update\\\": {\\n \\\"opacity\\\": {\\n \\\"signal\\\": \\\"!showDetails ? 0 : focus['currentNode'] === root['currentNode'] ? tEase : tEaseDelayed\\\"\\n }\\n }\\n }\\n },\\n {\\n \\\"name\\\": \\\"details\\\",\\n \\\"description\\\": \\\"additional information about the node (appears on zoom)\\\",\\n \\\"type\\\": \\\"text\\\",\\n \\\"from\\\": {\\\"data\\\": \\\"details_data\\\"},\\n \\\"interactive\\\": false,\\n \\\"encode\\\": {\\n \\\"enter\\\": {\\n \\\"text\\\": {\\\"signal\\\": \\\"datum['details']\\\"},\\n \\\"fontSize\\\": {\\\"signal\\\": \\\"0.045*width\\\"},\\n \\\"align\\\": {\\\"value\\\": \\\"left\\\"},\\n \\\"x\\\": {\\\"signal\\\": \\\"width/6\\\"},\\n \\\"y\\\": {\\\"signal\\\": \\\"height/3\\\"},\\n \\\"fill\\\": {\\\"value\\\": \\\"gray\\\"},\\n \\\"opacity\\\": {\\\"value\\\": 0}\\n },\\n \\\"update\\\": {\\n \\\"opacity\\\": {\\n \\\"signal\\\": \\\"!showDetails ? 0 : focus['currentNode'] === root['currentNode'] ? tEase : tEaseDelayed\\\"\\n }\\n }\\n }\\n },\\n {\\n \\\"name\\\": \\\"helper_text\\\",\\n \\\"interactive\\\": false,\\n \\\"description\\\": \\\"interactivity instructions located at the bottom of left\\\",\\n \\\"type\\\": \\\"text\\\",\\n \\\"encode\\\": {\\n \\\"enter\\\": {\\n \\\"fontSize\\\": {\\\"value\\\": 14},\\n \\\"text\\\": {\\n \\\"signal\\\": \\\"['interactivity instructions:', '• click on a node to zoom-in','• for nodes with children, shift + click to see details for that node', '• to slow down animations, ⌘ + click (Mac) / ⊞ + click (Windows)']\\\"\\n },\\n \\\"y\\\": {\\\"signal\\\": \\\"height+5\\\"}\\n },\\n \\\"update\\\": {\\n \\\"opacity\\\": {\\n \\\"signal\\\": \\\"ceil(k) === 1 ? isValid(t) ? tEaseDelayed : 1 : 0\\\"\\n }\\n }\\n }\\n }\\n\\n ]\\n}\\n\"}}"},"id":"8de86410-d400-11ee-8ed1-b17ab442fceb","migrationVersion":{"visualization":"7.10.0"},"references":[],"type":"visualization","updated_at":"2024-02-26T02:32:13.701Z","version":"WzE1MCw1XQ=="} +{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"},"title":"k8-cluster-visualization-zoomable","uiStateJSON":"{}","version":1,"visState":"{\"title\":\"k8-cluster-visualization-zoomable\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n \\\"$schema\\\": \\\"https://vega.github.io/schema/vega/v5.json\\\",\\n \\\"title\\\": \\\"Kubernetes overview\\\",\\n \\\"autosize\\\": {\\n \\\"type\\\": \\\"fit\\\",\\n \\\"contains\\\": \\\"padding\\\"\\n },\\n \\\"padding\\\": 20,\\n \\\"signals\\\": [\\n {\\n \\\"name\\\": \\\"duration\\\",\\n \\\"init\\\": \\\"750\\\",\\n \\\"description\\\": \\\"The duration for the zoom transitions. Fade-in transitions will be the same duration, but will be delayed per the amount set here.\\\",\\n \\\"on\\\": [\\n {\\n \\\"events\\\": {\\\"type\\\": \\\"click\\\", \\\"marknames\\\": [\\\"circles\\\", \\\"background\\\"]},\\n \\\"update\\\": \\\"(event.metaKey || event.ctrlKey ? 4 : 1) *750\\\"\\n }\\n ]\\n },\\n {\\n \\\"name\\\": \\\"k\\\",\\n \\\"value\\\": 1,\\n \\\"description\\\": \\\"The scale used for zooming based on the focused node\\\",\\n \\\"on\\\": [\\n {\\n \\\"events\\\": [{\\\"signal\\\": \\\"focus\\\"}],\\n \\\"update\\\": \\\"focus ? width/(focus.r*2) : 1\\\"\\n }\\n ]\\n },\\n {\\n \\\"name\\\": \\\"root\\\",\\n \\\"update\\\": \\\"{'currentNode': data('tree')[0]['currentNode'], 'x': data('tree')[0]['x'], 'y': data('tree')[0]['y'], 'r': data('tree')[0]['r'], 'k': 1, 'children': data('tree')[0]['children']}\\\",\\n \\\"description\\\": \\\"The root node in the hierarchy\\\"\\n },\\n {\\n \\\"name\\\": \\\"focus\\\",\\n \\\"init\\\": \\\"root\\\",\\n \\\"description\\\": \\\"The zoomed-in node in the hierarchy\\\",\\n \\\"on\\\": [\\n {\\n \\\"events\\\": {\\\"type\\\": \\\"click\\\", \\\"markname\\\": \\\"background\\\"},\\n \\\"update\\\": \\\"{id: root['currentNode'], 'x': root['x'], 'y': root['y'], 'r': root['r'], 'k': 1,'children': root['children']}\\\"\\n },\\n {\\n \\\"events\\\": {\\\"type\\\": \\\"click\\\", \\\"markname\\\": \\\"circles\\\"},\\n \\\"update\\\": \\\"(focus['x'] === datum['x'] && focus['y'] === datum['y'] && focus['r'] === datum['r'] && focus['r'] !== root['r']) ? {'currentNode': root['currentNode'], 'x': root['x'], 'y': root['y'], 'r': root['r'], 'k': 1, 'children': root['children']} : {'currentNode': datum['currentNode'], 'x': datum['x'], 'y': datum['y'], 'r': datum['r'], 'k': k, 'children': datum['children']}\\\"\\n }\\n ]\\n },\\n {\\n \\\"name\\\": \\\"focus0\\\",\\n \\\"update\\\": \\\"data('focus0') && length(data('focus0'))>0 ? data('focus0')[0] : focus\\\",\\n \\\"description\\\": \\\"The prior zoomed-in node in the hierarchy\\\"\\n },\\n {\\n \\\"name\\\": \\\"timer\\\",\\n \\\"description\\\": \\\"The timer to be used for transitions such as zoom, fade, etc.\\\",\\n \\\"on\\\": [{\\\"events\\\": \\\"timer\\\", \\\"update\\\": \\\"now()\\\"}]\\n },\\n {\\n \\\"name\\\": \\\"interpolateTime\\\",\\n \\\"description\\\": \\\"the start and end times in miliseconds for animation interpolations\\\",\\n \\\"on\\\": [\\n {\\n \\\"events\\\": {\\n \\\"type\\\": \\\"click\\\",\\n \\\"marknames\\\": [\\\"circles\\\", \\\"background\\\"]\\n },\\n \\\"update\\\": \\\"{'start': timer, 'end': timer+duration}\\\"\\n }\\n ]\\n },\\n {\\n \\\"name\\\": \\\"t\\\",\\n \\\"description\\\": \\\"The normalized time for easing\\\",\\n \\\"update\\\": \\\"interpolateTime ? clamp((timer-interpolateTime.start)/(interpolateTime.end-interpolateTime.start), 0, 1): null\\\"\\n },\\n {\\n \\\"name\\\": \\\"tEase\\\",\\n \\\"description\\\": \\\"The easing calculation. Currently set as easeInOutCubic\\\",\\n \\\"update\\\": \\\"t < 0.5 ? 4 * t * t * t : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1\\\"\\n },\\n {\\n \\\"name\\\": \\\"interpolateTimeDelayed\\\",\\n \\\"description\\\": \\\"The delayed time for easing\\\",\\n \\\"on\\\": [\\n {\\n \\\"events\\\": {\\\"signal\\\": \\\"interpolateTime\\\"},\\n \\\"update\\\": \\\"{'start': interpolateTime['end'], 'end': interpolateTime['end']+duration}\\\"\\n }\\n ]\\n },\\n {\\n \\\"name\\\": \\\"tDelayed\\\",\\n \\\"description\\\": \\\"The delayed normalized time for easing\\\",\\n \\\"update\\\": \\\"interpolateTimeDelayed ? clamp((timer-interpolateTimeDelayed.start)/(interpolateTimeDelayed.end-interpolateTimeDelayed.start), 0, 1): null\\\"\\n },\\n {\\n \\\"name\\\": \\\"tEaseDelayed\\\",\\n \\\"description\\\": \\\"The delayed easing calculation. Currently set as easeInOutCubic\\\",\\n \\\"update\\\": \\\"tDelayed < 0.5 ? 4 * tDelayed * tDelayed * tDelayed : (tDelayed - 1) * (2 * tDelayed - 2) * (2 * tDelayed - 2) + 1\\\"\\n },\\n {\\n \\\"name\\\": \\\"showDetails\\\",\\n \\\"description\\\": \\\"A boolean to indicate whether to show a node's details\\\",\\n \\\"value\\\": false,\\n \\\"on\\\": [\\n {\\n \\\"events\\\": {\\n \\\"type\\\": \\\"click\\\",\\n \\\"marknames\\\": [\\\"circles\\\", \\\"background\\\"],\\n \\\"filter\\\": [\\n \\\"!event.altKey && !event.shiftKey\\\",\\n \\\"event.button === 0\\\"\\n ],\\n \\\"markname\\\": \\\"circles\\\"\\n },\\n \\\"update\\\": \\\"focus['children'] > 0 ? false : datum['currentNode'] === root['currentNode'] || focus0['currentNode'] !== root['currentNode'] && focus['currentNode'] === root['currentNode'] ? false : true\\\"\\n },\\n {\\n \\\"events\\\": {\\n \\\"type\\\": \\\"click\\\",\\n \\\"marknames\\\": [\\\"circles\\\", \\\"background\\\"],\\n \\\"filter\\\": [\\\"event.altKey || event.shiftKey\\\", \\\"event.button === 0\\\"]\\n },\\n \\\"update\\\": \\\"focus0['currentNode'] === focus['currentNode'] ? !showDetails : true\\\"\\n }\\n ]\\n },\\n {\\n \\\"name\\\": \\\"rootNodeName\\\",\\n \\\"description\\\": \\\"The name of the root node / the environment name\\\",\\n \\\"value\\\": \\\"GKE\\\"\\n }\\n ],\\n \\\"data\\\": [\\n {\\n \\\"name\\\": \\\"raw-data\\\",\\n \\\"url\\\": {\\n \\\"%context%\\\": true,\\n \\\"index\\\": \\\"ss4o_logs-k8s-k8s-sample-sample\\\",\\n \\\"body\\\": {\\n \\\"size\\\": 0,\\n \\\"aggs\\\": {\\n \\\"container\\\": {\\n \\\"terms\\\": {\\n \\\"field\\\": \\\"kubernetes.container.id.keyword\\\",\\n \\\"size\\\": 3000\\n },\\n \\\"aggs\\\": {\\n \\\"top-hits\\\": {\\n \\\"top_hits\\\": {\\n \\\"sort\\\": [\\n {\\n \\\"@timestamp\\\": {\\n \\\"order\\\": \\\"desc\\\"\\n }\\n }\\n ],\\n \\\"_source\\\": {\\n \\\"includes\\\": [\\n \\\"kubernetes.container.name\\\",\\n \\\"kubernetes.pod.name\\\",\\n \\\"kubernetes.node.name\\\",\\n \\\"kubernetes.namespace\\\"\\n ]\\n },\\n \\\"size\\\": 1\\n }\\n }\\n }\\n }\\n }\\n }\\n },\\n \\\"format\\\": {\\n \\\"property\\\": \\\"aggregations.container.buckets\\\"\\n },\\n \\\"transform\\\": [\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"as\\\": \\\"node\\\",\\n \\\"expr\\\": \\\"datum['top-hits'].hits.hits == null ? 'NA' : datum['top-hits'].hits.hits[0]._source.kubernetes.node.name\\\"\\n },\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"as\\\": \\\"pod\\\",\\n \\\"expr\\\": \\\"datum['top-hits'].hits.hits == null ? 'NA' : datum['top-hits'].hits.hits[0]._source.kubernetes.pod.name\\\"\\n },\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"as\\\": \\\"namespace\\\",\\n \\\"expr\\\": \\\"datum['top-hits'].hits.hits == null ? 'NA' : datum['top-hits'].hits.hits[0]._source.kubernetes.namespace\\\"\\n },\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"as\\\": \\\"container\\\",\\n \\\"expr\\\": \\\"datum['top-hits'].hits.hits == null ? 'NA' : datum['top-hits'].hits.hits[0]._source.kubernetes.container.name\\\"\\n },\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"as\\\": \\\"value\\\",\\n \\\"expr\\\": \\\"1\\\"\\n },\\n {\\n \\\"type\\\": \\\"project\\\",\\n \\\"fields\\\": [\\n \\\"key\\\",\\n \\\"pod\\\",\\n \\\"node\\\",\\n \\\"namespace\\\",\\n \\\"value\\\",\\n \\\"container\\\"\\n ],\\n \\\"as\\\": [\\n \\\"id\\\",\\n \\\"pod\\\",\\n \\\"node\\\",\\n \\\"namespace\\\",\\n \\\"value\\\",\\n \\\"container\\\"\\n ]\\n }\\n ]\\n },\\n {\\n \\\"name\\\": \\\"isolatedLevel1\\\",\\n \\\"source\\\": [\\n \\\"raw-data\\\"\\n ],\\n \\\"transform\\\": [\\n {\\n \\\"type\\\": \\\"project\\\",\\n \\\"fields\\\": [\\n \\\"node\\\",\\n \\\"currentNode\\\",\\n \\\"value\\\"\\n ],\\n \\\"as\\\": [\\n \\\"currentNode\\\",\\n \\\"parent\\\",\\n \\\"value\\\"\\n ]\\n },\\n {\\n \\\"type\\\": \\\"aggregate\\\",\\n \\\"groupby\\\": [\\n \\\"parent\\\",\\n \\\"currentNode\\\"\\n ],\\n \\\"fields\\\": [\\n \\\"value\\\"\\n ],\\n \\\"ops\\\": [\\n \\\"sum\\\"\\n ],\\n \\\"as\\\": [\\n \\\"value\\\"\\n ]\\n },\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"as\\\": \\\"parent\\\",\\n \\\"expr\\\": \\\"!isDefined(datum.parent) ? rootNodeName : datum.parent\\\"\\n },\\n {\\n \\\"type\\\": \\\"project\\\",\\n \\\"fields\\\": [\\n \\\"currentNode\\\",\\n \\\"parent\\\",\\n \\\"value\\\"\\n ],\\n \\\"as\\\": [\\n \\\"currentNode\\\",\\n \\\"parent\\\",\\n \\\"value\\\"\\n ]\\n },\\n {\\n \\\"type\\\": \\\"filter\\\",\\n \\\"expr\\\": \\\"datum.currentNode\\\"\\n },\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"as\\\": \\\"type\\\",\\n \\\"expr\\\": \\\"'node'\\\"\\n }\\n ]\\n },\\n {\\n \\\"name\\\": \\\"rootNode\\\",\\n \\\"source\\\": \\\"isolatedLevel1\\\",\\n \\\"transform\\\": [\\n {\\n \\\"type\\\": \\\"project\\\",\\n \\\"fields\\\": [\\n \\\"parent\\\",\\n \\\"pod\\\"\\n ],\\n \\\"as\\\": [\\n \\\"currentNode\\\",\\n \\\"parent\\\"\\n ]\\n },\\n {\\n \\\"type\\\": \\\"aggregate\\\",\\n \\\"groupby\\\": [\\n \\\"currentNode\\\",\\n \\\"parent\\\"\\n ]\\n },\\n {\\n \\\"type\\\": \\\"project\\\",\\n \\\"fields\\\": [\\n \\\"currentNode\\\",\\n \\\"parent\\\"\\n ],\\n \\\"as\\\": [\\n \\\"currentNode\\\",\\n \\\"parent\\\"\\n ]\\n },\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"as\\\": \\\"type\\\",\\n \\\"expr\\\": \\\"'environment'\\\"\\n }\\n ]\\n },\\n {\\n \\\"name\\\": \\\"isolatedLevel2\\\",\\n \\\"source\\\": \\\"raw-data\\\",\\n \\\"transform\\\": [\\n {\\n \\\"type\\\": \\\"project\\\",\\n \\\"fields\\\": [\\n \\\"node\\\",\\n \\\"pod\\\",\\n \\\"value\\\"\\n ],\\n \\\"as\\\": [\\n \\\"parent\\\",\\n \\\"currentNode\\\",\\n \\\"value\\\"\\n ]\\n },\\n {\\n \\\"type\\\": \\\"aggregate\\\",\\n \\\"groupby\\\": [\\n \\\"parent\\\",\\n \\\"currentNode\\\"\\n ],\\n \\\"fields\\\": [\\n \\\"value\\\"\\n ],\\n \\\"ops\\\": [\\n \\\"sum\\\"\\n ],\\n \\\"as\\\": [\\n \\\"value\\\"\\n ]\\n },\\n {\\n \\\"type\\\": \\\"project\\\",\\n \\\"fields\\\": [\\n \\\"currentNode\\\",\\n \\\"parent\\\",\\n \\\"value\\\"\\n ],\\n \\\"as\\\": [\\n \\\"currentNode\\\",\\n \\\"parent\\\",\\n \\\"value\\\"\\n ]\\n },\\n {\\n \\\"type\\\": \\\"filter\\\",\\n \\\"expr\\\": \\\"datum.currentNode\\\"\\n },\\n {\\n \\\"type\\\": \\\"filter\\\",\\n \\\"expr\\\": \\\"datum.parent\\\"\\n },\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"as\\\": \\\"type\\\",\\n \\\"expr\\\": \\\"'pod'\\\"\\n }\\n ]\\n },\\n {\\n \\\"name\\\": \\\"isolatedLevel3\\\",\\n \\\"source\\\": \\\"raw-data\\\",\\n \\\"transform\\\": [\\n {\\n \\\"type\\\": \\\"project\\\",\\n \\\"fields\\\": [\\n \\\"pod\\\",\\n \\\"id\\\",\\n \\\"value\\\"\\n ],\\n \\\"as\\\": [\\n \\\"parent\\\",\\n \\\"currentNode\\\",\\n \\\"value\\\"\\n ]\\n },\\n {\\n \\\"type\\\": \\\"aggregate\\\",\\n \\\"groupby\\\": [\\n \\\"parent\\\",\\n \\\"currentNode\\\"\\n ],\\n \\\"fields\\\": [\\n \\\"value\\\"\\n ],\\n \\\"ops\\\": [\\n \\\"sum\\\"\\n ],\\n \\\"as\\\": [\\n \\\"value\\\"\\n ]\\n },\\n {\\n \\\"type\\\": \\\"project\\\",\\n \\\"fields\\\": [\\n \\\"currentNode\\\",\\n \\\"parent\\\",\\n \\\"value\\\"\\n ],\\n \\\"as\\\": [\\n \\\"currentNode\\\",\\n \\\"parent\\\",\\n \\\"value\\\"\\n ]\\n },\\n {\\n \\\"type\\\": \\\"filter\\\",\\n \\\"expr\\\": \\\"datum.currentNode\\\"\\n },\\n {\\n \\\"type\\\": \\\"filter\\\",\\n \\\"expr\\\": \\\"datum.parent\\\"\\n },\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"as\\\": \\\"type\\\",\\n \\\"expr\\\": \\\"'container'\\\"\\n }\\n ]\\n },\\n {\\n \\\"name\\\": \\\"tree\\\",\\n \\\"source\\\": [\\n \\\"rootNode\\\",\\n \\\"isolatedLevel1\\\",\\n \\\"isolatedLevel2\\\",\\n \\\"isolatedLevel3\\\"\\n ],\\n \\\"transform\\\": [\\n {\\n \\\"type\\\": \\\"lookup\\\",\\n \\\"from\\\": \\\"raw-data\\\",\\n \\\"key\\\": \\\"id\\\",\\n \\\"fields\\\": [\\n \\\"currentNode\\\"\\n ],\\n \\\"values\\\": [\\n \\\"namespace\\\",\\n \\\"container\\\"\\n ],\\n \\\"as\\\": [\\n \\\"namespace-container\\\",\\n \\\"container\\\"\\n ],\\n \\\"default\\\": \\\"\\\"\\n },\\n {\\n \\\"type\\\": \\\"lookup\\\",\\n \\\"from\\\": \\\"raw-data\\\",\\n \\\"key\\\": \\\"pod\\\",\\n \\\"fields\\\": [\\n \\\"currentNode\\\"\\n ],\\n \\\"values\\\": [\\n \\\"namespace\\\"\\n ],\\n \\\"as\\\": [\\n \\\"namespace-pod\\\"\\n ],\\n \\\"default\\\": \\\"\\\"\\n },\\n {\\n \\\"type\\\": \\\"lookup\\\",\\n \\\"from\\\": \\\"raw-data\\\",\\n \\\"key\\\": \\\"node\\\",\\n \\\"fields\\\": [\\n \\\"currentNode\\\"\\n ],\\n \\\"values\\\": [\\n \\\"namespace\\\"\\n ],\\n \\\"as\\\": [\\n \\\"namespace-node\\\"\\n ],\\n \\\"default\\\": \\\"\\\"\\n },\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"as\\\": \\\"namespace\\\",\\n \\\"expr\\\": \\\"datum['namespace-node'] + datum['namespace-pod'] + datum['namespace-container']\\\"\\n },\\n {\\n \\\"type\\\": \\\"stratify\\\",\\n \\\"key\\\": \\\"currentNode\\\",\\n \\\"parentKey\\\": \\\"parent\\\"\\n },\\n {\\n \\\"type\\\": \\\"pack\\\",\\n \\\"field\\\": \\\"value\\\",\\n \\\"sort\\\": {\\n \\\"field\\\": \\\"value\\\"\\n },\\n \\\"size\\\": [\\n {\\n \\\"signal\\\": \\\"width\\\"\\n },\\n {\\n \\\"signal\\\": \\\"height\\\"\\n }\\n ],\\n \\\"padding\\\": 100\\n }\\n ]\\n },\\n {\\n \\\"name\\\": \\\"focus0\\\",\\n \\\"on\\\": [{\\\"trigger\\\": \\\"focus\\\", \\\"insert\\\": \\\"focus\\\"}],\\n \\\"transform\\\": [\\n {\\\"type\\\": \\\"formula\\\", \\\"expr\\\": \\\"now()\\\", \\\"as\\\": \\\"now\\\"},\\n {\\n \\\"type\\\": \\\"window\\\",\\n \\\"ops\\\": [\\\"row_number\\\"],\\n \\\"as\\\": [\\\"row\\\"],\\n \\\"sort\\\": {\\\"field\\\": \\\"now\\\", \\\"order\\\": \\\"descending\\\"}\\n },\\n {\\\"type\\\": \\\"filter\\\", \\\"expr\\\": \\\"datum['row'] ? datum['row'] == 2 : true \\\"},\\n {\\\"type\\\": \\\"project\\\", \\\"fields\\\": [\\\"id\\\", \\\"x\\\", \\\"y\\\", \\\"r\\\", \\\"children\\\"]},\\n {\\\"type\\\": \\\"formula\\\", \\\"expr\\\": \\\"width/(datum['r']*2)\\\", \\\"as\\\": \\\"k\\\"}\\n ]\\n },\\n {\\n \\\"name\\\": \\\"details_data\\\",\\n \\\"source\\\": \\\"tree\\\",\\n \\\"transform\\\": [\\n {\\n \\\"type\\\": \\\"filter\\\",\\n \\\"expr\\\": \\\"datum['currentNode'] === focus['currentNode'] && showDetails\\\"\\n },\\n {\\n \\\"type\\\": \\\"formula\\\",\\n \\\"expr\\\": \\\"[ 'namespace: ' + datum['namespace'], 'type: ' + datum['type'], 'container: ' + datum['container'], 'pod: ' + datum['parent'], 'node: ' + datum['currentNode']]\\\",\\n \\\"as\\\": \\\"details\\\"\\n }\\n ]\\n }\\n\\n ],\\n \\\"legends\\\": [\\n {\\n \\\"fill\\\": \\\"color\\\",\\n \\\"orient\\\": \\\"top-left\\\",\\n \\\"encode\\\": {\\n \\\"title\\\": {\\n \\\"update\\\": {\\n \\\"fontSize\\\": {\\n \\\"value\\\": 14\\n }\\n }\\n },\\n \\\"labels\\\": {\\n \\\"interactive\\\": true,\\n \\\"update\\\": {\\n \\\"fontSize\\\": {\\n \\\"value\\\": 12\\n },\\n \\\"fill\\\": {\\n \\\"value\\\": \\\"black\\\"\\n }\\n },\\n \\\"hover\\\": {\\n \\\"fill\\\": {\\n \\\"value\\\": \\\"firebrick\\\"\\n }\\n }\\n },\\n \\\"symbols\\\": {\\n \\\"update\\\": {\\n \\\"stroke\\\": {\\n \\\"value\\\": \\\"transparent\\\"\\n }\\n }\\n },\\n \\\"legend\\\": {\\n \\\"update\\\": {}\\n }\\n }\\n }\\n ],\\n \\\"scales\\\": [\\n {\\n \\\"name\\\": \\\"color\\\",\\n \\\"type\\\": \\\"ordinal\\\",\\n \\\"domain\\\": {\\n \\\"data\\\": \\\"tree\\\",\\n \\\"field\\\": \\\"type\\\"\\n },\\n \\\"range\\\": {\\n \\\"scheme\\\": \\\"magma\\\"\\n }\\n }\\n ],\\n \\\"marks\\\": [\\n {\\n \\\"name\\\": \\\"background\\\",\\n \\\"description\\\": \\\"An ivisible rect that covers the entire canvas and sits behind everything\\\",\\n \\\"type\\\": \\\"rect\\\",\\n \\\"encode\\\": {\\n \\\"enter\\\": {\\n \\\"x\\\": {\\\"signal\\\": \\\"-padding['left']\\\"},\\n \\\"y\\\": {\\\"signal\\\": \\\"-padding['top']\\\"},\\n \\\"width\\\": {\\\"signal\\\": \\\"width+padding['left']+padding['right']\\\"},\\n \\\"height\\\": {\\\"signal\\\": \\\"height+padding['top']+padding['bottom']\\\"},\\n \\\"fillOpacity\\\": {\\\"value\\\": 0},\\n \\\"tooltip\\\": [\\n {\\n \\\"signal\\\": \\\"{'Type': datum.type,'Name': (datum.type == 'container' ? datum.container : datum.currentNode),'Namespace':datum.namespace}\\\"\\n }\\n ]\\n }\\n }\\n },\\n {\\n \\\"name\\\": \\\"circles\\\",\\n \\\"description\\\": \\\"the zoomable packed circles\\\",\\n \\\"type\\\": \\\"symbol\\\",\\n \\\"from\\\": {\\\"data\\\": \\\"tree\\\"},\\n \\\"encode\\\": {\\n \\\"enter\\\": {\\n \\\"shape\\\": {\\\"value\\\": \\\"circle\\\"},\\n \\\"fill\\\": {\\\"scale\\\": \\\"color\\\", \\\"field\\\": \\\"type\\\"},\\n \\\"cursor\\\": {\\\"value\\\": \\\"pointer\\\"},\\n \\\"tooltip\\\": [\\n {\\n \\\"signal\\\": \\\"{'Type': datum.type,'Name': (datum.type == 'container' ? datum.container : datum.currentNode),'Namespace':datum.namespace}\\\"\\n }\\n ]\\n\\n },\\n \\\"update\\\": {\\n \\\"x\\\": {\\n \\\"signal\\\": \\\"lerp([root['x']+ (datum['x'] - focus0['x']) * focus0['k'], root['x'] + (datum['x'] - focus['x']) * k], tEase)\\\"\\n },\\n \\\"y\\\": {\\n \\\"signal\\\": \\\"lerp([ root['y'] + (datum['y'] - focus0['y']) * focus0['k'], root['y'] + (datum['y'] - focus['y']) * k], tEase)\\\"\\n },\\n \\\"size\\\": {\\n \\\"signal\\\": \\\"pow(2*(datum['r'] * lerp([focus0['k'], k],tEase)),2)\\\"\\n },\\n \\\"fill\\\": {\\n \\\"signal\\\": \\\"showDetails && focus['currentNode'] === datum['currentNode'] ? '#fff' : scale('color',datum['type'])\\\"\\n },\\n \\\"zindex\\\": {\\n \\\"signal\\\": \\\"!showDetails ? 1 : (focus['currentNode'] === root['currentNode'] && isValid(datum['parent'])) ? -99 : indexof(pluck(treeAncestors('tree', datum['currentNode']), 'currentNode'), focus['currentNode']) > 0 ? -99 : 1\\\"\\n },\\n \\\"stroke\\\": {\\n \\\"signal\\\": \\\"showDetails ? scale('color', datum['type']) : luminance(scale('color', datum['type'])) > 0.5 ? 'black' : 'white'\\\"\\n },\\n \\\"strokeWidth\\\": {\\n \\\"signal\\\": \\\"focus['currentNode'] === datum['currentNode'] && showDetails ? 20 : 0.5\\\"\\n },\\n \\\"strokeOpacity\\\": {\\n \\\"signal\\\": \\\"!showDetails ? 0.5 : focus['currentNode'] === root['currentNode'] ? min(tEase, 0.35) : min(tEaseDelayed, 0.35)\\\"\\n }\\n },\\n \\\"hover\\\": {\\n \\\"color\\\": {\\n \\\"signal\\\": \\\"showDetails ? scale('color', datum['type']) : luminance(scale('color', datum['type'])) > 0.5 ? 'black' : 'white'\\\"\\n },\\n \\\"strokeWidth\\\": {\\\"value\\\": 2}\\n }\\n }\\n },\\n {\\n \\\"name\\\": \\\"details_title\\\",\\n \\\"details\\\": \\\"the name of the node (appears on zoom)\\\",\\n \\\"type\\\": \\\"text\\\",\\n \\\"from\\\": {\\\"data\\\": \\\"details_data\\\"},\\n \\\"interactive\\\": false,\\n \\\"encode\\\": {\\n \\\"enter\\\": {\\n \\\"text\\\": {\\\"value\\\": \\\"Details\\\"},\\n \\\"fill\\\": {\\\"scale\\\": \\\"color\\\", \\\"field\\\": \\\"type\\\"},\\n \\\"fontSize\\\": {\\\"signal\\\": \\\"0.055*width\\\"},\\n \\\"align\\\": {\\\"value\\\": \\\"center\\\"},\\n \\\"x\\\": {\\\"signal\\\": \\\"width/2\\\"},\\n \\\"y\\\": {\\\"signal\\\": \\\"height/4\\\"},\\n \\\"opacity\\\": {\\\"value\\\": 0}\\n },\\n \\\"update\\\": {\\n \\\"opacity\\\": {\\n \\\"signal\\\": \\\"!showDetails ? 0 : focus['currentNode'] === root['currentNode'] ? tEase : tEaseDelayed\\\"\\n }\\n }\\n }\\n },\\n {\\n \\\"name\\\": \\\"details\\\",\\n \\\"description\\\": \\\"additional information about the node (appears on zoom)\\\",\\n \\\"type\\\": \\\"text\\\",\\n \\\"from\\\": {\\\"data\\\": \\\"details_data\\\"},\\n \\\"interactive\\\": false,\\n \\\"encode\\\": {\\n \\\"enter\\\": {\\n \\\"text\\\": {\\\"signal\\\": \\\"datum['details']\\\"},\\n \\\"fontSize\\\": {\\\"signal\\\": \\\"0.045*width\\\"},\\n \\\"align\\\": {\\\"value\\\": \\\"left\\\"},\\n \\\"x\\\": {\\\"signal\\\": \\\"width/6\\\"},\\n \\\"y\\\": {\\\"signal\\\": \\\"height/3\\\"},\\n \\\"fill\\\": {\\\"value\\\": \\\"gray\\\"},\\n \\\"opacity\\\": {\\\"value\\\": 0}\\n },\\n \\\"update\\\": {\\n \\\"opacity\\\": {\\n \\\"signal\\\": \\\"!showDetails ? 0 : focus['currentNode'] === root['currentNode'] ? tEase : tEaseDelayed\\\"\\n }\\n }\\n }\\n },\\n {\\n \\\"name\\\": \\\"helper_text\\\",\\n \\\"interactive\\\": false,\\n \\\"description\\\": \\\"interactivity instructions located at the bottom of left\\\",\\n \\\"type\\\": \\\"text\\\",\\n \\\"encode\\\": {\\n \\\"enter\\\": {\\n \\\"fontSize\\\": {\\\"value\\\": 14},\\n \\\"text\\\": {\\n \\\"signal\\\": \\\"['interactivity instructions:', '• click on a node to zoom-in','• for nodes with children, shift + click to see details for that node', '• to slow down animations, ⌘ + click (Mac) / ⊞ + click (Windows)']\\\"\\n },\\n \\\"y\\\": {\\\"signal\\\": \\\"height+5\\\"}\\n },\\n \\\"update\\\": {\\n \\\"opacity\\\": {\\n \\\"signal\\\": \\\"ceil(k) === 1 ? isValid(t) ? tEaseDelayed : 1 : 0\\\"\\n }\\n }\\n }\\n }\\n\\n ]\\n}\\n\"}}"},"id":"8de86410-d400-11ee-8ed1-b17ab442fceb","migrationVersion":{"visualization":"7.10.0"},"references":[],"type":"visualization","updated_at":"2024-02-26T02:32:13.701Z","version":"WzE1MCw1XQ=="} {"attributes":{"description":"Overview of Kubernetes cluster metrics","hits":0,"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"filter\":[]}"},"optionsJSON":"{\"hidePanelTitles\":false,\"useMargins\":true}","panelsJSON":"[{\"version\":\"2.12.0\",\"gridData\":{\"x\":0,\"y\":0,\"w\":9,\"h\":9,\"i\":\"80c8564d-6611-4937-8641-377f7a90c240\"},\"panelIndex\":\"80c8564d-6611-4937-8641-377f7a90c240\",\"embeddableConfig\":{},\"panelRefName\":\"panel_0\"},{\"version\":\"2.12.0\",\"gridData\":{\"x\":9,\"y\":0,\"w\":15,\"h\":9,\"i\":\"5ba4ba5a-e98a-4729-9cbf-318244b46ad1\"},\"panelIndex\":\"5ba4ba5a-e98a-4729-9cbf-318244b46ad1\",\"embeddableConfig\":{},\"panelRefName\":\"panel_1\"},{\"version\":\"2.12.0\",\"gridData\":{\"x\":24,\"y\":0,\"w\":24,\"h\":9,\"i\":\"2aa6bf34-48cf-41a2-9d28-7dce46945f85\"},\"panelIndex\":\"2aa6bf34-48cf-41a2-9d28-7dce46945f85\",\"embeddableConfig\":{},\"panelRefName\":\"panel_2\"},{\"version\":\"2.12.0\",\"gridData\":{\"x\":0,\"y\":9,\"w\":8,\"h\":9,\"i\":\"8b2b9250-64c3-4e58-b956-ea5d9065a942\"},\"panelIndex\":\"8b2b9250-64c3-4e58-b956-ea5d9065a942\",\"embeddableConfig\":{},\"panelRefName\":\"panel_3\"},{\"version\":\"2.12.0\",\"gridData\":{\"x\":8,\"y\":9,\"w\":8,\"h\":9,\"i\":\"988b264c-2bb5-4668-977b-c6fe6db705c7\"},\"panelIndex\":\"988b264c-2bb5-4668-977b-c6fe6db705c7\",\"embeddableConfig\":{},\"panelRefName\":\"panel_4\"},{\"version\":\"2.12.0\",\"gridData\":{\"x\":16,\"y\":9,\"w\":8,\"h\":9,\"i\":\"d690d7b2-9e5f-4b35-bff5-0d833e02e757\"},\"panelIndex\":\"d690d7b2-9e5f-4b35-bff5-0d833e02e757\",\"embeddableConfig\":{},\"panelRefName\":\"panel_5\"},{\"version\":\"2.12.0\",\"gridData\":{\"x\":24,\"y\":9,\"w\":24,\"h\":9,\"i\":\"5c92a579-d535-4423-84cf-af779084634d\"},\"panelIndex\":\"5c92a579-d535-4423-84cf-af779084634d\",\"embeddableConfig\":{},\"panelRefName\":\"panel_6\"},{\"version\":\"2.12.0\",\"gridData\":{\"x\":0,\"y\":18,\"w\":24,\"h\":11,\"i\":\"e0fa93dc-1008-4a51-bfd8-be72f06346c2\"},\"panelIndex\":\"e0fa93dc-1008-4a51-bfd8-be72f06346c2\",\"embeddableConfig\":{},\"panelRefName\":\"panel_7\"},{\"version\":\"2.12.0\",\"gridData\":{\"x\":24,\"y\":18,\"w\":24,\"h\":11,\"i\":\"8160fabe-70d6-414f-8a4d-b5f785e96b0f\"},\"panelIndex\":\"8160fabe-70d6-414f-8a4d-b5f785e96b0f\",\"embeddableConfig\":{},\"panelRefName\":\"panel_8\"},{\"version\":\"2.12.0\",\"gridData\":{\"x\":0,\"y\":29,\"w\":24,\"h\":11,\"i\":\"448c759d-2fb9-4c51-bcf2-e7792dc7e05b\"},\"panelIndex\":\"448c759d-2fb9-4c51-bcf2-e7792dc7e05b\",\"embeddableConfig\":{},\"panelRefName\":\"panel_9\"},{\"version\":\"2.12.0\",\"gridData\":{\"x\":24,\"y\":29,\"w\":24,\"h\":11,\"i\":\"9cd02619-6df4-4273-8098-8de6839495af\"},\"panelIndex\":\"9cd02619-6df4-4273-8098-8de6839495af\",\"embeddableConfig\":{},\"panelRefName\":\"panel_10\"},{\"version\":\"2.12.0\",\"gridData\":{\"x\":0,\"y\":40,\"w\":24,\"h\":11,\"i\":\"4bd4e0ba-49c5-4d4d-8305-07bbe4413451\"},\"panelIndex\":\"4bd4e0ba-49c5-4d4d-8305-07bbe4413451\",\"embeddableConfig\":{},\"panelRefName\":\"panel_11\"},{\"version\":\"2.12.0\",\"gridData\":{\"x\":24,\"y\":40,\"w\":24,\"h\":11,\"i\":\"d0162880-bc2d-42ea-87b1-f64ec7cdb5cc\"},\"panelIndex\":\"d0162880-bc2d-42ea-87b1-f64ec7cdb5cc\",\"embeddableConfig\":{},\"panelRefName\":\"panel_12\"},{\"version\":\"2.12.0\",\"gridData\":{\"x\":0,\"y\":51,\"w\":48,\"h\":63,\"i\":\"20afe0a4-ee64-4cb2-90a3-27c18ff068c9\"},\"panelIndex\":\"20afe0a4-ee64-4cb2-90a3-27c18ff068c9\",\"embeddableConfig\":{},\"panelRefName\":\"panel_13\"}]","refreshInterval":{"pause":true,"value":0},"timeFrom":"2024-02-25T16:47:11.460Z","timeRestore":true,"timeTo":"2024-02-25T17:23:02.022Z","title":"[Kubernetes] Overview ","version":1},"id":"23e62753-30f8-4a0f-982b-a2922954c70b","migrationVersion":{"dashboard":"7.9.3"},"references":[{"id":"46000953-cc46-4898-90ea-e3e5f4741296","name":"panel_0","type":"visualization"},{"id":"31288a82-9e48-49f0-b5f3-d31e1d3119d6","name":"panel_1","type":"visualization"},{"id":"295a9b7e-8e98-423e-b820-e10b3c76744e","name":"panel_2","type":"visualization"},{"id":"11a87cb4-09bd-459c-b69f-389240af0b2f","name":"panel_3","type":"visualization"},{"id":"8d1bc648-d660-4247-a459-8c78177cc4a7","name":"panel_4","type":"visualization"},{"id":"ed4ee552-7076-4b3c-a865-665d37216145","name":"panel_5","type":"visualization"},{"id":"40b79eab-f577-4e43-9534-e83301a3aac7","name":"panel_6","type":"visualization"},{"id":"e35c86f9-de68-46c5-8308-56aef3f390f4","name":"panel_7","type":"visualization"},{"id":"e1d7e76d-5242-459f-be45-ab387301649a","name":"panel_8","type":"visualization"},{"id":"212ad88b-1b3a-4393-a0a2-75409078c6fd","name":"panel_9","type":"visualization"},{"id":"d2700b9c-d686-481c-ba9c-d27245cbbfb4","name":"panel_10","type":"visualization"},{"id":"b517adf3-420b-418f-85b2-775fa09afefb","name":"panel_11","type":"visualization"},{"id":"2489e12f-db68-40de-a5aa-f6b47f7bee90","name":"panel_12","type":"visualization"},{"id":"8de86410-d400-11ee-8ed1-b17ab442fceb","name":"panel_13","type":"visualization"}],"type":"dashboard","updated_at":"2024-02-26T02:33:51.120Z","version":"WzE1MSw1XQ=="} -{"exportedCount":15,"missingRefCount":0,"missingReferences":[]} \ No newline at end of file +{"exportedCount":15,"missingRefCount":0,"missingReferences":[]}