From 4223de72ba8b831977cf0fb843b0978546a3d7a7 Mon Sep 17 00:00:00 2001 From: Rajvi Patel <124889398+rajvi-elastic@users.noreply.github.com> Date: Mon, 23 Oct 2023 12:23:54 +0530 Subject: [PATCH] [O11y][K8] Migrate `Jobs` dashboard visualizations to lens (#8262) * Migrate dashboard visualizations to lens * Update changelog --- packages/kubernetes/changelog.yml | 5 + ...-9bf990a0-bcb1-11ec-b64f-7dd6e8e82013.json | 652 +++++++++++------- packages/kubernetes/manifest.yml | 4 +- 3 files changed, 410 insertions(+), 251 deletions(-) diff --git a/packages/kubernetes/changelog.yml b/packages/kubernetes/changelog.yml index ba286ca0c80..3bbf0346e1b 100644 --- a/packages/kubernetes/changelog.yml +++ b/packages/kubernetes/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: 1.47.0 + changes: + - description: Migrate `Jobs` dashboard visualizations to lens. + type: enhancement + link: https://github.com/elastic/integrations/pull/8262 - version: 1.46.0 changes: - description: Adapt fields for changes in file system info diff --git a/packages/kubernetes/kibana/dashboard/kubernetes-9bf990a0-bcb1-11ec-b64f-7dd6e8e82013.json b/packages/kubernetes/kibana/dashboard/kubernetes-9bf990a0-bcb1-11ec-b64f-7dd6e8e82013.json index 5cc42a710d6..b214daeb167 100644 --- a/packages/kubernetes/kibana/dashboard/kubernetes-9bf990a0-bcb1-11ec-b64f-7dd6e8e82013.json +++ b/packages/kubernetes/kibana/dashboard/kubernetes-9bf990a0-bcb1-11ec-b64f-7dd6e8e82013.json @@ -19,6 +19,8 @@ "optionsJSON": { "hidePanelTitles": false, "syncColors": false, + "syncCursor": true, + "syncTooltips": false, "useMargins": true }, "panelsJSON": [ @@ -57,96 +59,142 @@ "panelIndex": "ce57bb14-ee8a-43ba-bb57-a6f815838500", "title": "Kubernetes Dashboards [Metrics Kubernetes]", "type": "visualization", - "version": "8.6.0-SNAPSHOT" + "version": "8.10.2" }, { "embeddableConfig": { - "enhancements": {}, - "savedVis": { - "data": { - "aggs": [], - "searchSource": { - "filter": [], - "query": { - "language": "kuery", - "query": "" - } - } - }, + "attributes": { "description": "", - "params": { - "axis_formatter": "number", - "axis_position": "left", - "axis_scale": "normal", - "background_color_rules": [ - { - "id": "b4a76050-ba54-11ec-a38a-8738426ac550" + "references": [ + { + "id": "metrics-*", + "name": "indexpattern-datasource-layer-9b261d2c-645a-4dca-9229-9d8c52e79b9f", + "type": "index-pattern" + }, + { + "id": "metrics-*", + "name": "e4408339-1fa7-47b3-bac9-d2e7945d989f", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "9b261d2c-645a-4dca-9229-9d8c52e79b9f": { + "columnOrder": [ + "d65fee9a-8196-4bcf-b80f-af8eae9974ea", + "3bd09ac0-4718-47e1-abb4-54cbcf502e63" + ], + "columns": { + "3bd09ac0-4718-47e1-abb4-54cbcf502e63": { + "customLabel": true, + "dataType": "number", + "filter": { + "language": "kuery", + "query": "\"kubernetes.job.pods.active\": *" + }, + "isBucketed": false, + "label": "Active", + "operationType": "last_value", + "params": { + "showArrayValues": false, + "sortField": "@timestamp" + }, + "scale": "ratio", + "sourceField": "kubernetes.job.pods.active" + }, + "d65fee9a-8196-4bcf-b80f-af8eae9974ea": { + "dataType": "string", + "isBucketed": true, + "label": "Top 10000 values of kubernetes.job.name", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderAgg": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": {}, + "scale": "ratio", + "sourceField": "___records___" + }, + "orderBy": { + "type": "custom" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "secondaryFields": [], + "size": 10000 + }, + "scale": "ordinal", + "sourceField": "kubernetes.job.name" + } + }, + "ignoreGlobalFilters": false, + "incompleteColumns": {} + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} } - ], - "drop_last_bucket": 0, - "filter": { - "language": "kuery", - "query": "data_stream.dataset :\"kubernetes.state_job\" " }, - "id": "401e6673-444f-4cd8-8d5e-b428cb1a0026", - "index_pattern_ref_name": "metrics_65805e20-7bb7-43ef-99de-fc56c3de6af2_0_index_pattern", - "interval": "", - "isModelInvalid": false, - "max_lines_legend": 1, - "series": [ + "filters": [ { - "axis_position": "right", - "chart_type": "line", - "color": "#68BC00", - "fill": 0.5, - "formatter": "default", - "id": "261249a0-f757-40f1-93f2-fe8f59f99b8c", - "label": "Active", - "line_width": 1, - "metrics": [ - { - "agg_with": "avg", - "field": "kubernetes.job.pods.active", - "id": "7575ba08-100d-4c17-9b30-546a1b44ba13", - "order": "desc", - "order_by": "@timestamp", - "size": 1, - "type": "top_hit" + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "data_stream.dataset", + "index": "e4408339-1fa7-47b3-bac9-d2e7945d989f", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "kubernetes.state_job" }, - { - "function": "sum", - "id": "8d1a4ba0-ba55-11ec-a38a-8738426ac550", - "type": "series_agg" - } - ], - "override_index_pattern": 0, - "palette": { - "name": "default", - "type": "palette" + "type": "phrase" }, - "point_size": 1, - "separate_axis": 0, - "series_drop_last_bucket": 0, - "split_mode": "terms", - "stacked": "none", - "terms_field": "kubernetes.job.name", - "terms_size": "100000", - "time_range_mode": "entire_time_range" + "query": { + "match_phrase": { + "data_stream.dataset": "kubernetes.state_job" + } + } } ], - "show_grid": 1, - "show_legend": 1, - "time_field": "", - "time_range_mode": "entire_time_range", - "tooltip_mode": "show_all", - "truncate_legend": 1, - "type": "metric", - "use_kibana_indexes": true + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "breakdownByAccessor": "d65fee9a-8196-4bcf-b80f-af8eae9974ea", + "collapseFn": "sum", + "layerId": "9b261d2c-645a-4dca-9229-9d8c52e79b9f", + "layerType": "data", + "metricAccessor": "3bd09ac0-4718-47e1-abb4-54cbcf502e63" + } }, - "title": "", - "type": "metrics", - "uiState": {} - } + "title": "Active Job Pods [Metrics Kubernetes]", + "type": "lens", + "visualizationType": "lnsMetric" + }, + "enhancements": {}, + "hidePanelTitles": false }, "gridData": { "h": 12, @@ -157,97 +205,143 @@ }, "panelIndex": "65805e20-7bb7-43ef-99de-fc56c3de6af2", "title": "Active Job Pods [Metrics Kubernetes]", - "type": "visualization", - "version": "8.6.0-SNAPSHOT" + "type": "lens", + "version": "8.10.2" }, { "embeddableConfig": { - "enhancements": {}, - "savedVis": { - "data": { - "aggs": [], - "searchSource": { - "filter": [], - "query": { - "language": "kuery", - "query": "" - } - } - }, + "attributes": { "description": "", - "params": { - "axis_formatter": "number", - "axis_position": "left", - "axis_scale": "normal", - "background_color_rules": [ - { - "id": "b4a76050-ba54-11ec-a38a-8738426ac550" + "references": [ + { + "id": "metrics-*", + "name": "indexpattern-datasource-layer-8da4f091-8450-456a-8496-aab42ef0871a", + "type": "index-pattern" + }, + { + "id": "metrics-*", + "name": "25697353-2613-4360-89cc-900c9e265a10", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "8da4f091-8450-456a-8496-aab42ef0871a": { + "columnOrder": [ + "a7a7d706-d487-4ea4-ac4e-a52de432b629", + "8747afd9-3e1d-4da8-8f85-e3f526af747e" + ], + "columns": { + "8747afd9-3e1d-4da8-8f85-e3f526af747e": { + "customLabel": true, + "dataType": "number", + "filter": { + "language": "kuery", + "query": "\"kubernetes.job.pods.succeeded\": *" + }, + "isBucketed": false, + "label": "Succeeded", + "operationType": "last_value", + "params": { + "showArrayValues": false, + "sortField": "@timestamp" + }, + "scale": "ratio", + "sourceField": "kubernetes.job.pods.succeeded" + }, + "a7a7d706-d487-4ea4-ac4e-a52de432b629": { + "dataType": "string", + "isBucketed": true, + "label": "Top 10000 values of kubernetes.job.name", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderAgg": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": {}, + "scale": "ratio", + "sourceField": "___records___" + }, + "orderBy": { + "type": "custom" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "secondaryFields": [], + "size": 10000 + }, + "scale": "ordinal", + "sourceField": "kubernetes.job.name" + } + }, + "ignoreGlobalFilters": false, + "incompleteColumns": {} + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} } - ], - "drop_last_bucket": 0, - "filter": { - "language": "kuery", - "query": "data_stream.dataset :\"kubernetes.state_job\" " }, - "id": "401e6673-444f-4cd8-8d5e-b428cb1a0026", - "index_pattern_ref_name": "metrics_9ecfd540-d36f-4869-836d-3dd704a6561f_0_index_pattern", - "interval": "", - "isModelInvalid": false, - "max_lines_legend": 1, - "series": [ + "filters": [ { - "axis_position": "right", - "chart_type": "line", - "color": "#68BC00", - "fill": 0.5, - "formatter": "default", - "id": "261249a0-f757-40f1-93f2-fe8f59f99b8c", - "label": "Succeeded", - "line_width": 1, - "metrics": [ - { - "agg_with": "avg", - "field": "kubernetes.job.pods.succeeded", - "id": "7575ba08-100d-4c17-9b30-546a1b44ba13", - "order": "desc", - "order_by": "@timestamp", - "size": 1, - "type": "top_hit" + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "data_stream.dataset", + "index": "25697353-2613-4360-89cc-900c9e265a10", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "kubernetes.state_job" }, - { - "function": "sum", - "id": "8d1a4ba0-ba55-11ec-a38a-8738426ac550", - "type": "series_agg" - } - ], - "override_index_pattern": 0, - "palette": { - "name": "default", - "type": "palette" + "type": "phrase" }, - "point_size": 1, - "separate_axis": 0, - "series_drop_last_bucket": 0, - "split_mode": "terms", - "stacked": "none", - "terms_field": "kubernetes.job.name", - "terms_size": "100000", - "time_range_mode": "entire_time_range" + "query": { + "match_phrase": { + "data_stream.dataset": "kubernetes.state_job" + } + } } ], - "show_grid": 1, - "show_legend": 1, - "time_field": "", - "time_range_mode": "entire_time_range", - "tooltip_mode": "show_all", - "truncate_legend": 1, - "type": "metric", - "use_kibana_indexes": true + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "breakdownByAccessor": "a7a7d706-d487-4ea4-ac4e-a52de432b629", + "collapseFn": "sum", + "layerId": "8da4f091-8450-456a-8496-aab42ef0871a", + "layerType": "data", + "metricAccessor": "8747afd9-3e1d-4da8-8f85-e3f526af747e" + } }, - "title": "", - "type": "metrics", - "uiState": {} - } + "title": "Succeeded Job Pods [Metrics Kubernetes]", + "type": "lens", + "visualizationType": "lnsMetric" + }, + "enhancements": {}, + "hidePanelTitles": false }, "gridData": { "h": 12, @@ -258,97 +352,143 @@ }, "panelIndex": "9ecfd540-d36f-4869-836d-3dd704a6561f", "title": "Succeeded Job Pods [Metrics Kubernetes]", - "type": "visualization", - "version": "8.6.0-SNAPSHOT" + "type": "lens", + "version": "8.10.2" }, { "embeddableConfig": { - "enhancements": {}, - "savedVis": { - "data": { - "aggs": [], - "searchSource": { - "filter": [], - "query": { - "language": "kuery", - "query": "" - } - } - }, + "attributes": { "description": "", - "params": { - "axis_formatter": "number", - "axis_position": "left", - "axis_scale": "normal", - "background_color_rules": [ - { - "id": "b4a76050-ba54-11ec-a38a-8738426ac550" + "references": [ + { + "id": "metrics-*", + "name": "indexpattern-datasource-layer-81a3cd5d-50e5-4e31-b736-000de1673372", + "type": "index-pattern" + }, + { + "id": "metrics-*", + "name": "f5e0f998-307f-48b5-8a3d-a8ce10058dbd", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "81a3cd5d-50e5-4e31-b736-000de1673372": { + "columnOrder": [ + "d373cc02-b4ba-4cb3-a0b1-da41564d4a96", + "9fd1fc3c-2013-4d03-9107-b03512a8f7dd" + ], + "columns": { + "9fd1fc3c-2013-4d03-9107-b03512a8f7dd": { + "customLabel": true, + "dataType": "number", + "filter": { + "language": "kuery", + "query": "\"kubernetes.job.pods.failed\": *" + }, + "isBucketed": false, + "label": "Failed", + "operationType": "last_value", + "params": { + "showArrayValues": false, + "sortField": "@timestamp" + }, + "scale": "ratio", + "sourceField": "kubernetes.job.pods.failed" + }, + "d373cc02-b4ba-4cb3-a0b1-da41564d4a96": { + "dataType": "string", + "isBucketed": true, + "label": "Top 10000 values of kubernetes.job.name", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderAgg": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": {}, + "scale": "ratio", + "sourceField": "___records___" + }, + "orderBy": { + "type": "custom" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "secondaryFields": [], + "size": 10000 + }, + "scale": "ordinal", + "sourceField": "kubernetes.job.name" + } + }, + "ignoreGlobalFilters": false, + "incompleteColumns": {} + } + } + }, + "indexpattern": { + "layers": {} + }, + "textBased": { + "layers": {} } - ], - "drop_last_bucket": 0, - "filter": { - "language": "kuery", - "query": "data_stream.dataset :\"kubernetes.state_job\" " }, - "id": "401e6673-444f-4cd8-8d5e-b428cb1a0026", - "index_pattern_ref_name": "metrics_c73b7420-ce63-4d11-b25e-387c7c76b9f1_0_index_pattern", - "interval": "", - "isModelInvalid": false, - "max_lines_legend": 1, - "series": [ + "filters": [ { - "axis_position": "right", - "chart_type": "line", - "color": "#68BC00", - "fill": 0.5, - "formatter": "default", - "id": "261249a0-f757-40f1-93f2-fe8f59f99b8c", - "label": "Failed", - "line_width": 1, - "metrics": [ - { - "agg_with": "avg", - "field": "kubernetes.job.pods.failed", - "id": "7575ba08-100d-4c17-9b30-546a1b44ba13", - "order": "desc", - "order_by": "@timestamp", - "size": 1, - "type": "top_hit" + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "data_stream.dataset", + "index": "f5e0f998-307f-48b5-8a3d-a8ce10058dbd", + "key": "data_stream.dataset", + "negate": false, + "params": { + "query": "kubernetes.state_job" }, - { - "function": "sum", - "id": "8d1a4ba0-ba55-11ec-a38a-8738426ac550", - "type": "series_agg" - } - ], - "override_index_pattern": 0, - "palette": { - "name": "default", - "type": "palette" + "type": "phrase" }, - "point_size": 1, - "separate_axis": 0, - "series_drop_last_bucket": 0, - "split_mode": "terms", - "stacked": "none", - "terms_field": "kubernetes.job.name", - "terms_size": "10000", - "time_range_mode": "entire_time_range" + "query": { + "match_phrase": { + "data_stream.dataset": "kubernetes.state_job" + } + } } ], - "show_grid": 1, - "show_legend": 1, - "time_field": "", - "time_range_mode": "entire_time_range", - "tooltip_mode": "show_all", - "truncate_legend": 1, - "type": "metric", - "use_kibana_indexes": true + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "breakdownByAccessor": "d373cc02-b4ba-4cb3-a0b1-da41564d4a96", + "collapseFn": "sum", + "layerId": "81a3cd5d-50e5-4e31-b736-000de1673372", + "layerType": "data", + "metricAccessor": "9fd1fc3c-2013-4d03-9107-b03512a8f7dd" + } }, - "title": "", - "type": "metrics", - "uiState": {} - } + "title": "Failed Job Pods [Metrics Kubernetes]", + "type": "lens", + "visualizationType": "lnsMetric" + }, + "enhancements": {}, + "hidePanelTitles": false }, "gridData": { "h": 12, @@ -359,8 +499,8 @@ }, "panelIndex": "c73b7420-ce63-4d11-b25e-387c7c76b9f1", "title": "Failed Job Pods [Metrics Kubernetes]", - "type": "visualization", - "version": "8.6.0-SNAPSHOT" + "type": "lens", + "version": "8.10.2" }, { "embeddableConfig": { @@ -540,7 +680,7 @@ "panelIndex": "574d76e2-ca20-4c75-9dac-31265a772ba5", "title": "Informations per Job [Metrics Kubernetes]", "type": "lens", - "version": "8.6.0-SNAPSHOT" + "version": "8.10.2" }, { "embeddableConfig": { @@ -691,33 +831,46 @@ "panelIndex": "2bb97a71-28ce-428d-99d1-01b1918aebf5", "title": "Job Owner Informations [Metrics Kubernetes]", "type": "lens", - "version": "8.6.0-SNAPSHOT" + "version": "8.10.2" } ], "timeRestore": false, "title": "[Metrics Kubernetes] Jobs", "version": 1 }, - "coreMigrationVersion": "8.6.0", - "created_at": "2023-01-11T14:18:26.601Z", + "coreMigrationVersion": "8.8.0", + "created_at": "2023-10-20T08:28:44.740Z", "id": "kubernetes-9bf990a0-bcb1-11ec-b64f-7dd6e8e82013", - "migrationVersion": { - "dashboard": "8.6.0" - }, + "managed": false, "references": [ { "id": "metrics-*", - "name": "65805e20-7bb7-43ef-99de-fc56c3de6af2:metrics_65805e20-7bb7-43ef-99de-fc56c3de6af2_0_index_pattern", + "name": "65805e20-7bb7-43ef-99de-fc56c3de6af2:indexpattern-datasource-layer-9b261d2c-645a-4dca-9229-9d8c52e79b9f", + "type": "index-pattern" + }, + { + "id": "metrics-*", + "name": "65805e20-7bb7-43ef-99de-fc56c3de6af2:e4408339-1fa7-47b3-bac9-d2e7945d989f", + "type": "index-pattern" + }, + { + "id": "metrics-*", + "name": "9ecfd540-d36f-4869-836d-3dd704a6561f:indexpattern-datasource-layer-8da4f091-8450-456a-8496-aab42ef0871a", + "type": "index-pattern" + }, + { + "id": "metrics-*", + "name": "9ecfd540-d36f-4869-836d-3dd704a6561f:25697353-2613-4360-89cc-900c9e265a10", "type": "index-pattern" }, { "id": "metrics-*", - "name": "9ecfd540-d36f-4869-836d-3dd704a6561f:metrics_9ecfd540-d36f-4869-836d-3dd704a6561f_0_index_pattern", + "name": "c73b7420-ce63-4d11-b25e-387c7c76b9f1:indexpattern-datasource-layer-81a3cd5d-50e5-4e31-b736-000de1673372", "type": "index-pattern" }, { "id": "metrics-*", - "name": "c73b7420-ce63-4d11-b25e-387c7c76b9f1:metrics_c73b7420-ce63-4d11-b25e-387c7c76b9f1_0_index_pattern", + "name": "c73b7420-ce63-4d11-b25e-387c7c76b9f1:f5e0f998-307f-48b5-8a3d-a8ce10058dbd", "type": "index-pattern" }, { @@ -756,5 +909,6 @@ "type": "index-pattern" } ], - "type": "dashboard" + "type": "dashboard", + "typeMigrationVersion": "8.9.0" } \ No newline at end of file diff --git a/packages/kubernetes/manifest.yml b/packages/kubernetes/manifest.yml index d80e65d78ef..fb02e5bec9d 100644 --- a/packages/kubernetes/manifest.yml +++ b/packages/kubernetes/manifest.yml @@ -1,7 +1,7 @@ format_version: 2.9.0 name: kubernetes title: Kubernetes -version: 1.46.0 +version: 1.47.0 description: Collect logs and metrics from Kubernetes clusters with Elastic Agent. type: integration categories: @@ -9,7 +9,7 @@ categories: - containers - kubernetes conditions: - kibana.version: "^8.10.1" + kibana.version: "^8.10.2" screenshots: - src: /img/metricbeat_kubernetes_overview.png title: Metricbeat Kubernetes Overview