diff --git a/x-pack/plugins/monitoring/public/application/index.tsx b/x-pack/plugins/monitoring/public/application/index.tsx index dea8d18bb65b1..05e010601c3df 100644 --- a/x-pack/plugins/monitoring/public/application/index.tsx +++ b/x-pack/plugins/monitoring/public/application/index.tsx @@ -27,6 +27,7 @@ import { CODE_PATH_ELASTICSEARCH, CODE_PATH_BEATS } from '../../common/constants import { ElasticsearchNodesPage } from './pages/elasticsearch/nodes_page'; import { ElasticsearchIndicesPage } from './pages/elasticsearch/indices_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'; @@ -90,6 +91,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.routeTitle', { + defaultMessage: 'Elasticsearch - Nodes - {nodeName} - Advanced', + values: { + nodeName: data?.nodeSummary?.name, + }, + }); + + const pageTitle = i18n.translate('xpack.monitoring.elasticsearch.node.overview.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 824c7af531870..874f422e7b126 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 @@ -95,27 +95,25 @@ export const ElasticsearchNodePage: React.FC = ({ clusters }) => id={node} pageType="nodes" > - - ( - - {flyoutComponent} - - {bottomBarComponent} - - )} - /> - + ( + + {flyoutComponent} + + {bottomBarComponent} + + )} + /> ); };