mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 01:38:56 -04:00
[monitoring] only create license check if separate monitoring cluster (#33590)
This commit is contained in:
parent
ed2874bf54
commit
4d60e86287
3 changed files with 24 additions and 18 deletions
|
@ -7,7 +7,7 @@
|
|||
import expect from 'expect.js';
|
||||
import sinon from 'sinon';
|
||||
import { get, noop } from 'lodash';
|
||||
import { exposeClient } from '../instantiate_client';
|
||||
import { exposeClient, hasMonitoringCluster } from '../instantiate_client';
|
||||
|
||||
function getMockServerFromConnectionUrl(monitoringClusterUrl) {
|
||||
const server = {
|
||||
|
@ -136,4 +136,16 @@ describe('Instantiate Client', () => {
|
|||
expect(createClientOptions.password).to.eql('monitoring-p@ssw0rd!-internal-test');
|
||||
});
|
||||
});
|
||||
|
||||
describe('hasMonitoringCluster', () => {
|
||||
it('returns true if monitoring is configured', () => {
|
||||
const server = getMockServerFromConnectionUrl('http://monitoring-cluster.test:9200'); // pass null for URL to create the client using prod config
|
||||
expect(hasMonitoringCluster(server)).to.be(true);
|
||||
});
|
||||
|
||||
it('returns false if monitoring is not configured', () => {
|
||||
const server = getMockServerFromConnectionUrl(null);
|
||||
expect(hasMonitoringCluster(server)).to.be(false);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -15,28 +15,22 @@ import { LOGGING_TAG } from '../../common/constants';
|
|||
*/
|
||||
|
||||
export function exposeClient(server) {
|
||||
const monitoringEsConfig = server.config().get('xpack.monitoring.elasticsearch');
|
||||
|
||||
let config;
|
||||
let configSource;
|
||||
if (!Boolean(monitoringEsConfig.hosts && monitoringEsConfig.hosts.length)) {
|
||||
config = {};
|
||||
configSource = 'production';
|
||||
} else {
|
||||
config = { ...monitoringEsConfig };
|
||||
configSource = 'monitoring';
|
||||
}
|
||||
|
||||
const config = hasMonitoringCluster(server) ? server.config().get('xpack.monitoring.elasticsearch') : {};
|
||||
const cluster = server.plugins.elasticsearch.createCluster('monitoring', {
|
||||
...config,
|
||||
plugins: [monitoringBulk],
|
||||
logQueries: Boolean(monitoringEsConfig.logQueries),
|
||||
logQueries: Boolean(config.logQueries),
|
||||
});
|
||||
|
||||
server.events.on('stop', bindKey(cluster, 'close'));
|
||||
|
||||
const configSource = hasMonitoringCluster(server) ? 'monitoring' : 'production';
|
||||
server.log([LOGGING_TAG, 'es-client'], `config sourced from: ${configSource} cluster`);
|
||||
}
|
||||
|
||||
export function hasMonitoringCluster(server) {
|
||||
const hosts = server.config().get('xpack.monitoring.elasticsearch.hosts');
|
||||
return Boolean(hosts && hosts.length);
|
||||
}
|
||||
|
||||
|
||||
export const instantiateClient = once(exposeClient);
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
*/
|
||||
|
||||
import { checkLicenseGenerator } from './cluster_alerts/check_license';
|
||||
import { hasMonitoringCluster } from './es_client/instantiate_client';
|
||||
import { LOGGING_TAG } from '../common/constants';
|
||||
|
||||
/*
|
||||
|
@ -12,11 +13,10 @@ import { LOGGING_TAG } from '../common/constants';
|
|||
*/
|
||||
export const initMonitoringXpackInfo = async server => {
|
||||
const config = server.config();
|
||||
const xpackInfoOptions = {
|
||||
const xpackInfo = hasMonitoringCluster(server) ? server.plugins.xpack_main.createXPackInfo({
|
||||
clusterSource: 'monitoring',
|
||||
pollFrequencyInMillis: config.get('xpack.monitoring.xpack_api_polling_frequency_millis')
|
||||
};
|
||||
const xpackInfo = server.plugins.xpack_main.createXPackInfo(xpackInfoOptions);
|
||||
}) : server.plugins.xpack_main.info;
|
||||
|
||||
xpackInfo.feature('monitoring').registerLicenseCheckResultsGenerator(checkLicenseGenerator);
|
||||
server.expose('info', xpackInfo);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue