diff --git a/x-pack/plugins/monitoring/public/components/elasticsearch/node/advanced.js b/x-pack/plugins/monitoring/public/components/elasticsearch/node/advanced.js
index 6fea34ed9c9016..b2a17515bbb967 100644
--- a/x-pack/plugins/monitoring/public/components/elasticsearch/node/advanced.js
+++ b/x-pack/plugins/monitoring/public/components/elasticsearch/node/advanced.js
@@ -19,7 +19,7 @@ import { NodeDetailStatus } from '../node_detail_status';
import { MonitoringTimeseriesContainer } from '../../chart';
import { FormattedMessage } from '@kbn/i18n/react';
-export const AdvancedNode = ({ nodeSummary, metrics, ...props }) => {
+export const AdvancedNode = ({ nodeSummary, metrics, alerts, ...props }) => {
const metricsToShow = [
metrics.node_gc,
metrics.node_gc_time,
@@ -50,7 +50,7 @@ export const AdvancedNode = ({ nodeSummary, metrics, ...props }) => {
-
+
diff --git a/x-pack/plugins/monitoring/public/components/elasticsearch/node_detail_status/index.js b/x-pack/plugins/monitoring/public/components/elasticsearch/node_detail_status/index.js
index 18533b3bd4b5ea..85b4d0daddade1 100644
--- a/x-pack/plugins/monitoring/public/components/elasticsearch/node_detail_status/index.js
+++ b/x-pack/plugins/monitoring/public/components/elasticsearch/node_detail_status/index.js
@@ -9,8 +9,9 @@ import { SummaryStatus } from '../../summary_status';
import { NodeStatusIcon } from '../node';
import { formatMetric } from '../../../lib/format_number';
import { i18n } from '@kbn/i18n';
+import { AlertsStatus } from '../../../alerts/status';
-export function NodeDetailStatus({ stats, alerts }) {
+export function NodeDetailStatus({ stats, alerts = {} }) {
const {
transport_address: transportAddress,
usedHeap,
@@ -29,8 +30,10 @@ export function NodeDetailStatus({ stats, alerts }) {
const metrics = [
{
- label: 'Alerts',
- value: {Object.values(alerts).length},
+ label: i18n.translate('xpack.monitoring.elasticsearch.nodeDetailStatus.alerts', {
+ defaultMessage: 'Alerts',
+ }),
+ value: ,
},
{
label: i18n.translate('xpack.monitoring.elasticsearch.nodeDetailStatus.transportAddress', {
diff --git a/x-pack/plugins/monitoring/public/views/elasticsearch/node/advanced/index.js b/x-pack/plugins/monitoring/public/views/elasticsearch/node/advanced/index.js
index 8157e5b5f67c79..d75f63d8833152 100644
--- a/x-pack/plugins/monitoring/public/views/elasticsearch/node/advanced/index.js
+++ b/x-pack/plugins/monitoring/public/views/elasticsearch/node/advanced/index.js
@@ -16,7 +16,7 @@ import template from './index.html';
import { Legacy } from '../../../../legacy_shims';
import { AdvancedNode } from '../../../../components/elasticsearch/node/advanced';
import { MonitoringViewBaseController } from '../../../base_controller';
-import { CODE_PATH_ELASTICSEARCH } from '../../../../../common/constants';
+import { CODE_PATH_ELASTICSEARCH, ALERT_CPU_USAGE } from '../../../../../common/constants';
function getPageData($injector) {
const $http = $injector.get('$http');
@@ -53,12 +53,26 @@ uiRoutes.when('/elasticsearch/nodes/:node/advanced', {
},
controller: class extends MonitoringViewBaseController {
constructor($injector, $scope) {
+ const $route = $injector.get('$route');
+ const nodeName = $route.current.params.node;
+
super({
defaultData: {},
getPageData,
reactNodeId: 'monitoringElasticsearchAdvancedNodeApp',
$scope,
$injector,
+ alerts: {
+ shouldFetch: true,
+ options: {
+ alertTypeIds: [ALERT_CPU_USAGE],
+ filters: [
+ {
+ nodeUuid: nodeName,
+ },
+ ],
+ },
+ },
});
$scope.$watch(
@@ -80,6 +94,7 @@ uiRoutes.when('/elasticsearch/nodes/:node/advanced', {
this.renderReact(