diff --git a/x-pack/legacy/plugins/monitoring/public/components/no_data/checker_errors.js b/x-pack/legacy/plugins/monitoring/public/components/no_data/checker_errors.js
index f56f7bd099c5d..d6f57d6f7479a 100644
--- a/x-pack/legacy/plugins/monitoring/public/components/no_data/checker_errors.js
+++ b/x-pack/legacy/plugins/monitoring/public/components/no_data/checker_errors.js
@@ -16,17 +16,27 @@ import {
import { FormattedMessage } from '@kbn/i18n/react';
const ErrorList = ({ errors }) => {
- return errors.map((error, errorIndex) => {
- const { message, statusCode, error: friendlyName } = error;
- return (
-
-
- {statusCode} {friendlyName}
-
- {message}
-
- );
- });
+ const errorsMap = {};
+ return errors
+ .filter(err => {
+ const { statusCode, error, message } = err;
+ const key = `${statusCode}${error}${message}`;
+ if (!errorsMap[key]) {
+ errorsMap[key] = true;
+ return true;
+ }
+ })
+ .map((error, errorIndex) => {
+ const { message, statusCode, error: friendlyName } = error;
+ return (
+
+
+ {statusCode} {friendlyName}
+
+ {message}
+
+ );
+ });
};
export function CheckerErrors(props) {
diff --git a/x-pack/legacy/plugins/monitoring/public/views/no_data/controller.js b/x-pack/legacy/plugins/monitoring/public/views/no_data/controller.js
index eefb8bc393091..a914aa0155e90 100644
--- a/x-pack/legacy/plugins/monitoring/public/views/no_data/controller.js
+++ b/x-pack/legacy/plugins/monitoring/public/views/no_data/controller.js
@@ -45,6 +45,7 @@ export class NoDataController extends MonitoringViewBaseController {
}
}
+ this.errors.length = 0;
if (catchReason) {
this.reason = catchReason;
} else if (!this.isCollectionEnabledUpdating && !this.isCollectionIntervalUpdating) {