diff --git a/x-pack/plugins/monitoring/public/components/cluster/overview/elasticsearch_panel.js b/x-pack/plugins/monitoring/public/components/cluster/overview/elasticsearch_panel.js
index 7e85d62c4bbd6..ded309ce64e2e 100644
--- a/x-pack/plugins/monitoring/public/components/cluster/overview/elasticsearch_panel.js
+++ b/x-pack/plugins/monitoring/public/components/cluster/overview/elasticsearch_panel.js
@@ -230,6 +230,46 @@ export function ElasticsearchPanel(props) {
return null;
};
+ const showLicense = () => {
+ if (!props.showLicenseExpiration) {
+ return null;
+ }
+ return (
+
+
+
+
+
+
+
+
+ {capitalize(props.license.type)}
+
+
+
+
+ {props.license.expiry_date_in_millis === undefined ? (
+ ''
+ ) : (
+
+ )}
+
+
+
+
+
+ );
+ };
+
const statusColorMap = {
green: 'success',
yellow: 'warning',
@@ -325,36 +365,7 @@ export function ElasticsearchPanel(props) {
{formatNumber(get(nodes, 'jvm.max_uptime_in_millis'), 'time_since')}
{showMlJobs()}
-
-
-
-
-
-
-
- {capitalize(props.license.type)}
-
-
-
-
- {props.license.expiry_date_in_millis === undefined ? (
- ''
- ) : (
-
- )}
-
-
-
-
+ {showLicense()}
diff --git a/x-pack/plugins/monitoring/server/alerts/license_expiration_alert.test.ts b/x-pack/plugins/monitoring/server/alerts/license_expiration_alert.test.ts
index 74c300d971898..b82b4c235acba 100644
--- a/x-pack/plugins/monitoring/server/alerts/license_expiration_alert.test.ts
+++ b/x-pack/plugins/monitoring/server/alerts/license_expiration_alert.test.ts
@@ -76,6 +76,7 @@ describe('LicenseExpirationAlert', () => {
const monitoringCluster = null;
const config = {
ui: {
+ show_license_expiration: true,
ccs: { enabled: true },
container: { elasticsearch: { enabled: false } },
metricbeat: { index: 'metricbeat-*' },
@@ -282,5 +283,32 @@ describe('LicenseExpirationAlert', () => {
state: 'resolved',
});
});
+
+ it('should not fire actions if we are not showing license expiration', async () => {
+ const alert = new LicenseExpirationAlert();
+ const customConfig = {
+ ...config,
+ ui: {
+ ...config.ui,
+ show_license_expiration: false,
+ },
+ };
+ alert.initializeAlertType(
+ getUiSettingsService as any,
+ monitoringCluster as any,
+ getLogger as any,
+ customConfig as any,
+ kibanaUrl,
+ false
+ );
+ const type = alert.getAlertType();
+ await type.executor({
+ ...executorOptions,
+ // @ts-ignore
+ params: alert.defaultParams,
+ } as any);
+ expect(replaceState).not.toHaveBeenCalledWith({});
+ expect(scheduleActions).not.toHaveBeenCalled();
+ });
});
});
diff --git a/x-pack/plugins/monitoring/server/alerts/license_expiration_alert.ts b/x-pack/plugins/monitoring/server/alerts/license_expiration_alert.ts
index 00846e9cf7599..9692d95bfc6fe 100644
--- a/x-pack/plugins/monitoring/server/alerts/license_expiration_alert.ts
+++ b/x-pack/plugins/monitoring/server/alerts/license_expiration_alert.ts
@@ -18,7 +18,7 @@ import {
LegacyAlert,
CommonAlertParams,
} from '../../common/types/alerts';
-import { AlertInstance } from '../../../alerts/server';
+import { AlertExecutorOptions, AlertInstance } from '../../../alerts/server';
import {
INDEX_ALERTS,
ALERT_LICENSE_EXPIRATION,
@@ -64,6 +64,13 @@ export class LicenseExpirationAlert extends BaseAlert {
AlertingDefaults.ALERT_TYPE.context.actionPlain,
];
+ protected async execute(options: AlertExecutorOptions): Promise {
+ if (!this.config.ui.show_license_expiration) {
+ return;
+ }
+ return await super.execute(options);
+ }
+
protected async fetchData(
params: CommonAlertParams,
callCluster: any,