From c689608b5ee162ae4b21f343cc282320d22122cd Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Mon, 4 Oct 2021 17:54:44 -0400 Subject: [PATCH] [Stack Monitoring] Node Advanced View (#113628) (#113839) * add template navigation * implement advanced node view * fix I18N titles Co-authored-by: Sandra G --- .../monitoring/public/application/index.tsx | 8 ++ .../elasticsearch/node_advanced_page.tsx | 79 +++++++++++++++++++ .../pages/elasticsearch/node_page.tsx | 2 +- 3 files changed, 88 insertions(+), 1 deletion(-) create mode 100644 x-pack/plugins/monitoring/public/application/pages/elasticsearch/node_advanced_page.tsx diff --git a/x-pack/plugins/monitoring/public/application/index.tsx b/x-pack/plugins/monitoring/public/application/index.tsx index a958e6061215..088891621923 100644 --- a/x-pack/plugins/monitoring/public/application/index.tsx +++ b/x-pack/plugins/monitoring/public/application/index.tsx @@ -30,6 +30,7 @@ import { ElasticsearchIndicesPage } from './pages/elasticsearch/indices_page'; import { ElasticsearchIndexPage } from './pages/elasticsearch/index_page'; import { ElasticsearchIndexAdvancedPage } from './pages/elasticsearch/index_advanced_page'; import { ElasticsearchNodePage } from './pages/elasticsearch/node_page'; +import { ElasticsearchNodeAdvancedPage } from './pages/elasticsearch/node_advanced_page'; import { MonitoringTimeContainer } from './hooks/use_monitoring_time'; import { BreadcrumbContainer } from './hooks/use_breadcrumbs'; @@ -108,6 +109,13 @@ const MonitoringApp: React.FC<{ fetchAllClusters={false} /> + + = ({ clusters }) => { + const globalState = useContext(GlobalStateContext); + const { zoomInfo, onBrush } = useCharts(); + + const { node }: { node: string } = useParams(); + const { services } = useKibana<{ data: any }>(); + + const clusterUuid = globalState.cluster_uuid; + const ccs = globalState.ccs; + const [data, setData] = useState({} as any); + + const title = i18n.translate('xpack.monitoring.elasticsearch.node.advanced.title', { + defaultMessage: 'Elasticsearch - Nodes - {nodeName} - Advanced', + values: { + nodeName: data?.nodeSummary?.name, + }, + }); + + const pageTitle = i18n.translate('xpack.monitoring.elasticsearch.node.advanced.pageTitle', { + defaultMessage: 'Elasticsearch node: {nodeName}', + values: { + nodeName: data?.nodeSummary?.name, + }, + }); + + const getPageData = useCallback(async () => { + const bounds = services.data?.query.timefilter.timefilter.getBounds(); + const url = `../api/monitoring/v1/clusters/${clusterUuid}/elasticsearch/nodes/${node}`; + + const response = await services.http?.fetch(url, { + method: 'POST', + body: JSON.stringify({ + ccs, + timeRange: { + min: bounds.min.toISOString(), + max: bounds.max.toISOString(), + }, + is_advanced: true, + }), + }); + + setData(response); + }, [ccs, clusterUuid, services.data?.query.timefilter.timefilter, services.http, node]); + + return ( + + + + ); +}; diff --git a/x-pack/plugins/monitoring/public/application/pages/elasticsearch/node_page.tsx b/x-pack/plugins/monitoring/public/application/pages/elasticsearch/node_page.tsx index 9b3a67f612e5..a8825f377ead 100644 --- a/x-pack/plugins/monitoring/public/application/pages/elasticsearch/node_page.tsx +++ b/x-pack/plugins/monitoring/public/application/pages/elasticsearch/node_page.tsx @@ -42,7 +42,7 @@ export const ElasticsearchNodePage: React.FC = ({ clusters }) => const [data, setData] = useState({} as any); const [nodesByIndicesData, setNodesByIndicesData] = useState([]); - const title = i18n.translate('xpack.monitoring.elasticsearch.node.overview.routeTitle', { + const title = i18n.translate('xpack.monitoring.elasticsearch.node.overview.title', { defaultMessage: 'Elasticsearch - Nodes - {nodeName} - Overview', values: { nodeName: data?.nodeSummary?.name,