From 087afc656a7bedc331950f99cc73fc94cc983e27 Mon Sep 17 00:00:00 2001 From: Chris Roberson Date: Thu, 20 Dec 2018 13:34:40 -0500 Subject: [PATCH 1/5] Ensure the schema is set --- .../plugins/monitoring/public/components/table/eui_table.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/x-pack/plugins/monitoring/public/components/table/eui_table.js b/x-pack/plugins/monitoring/public/components/table/eui_table.js index 2cc7154a85c9a..8e214126cca6b 100644 --- a/x-pack/plugins/monitoring/public/components/table/eui_table.js +++ b/x-pack/plugins/monitoring/public/components/table/eui_table.js @@ -22,6 +22,10 @@ export class EuiMonitoringTable extends React.PureComponent { search.box['data-test-subj'] = 'monitoringTableToolBar'; } + if (search.box && !search.box.schema) { + search.box.schema = true; + } + const columns = _columns.map(column => { if (!column['data-test-subj']) { column['data-test-subj'] = 'monitoringTableHasData'; From 173c79bc48dd256dd7a17beec6dcedd8a6aad855 Mon Sep 17 00:00:00 2001 From: Chris Roberson Date: Fri, 21 Dec 2018 15:19:13 -0500 Subject: [PATCH 2/5] Flatten certain table data lists to ensure the default field filtering works --- .../public/components/alerts/alerts.js | 12 +++-- .../components/logstash/listing/listing.js | 23 +++++++--- .../public/views/kibana/instances/index.js | 44 +++++++------------ 3 files changed, 41 insertions(+), 38 deletions(-) diff --git a/x-pack/plugins/monitoring/public/components/alerts/alerts.js b/x-pack/plugins/monitoring/public/components/alerts/alerts.js index 7b06dbda9a56f..28a877fe31ba8 100644 --- a/x-pack/plugins/monitoring/public/components/alerts/alerts.js +++ b/x-pack/plugins/monitoring/public/components/alerts/alerts.js @@ -25,7 +25,7 @@ const linkToCategories = { const getColumns = (kbnUrl, scope) => ([ { name: 'Status', - field: 'metadata.severity', + field: 'status', sortable: true, render: severity => { const severityIcon = mapSeverity(severity); @@ -82,7 +82,7 @@ const getColumns = (kbnUrl, scope) => ([ }, { name: 'Category', - field: 'metadata.link', + field: 'category', sortable: true, render: link => linkToCategories[link] ? linkToCategories[link] : 'General' }, @@ -101,10 +101,16 @@ const getColumns = (kbnUrl, scope) => ([ ]); const AlertsUI = ({ alerts, angular, sorting, pagination, onTableChange, intl }) => { + const alertsFlattened = alerts.map(alert => ({ + ...alert, + status: alert.metadata.severity, + category: alert.metadata.link, + })); + return ( (
@@ -41,25 +41,25 @@ class ListingUI extends PureComponent { }, { name: 'CPU Usage', - field: 'process.cpu.percent', + field: 'cpu_usage', sortable: true, render: value => formatPercentageUsage(value, 100) }, { name: 'Load Average', - field: 'os.cpu.load_average.1m', + field: 'load_average', sortable: true, render: value => formatNumber(value, '0.00') }, { name: 'JVM Heap Used', - field: 'jvm.mem.heap_used_percent', + field: 'jvm_heap_used', sortable: true, render: value => formatPercentageUsage(value, 100) }, { name: 'Events Ingested', - field: 'events.out', + field: 'events_out', sortable: true, render: value => formatNumber(value, '0.[0]a') }, @@ -75,7 +75,7 @@ class ListingUI extends PureComponent { }, { name: 'Version', - field: 'logstash.version', + field: 'version', sortable: true, render: value => formatNumber(value) } @@ -84,6 +84,15 @@ class ListingUI extends PureComponent { render() { const { data, stats, sorting, pagination, onTableChange, intl } = this.props; const columns = this.getColumns(); + const flattenedData = data.map(item => ({ + ...item, + name: item.logstash.name, + cpu_usage: item.process.cpu.percent, + load_average: item.os.cpu.load_average['1m'], + jvm_heap_used: item.jvm.mem.heap_used_percent, + events_ingested: item.events.out, + version: item.logstash.version, + })); return ( @@ -93,7 +102,7 @@ class ListingUI extends PureComponent { ([ name: i18n.translate('xpack.monitoring.kibana.listing.nameColumnTitle', { defaultMessage: 'Name' }), - field: 'kibana.name', + field: 'name', render: (name, kibana) => ( { @@ -43,7 +42,7 @@ const getColumns = (kbnUrl, scope) => ([ name: i18n.translate('xpack.monitoring.kibana.listing.statusColumnTitle', { defaultMessage: 'Status' }), - field: 'kibana.status', + field: 'status', render: (status, kibana) => (
{ - const app = document.getElementById('monitoringKibanaInstancesApp'); - if (!app) { + $scope.$watch(() => this.data, data => { + if (!data || !data.kibanas) { return; } - const page = ( + const dataFlattened = data.kibanas.map(item => ({ + ...item, + name: item.kibana.name, + status: item.kibana.status, + })); + + this.renderReact( @@ -154,15 +153,9 @@ uiRoutes.when('/kibana/instances', { ); - - render(page, app); - }; - - $scope.$watch('data', () => renderReact()); - renderReact(); + }); } } }); From bc8fc425852eb18f2bb3979b0efadcb43acf4c2a Mon Sep 17 00:00:00 2001 From: Chris Roberson Date: Fri, 21 Dec 2018 16:02:53 -0500 Subject: [PATCH 3/5] Fix issue with tests --- x-pack/plugins/monitoring/public/components/alerts/alerts.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugins/monitoring/public/components/alerts/alerts.js b/x-pack/plugins/monitoring/public/components/alerts/alerts.js index 28a877fe31ba8..ba6a64135ebf6 100644 --- a/x-pack/plugins/monitoring/public/components/alerts/alerts.js +++ b/x-pack/plugins/monitoring/public/components/alerts/alerts.js @@ -116,7 +116,7 @@ const AlertsUI = ({ alerts, angular, sorting, pagination, onTableChange, intl }) ...sorting, sort: { ...sorting.sort, - field: 'metadata.severity', + field: 'status', direction: EUI_SORT_DESCENDING, } }} From e135f87f8dbfe7c2d019323b7554fb3e5adc6ef8 Mon Sep 17 00:00:00 2001 From: Chris Roberson Date: Mon, 7 Jan 2019 14:03:47 -0500 Subject: [PATCH 4/5] Fix issue with sort key name --- .../monitoring/public/components/logstash/listing/listing.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugins/monitoring/public/components/logstash/listing/listing.js b/x-pack/plugins/monitoring/public/components/logstash/listing/listing.js index 085630bbcba2e..638eda02fb0fc 100644 --- a/x-pack/plugins/monitoring/public/components/logstash/listing/listing.js +++ b/x-pack/plugins/monitoring/public/components/logstash/listing/listing.js @@ -108,7 +108,7 @@ class ListingUI extends PureComponent { ...sorting, sort: { ...sorting.sort, - field: 'logstash.name' + field: 'name' } }} pagination={pagination} From 520a4f6d81cca9f5effa16961725587d4989a21b Mon Sep 17 00:00:00 2001 From: Chris Roberson Date: Wed, 9 Jan 2019 10:02:55 -0500 Subject: [PATCH 5/5] Readd localization that was removed --- .../components/logstash/listing/listing.js | 48 +++++++++++++++---- 1 file changed, 38 insertions(+), 10 deletions(-) diff --git a/x-pack/plugins/monitoring/public/components/logstash/listing/listing.js b/x-pack/plugins/monitoring/public/components/logstash/listing/listing.js index 638eda02fb0fc..2670501dab570 100644 --- a/x-pack/plugins/monitoring/public/components/logstash/listing/listing.js +++ b/x-pack/plugins/monitoring/public/components/logstash/listing/listing.js @@ -9,7 +9,8 @@ import { EuiPage, EuiLink, EuiPageBody, EuiPageContent, EuiSpacer } from '@elast import { formatPercentageUsage, formatNumber } from '../../../lib/format_number'; import { ClusterStatus } from '..//cluster_status'; import { EuiMonitoringTable } from '../../table'; -import { injectI18n } from '@kbn/i18n/react'; +import { injectI18n, FormattedMessage } from '@kbn/i18n/react'; +import { i18n } from '@kbn/i18n'; class ListingUI extends PureComponent { getColumns() { @@ -17,7 +18,9 @@ class ListingUI extends PureComponent { return [ { - name: 'Name', + name: i18n.translate('xpack.monitoring.logstash.nodes.nameTitle', { + defaultMessage: 'Name' + }), field: 'name', sortable: true, render: (name, node) => ( @@ -40,41 +43,66 @@ class ListingUI extends PureComponent { ) }, { - name: 'CPU Usage', + name: i18n.translate('xpack.monitoring.logstash.nodes.cpuUsageTitle', { + defaultMessage: 'CPU Usage' + }), field: 'cpu_usage', sortable: true, render: value => formatPercentageUsage(value, 100) }, { - name: 'Load Average', + name: i18n.translate('xpack.monitoring.logstash.nodes.loadAverageTitle', { + defaultMessage: 'Load Average' + }), field: 'load_average', sortable: true, render: value => formatNumber(value, '0.00') }, { - name: 'JVM Heap Used', + name: i18n.translate('xpack.monitoring.logstash.nodes.jvmHeapUsedTitle', { + defaultMessage: '{javaVirtualMachine} Heap Used', + values: { javaVirtualMachine: 'JVM' } + }), field: 'jvm_heap_used', sortable: true, render: value => formatPercentageUsage(value, 100) }, { - name: 'Events Ingested', + name: i18n.translate('xpack.monitoring.logstash.nodes.eventsIngestedTitle', { + defaultMessage: 'Events Ingested' + }), field: 'events_out', sortable: true, render: value => formatNumber(value, '0.[0]a') }, { - name: 'Config Reloads', + name: i18n.translate('xpack.monitoring.logstash.nodes.configReloadsTitle', { + defaultMessage: 'Config Reloads' + }), sortable: true, render: node => (
-
{ node.reloads.successes } successes
-
{ node.reloads.failures } failures
+
+ +
+
+ +
) }, { - name: 'Version', + name: i18n.translate('xpack.monitoring.logstash.nodes.versionTitle', { + defaultMessage: 'Version' + }), field: 'version', sortable: true, render: value => formatNumber(value)