kibana/x-pack/plugins/monitoring/init.js

96 lines
4 KiB
JavaScript
Raw Normal View History

2018-04-20 21:13:37 +02:00
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/
import { LOGGING_TAG, KIBANA_MONITORING_LOGGING_TAG } from './common/constants';
2018-04-20 21:13:37 +02:00
import { requireUIRoutes } from './server/routes';
import { instantiateClient } from './server/es_client/instantiate_client';
import { initMonitoringXpackInfo } from './server/init_monitoring_xpack_info';
Separate bulk upload behavior from CollectorSet (#19691) * Separate bulk upload behavior from CollectorSet - takes out a lot of behavior from CollectorSet and moves it to a class called BulkUploader - simplifies kibana monitoring init by taking out the indirection that startCollectorSet / createCollectorSet had - removes start() method from CollectorSet and calls the collector objects' init() functions from CollectorSet.register() - removes cleanup method from collectorSet since that was doing work for bulk uploading * remove cleanup and fetchAfterInit methods * test for bulk_uploader class * improve test for collector_set * fix reporting * expose collectorSet if there actually is a collectorSet * comment for enclosed function * make collectorSet creation/expose unconditional, bulkUploader more conditional * fix collector_set tests * lifecycle events * stab at collectorSet error logging from the API call * clean up comments * clean up comments * fix BulkUploader mocha test * check kibanaCollectionEnabled config before registering bulk upload and the plugin status listeners * no singleton timer object * just log a warning if bulk uploader start called twice * normal quotes * check if bulk is enabled inside of the _fetchAndUpload method * log for stopping bulk stats * call bulkUploader.start with the collectorSet object * call bulkUploader.start with the collectorSet object * roll back change for module scoped variable * oops I broke init * init and logging: if / elseif / elseif * remove unnecessary check/log * help log * remove redundant, use data.filter.map * use xpackInfo.onLicenseInfoChange not xpackMainPlugin.status.on('green') * help logging * fix unit test * remove handler that stops upload when connection is lost
2018-06-21 22:08:32 +02:00
import { initBulkUploader } from './server/kibana_monitoring';
import {
getKibanaUsageCollector,
getOpsStatsCollector,
getSettingsCollector,
} from './server/kibana_monitoring/collectors';
2018-04-20 21:13:37 +02:00
/**
* Initialize the Kibana Monitoring plugin by starting up asynchronous server tasks
* - [1] instantiation of an elasticsearch-js client exposed as a server plugin object
* - [2] start monitoring cluster x-pack license and features check
* - [3] webserver route handling
Separate bulk upload behavior from CollectorSet (#19691) * Separate bulk upload behavior from CollectorSet - takes out a lot of behavior from CollectorSet and moves it to a class called BulkUploader - simplifies kibana monitoring init by taking out the indirection that startCollectorSet / createCollectorSet had - removes start() method from CollectorSet and calls the collector objects' init() functions from CollectorSet.register() - removes cleanup method from collectorSet since that was doing work for bulk uploading * remove cleanup and fetchAfterInit methods * test for bulk_uploader class * improve test for collector_set * fix reporting * expose collectorSet if there actually is a collectorSet * comment for enclosed function * make collectorSet creation/expose unconditional, bulkUploader more conditional * fix collector_set tests * lifecycle events * stab at collectorSet error logging from the API call * clean up comments * clean up comments * fix BulkUploader mocha test * check kibanaCollectionEnabled config before registering bulk upload and the plugin status listeners * no singleton timer object * just log a warning if bulk uploader start called twice * normal quotes * check if bulk is enabled inside of the _fetchAndUpload method * log for stopping bulk stats * call bulkUploader.start with the collectorSet object * call bulkUploader.start with the collectorSet object * roll back change for module scoped variable * oops I broke init * init and logging: if / elseif / elseif * remove unnecessary check/log * help log * remove redundant, use data.filter.map * use xpackInfo.onLicenseInfoChange not xpackMainPlugin.status.on('green') * help logging * fix unit test * remove handler that stops upload when connection is lost
2018-06-21 22:08:32 +02:00
* - [4] start the internal monitoring collector/bulk uploader
* - [5] expose the monitoring collector object for other plugins to register with
2018-04-20 21:13:37 +02:00
* @param monitoringPlugin {Object} Monitoring UI plugin
* @param server {Object} HapiJS server instance
*/
export const init = (monitoringPlugin, server) => {
Stats API: implement the "kibana status" spec from the Monitoring data model for stats (#20577) * [Stats API] Set API field names per spec * fix jest tests * fix api integration test * trash the original metrics collector - constantly accumulating stats over time does not align with the existing behavior, which is to reset the stats to 0 whenever they are pulled * move some logic out of the collector types combiner into inline - change the signature of sourceKibana * Make a new stats collector for the API - to not clear the data when pulling via the api - fetching is a read-only thing * isolate data transforms for api data and upload data * no static methods * remove external in bytes * remove the _stats prefix for kibana and reporting * update jest test snapshot * fix collector_types_combiner test * fix usage api * add test suite todo comment * reduce some loc change * roll back mysterious change * reduce some more loc change * comment correction * reduce more loc change * whitespace * comment question * fix cluster_uuid * fix stats integration test * fix bulk uploader test, combineTypes is no longer external * very important comments about the current nature of stats represented and long-term goals * add stats api tests with/without authentication * fix more fields to match data model * fix more tests * fix jest test * remove TODO * remove sockets * use snake_case for api field names * restore accidental removal + copy/paste error * sourceKibana -> getKibanaInfoForStats * skip usage test on legacy endpoint * fix api tests * more comment * stop putting a field in that used to be omitted * fix the internal type to ID the usage data for bulk uploader * correct the kibana usage type value, which is shown as-is in the API * more fixes for the constants identifying collector types + test against duplicates * add a comment on a hack, and a whitespace fix
2018-07-19 01:37:04 +02:00
const kbnServer = monitoringPlugin.kbnServer;
Separate bulk upload behavior from CollectorSet (#19691) * Separate bulk upload behavior from CollectorSet - takes out a lot of behavior from CollectorSet and moves it to a class called BulkUploader - simplifies kibana monitoring init by taking out the indirection that startCollectorSet / createCollectorSet had - removes start() method from CollectorSet and calls the collector objects' init() functions from CollectorSet.register() - removes cleanup method from collectorSet since that was doing work for bulk uploading * remove cleanup and fetchAfterInit methods * test for bulk_uploader class * improve test for collector_set * fix reporting * expose collectorSet if there actually is a collectorSet * comment for enclosed function * make collectorSet creation/expose unconditional, bulkUploader more conditional * fix collector_set tests * lifecycle events * stab at collectorSet error logging from the API call * clean up comments * clean up comments * fix BulkUploader mocha test * check kibanaCollectionEnabled config before registering bulk upload and the plugin status listeners * no singleton timer object * just log a warning if bulk uploader start called twice * normal quotes * check if bulk is enabled inside of the _fetchAndUpload method * log for stopping bulk stats * call bulkUploader.start with the collectorSet object * call bulkUploader.start with the collectorSet object * roll back change for module scoped variable * oops I broke init * init and logging: if / elseif / elseif * remove unnecessary check/log * help log * remove redundant, use data.filter.map * use xpackInfo.onLicenseInfoChange not xpackMainPlugin.status.on('green') * help logging * fix unit test * remove handler that stops upload when connection is lost
2018-06-21 22:08:32 +02:00
const config = server.config();
const { collectorSet } = server.usage;
Separate bulk upload behavior from CollectorSet (#19691) * Separate bulk upload behavior from CollectorSet - takes out a lot of behavior from CollectorSet and moves it to a class called BulkUploader - simplifies kibana monitoring init by taking out the indirection that startCollectorSet / createCollectorSet had - removes start() method from CollectorSet and calls the collector objects' init() functions from CollectorSet.register() - removes cleanup method from collectorSet since that was doing work for bulk uploading * remove cleanup and fetchAfterInit methods * test for bulk_uploader class * improve test for collector_set * fix reporting * expose collectorSet if there actually is a collectorSet * comment for enclosed function * make collectorSet creation/expose unconditional, bulkUploader more conditional * fix collector_set tests * lifecycle events * stab at collectorSet error logging from the API call * clean up comments * clean up comments * fix BulkUploader mocha test * check kibanaCollectionEnabled config before registering bulk upload and the plugin status listeners * no singleton timer object * just log a warning if bulk uploader start called twice * normal quotes * check if bulk is enabled inside of the _fetchAndUpload method * log for stopping bulk stats * call bulkUploader.start with the collectorSet object * call bulkUploader.start with the collectorSet object * roll back change for module scoped variable * oops I broke init * init and logging: if / elseif / elseif * remove unnecessary check/log * help log * remove redundant, use data.filter.map * use xpackInfo.onLicenseInfoChange not xpackMainPlugin.status.on('green') * help logging * fix unit test * remove handler that stops upload when connection is lost
2018-06-21 22:08:32 +02:00
/*
* Register collector objects for stats to show up in the APIs
*/
Stats API: implement the "kibana status" spec from the Monitoring data model for stats (#20577) * [Stats API] Set API field names per spec * fix jest tests * fix api integration test * trash the original metrics collector - constantly accumulating stats over time does not align with the existing behavior, which is to reset the stats to 0 whenever they are pulled * move some logic out of the collector types combiner into inline - change the signature of sourceKibana * Make a new stats collector for the API - to not clear the data when pulling via the api - fetching is a read-only thing * isolate data transforms for api data and upload data * no static methods * remove external in bytes * remove the _stats prefix for kibana and reporting * update jest test snapshot * fix collector_types_combiner test * fix usage api * add test suite todo comment * reduce some loc change * roll back mysterious change * reduce some more loc change * comment correction * reduce more loc change * whitespace * comment question * fix cluster_uuid * fix stats integration test * fix bulk uploader test, combineTypes is no longer external * very important comments about the current nature of stats represented and long-term goals * add stats api tests with/without authentication * fix more fields to match data model * fix more tests * fix jest test * remove TODO * remove sockets * use snake_case for api field names * restore accidental removal + copy/paste error * sourceKibana -> getKibanaInfoForStats * skip usage test on legacy endpoint * fix api tests * more comment * stop putting a field in that used to be omitted * fix the internal type to ID the usage data for bulk uploader * correct the kibana usage type value, which is shown as-is in the API * more fixes for the constants identifying collector types + test against duplicates * add a comment on a hack, and a whitespace fix
2018-07-19 01:37:04 +02:00
collectorSet.register(getOpsStatsCollector(server, kbnServer));
Separate bulk upload behavior from CollectorSet (#19691) * Separate bulk upload behavior from CollectorSet - takes out a lot of behavior from CollectorSet and moves it to a class called BulkUploader - simplifies kibana monitoring init by taking out the indirection that startCollectorSet / createCollectorSet had - removes start() method from CollectorSet and calls the collector objects' init() functions from CollectorSet.register() - removes cleanup method from collectorSet since that was doing work for bulk uploading * remove cleanup and fetchAfterInit methods * test for bulk_uploader class * improve test for collector_set * fix reporting * expose collectorSet if there actually is a collectorSet * comment for enclosed function * make collectorSet creation/expose unconditional, bulkUploader more conditional * fix collector_set tests * lifecycle events * stab at collectorSet error logging from the API call * clean up comments * clean up comments * fix BulkUploader mocha test * check kibanaCollectionEnabled config before registering bulk upload and the plugin status listeners * no singleton timer object * just log a warning if bulk uploader start called twice * normal quotes * check if bulk is enabled inside of the _fetchAndUpload method * log for stopping bulk stats * call bulkUploader.start with the collectorSet object * call bulkUploader.start with the collectorSet object * roll back change for module scoped variable * oops I broke init * init and logging: if / elseif / elseif * remove unnecessary check/log * help log * remove redundant, use data.filter.map * use xpackInfo.onLicenseInfoChange not xpackMainPlugin.status.on('green') * help logging * fix unit test * remove handler that stops upload when connection is lost
2018-06-21 22:08:32 +02:00
collectorSet.register(getKibanaUsageCollector(server));
Stats API: implement the "kibana status" spec from the Monitoring data model for stats (#20577) * [Stats API] Set API field names per spec * fix jest tests * fix api integration test * trash the original metrics collector - constantly accumulating stats over time does not align with the existing behavior, which is to reset the stats to 0 whenever they are pulled * move some logic out of the collector types combiner into inline - change the signature of sourceKibana * Make a new stats collector for the API - to not clear the data when pulling via the api - fetching is a read-only thing * isolate data transforms for api data and upload data * no static methods * remove external in bytes * remove the _stats prefix for kibana and reporting * update jest test snapshot * fix collector_types_combiner test * fix usage api * add test suite todo comment * reduce some loc change * roll back mysterious change * reduce some more loc change * comment correction * reduce more loc change * whitespace * comment question * fix cluster_uuid * fix stats integration test * fix bulk uploader test, combineTypes is no longer external * very important comments about the current nature of stats represented and long-term goals * add stats api tests with/without authentication * fix more fields to match data model * fix more tests * fix jest test * remove TODO * remove sockets * use snake_case for api field names * restore accidental removal + copy/paste error * sourceKibana -> getKibanaInfoForStats * skip usage test on legacy endpoint * fix api tests * more comment * stop putting a field in that used to be omitted * fix the internal type to ID the usage data for bulk uploader * correct the kibana usage type value, which is shown as-is in the API * more fixes for the constants identifying collector types + test against duplicates * add a comment on a hack, and a whitespace fix
2018-07-19 01:37:04 +02:00
collectorSet.register(getSettingsCollector(server, kbnServer));
Separate bulk upload behavior from CollectorSet (#19691) * Separate bulk upload behavior from CollectorSet - takes out a lot of behavior from CollectorSet and moves it to a class called BulkUploader - simplifies kibana monitoring init by taking out the indirection that startCollectorSet / createCollectorSet had - removes start() method from CollectorSet and calls the collector objects' init() functions from CollectorSet.register() - removes cleanup method from collectorSet since that was doing work for bulk uploading * remove cleanup and fetchAfterInit methods * test for bulk_uploader class * improve test for collector_set * fix reporting * expose collectorSet if there actually is a collectorSet * comment for enclosed function * make collectorSet creation/expose unconditional, bulkUploader more conditional * fix collector_set tests * lifecycle events * stab at collectorSet error logging from the API call * clean up comments * clean up comments * fix BulkUploader mocha test * check kibanaCollectionEnabled config before registering bulk upload and the plugin status listeners * no singleton timer object * just log a warning if bulk uploader start called twice * normal quotes * check if bulk is enabled inside of the _fetchAndUpload method * log for stopping bulk stats * call bulkUploader.start with the collectorSet object * call bulkUploader.start with the collectorSet object * roll back change for module scoped variable * oops I broke init * init and logging: if / elseif / elseif * remove unnecessary check/log * help log * remove redundant, use data.filter.map * use xpackInfo.onLicenseInfoChange not xpackMainPlugin.status.on('green') * help logging * fix unit test * remove handler that stops upload when connection is lost
2018-06-21 22:08:32 +02:00
/*
* Instantiate and start the internal background task that calls collector
* fetch methods and uploads to the ES monitoring bulk endpoint
*/
const xpackMainPlugin = server.plugins.xpack_main;
xpackMainPlugin.status.once('green', async () => { // first time xpack_main turns green
/*
* End-user-facing services
*/
2018-04-20 21:13:37 +02:00
const uiEnabled = config.get('xpack.monitoring.ui.enabled');
if (uiEnabled) {
await instantiateClient(server); // Instantiate the dedicated ES client
await initMonitoringXpackInfo(server); // Route handlers depend on this for xpackInfo
await requireUIRoutes(server);
2018-04-20 21:13:37 +02:00
}
Separate bulk upload behavior from CollectorSet (#19691) * Separate bulk upload behavior from CollectorSet - takes out a lot of behavior from CollectorSet and moves it to a class called BulkUploader - simplifies kibana monitoring init by taking out the indirection that startCollectorSet / createCollectorSet had - removes start() method from CollectorSet and calls the collector objects' init() functions from CollectorSet.register() - removes cleanup method from collectorSet since that was doing work for bulk uploading * remove cleanup and fetchAfterInit methods * test for bulk_uploader class * improve test for collector_set * fix reporting * expose collectorSet if there actually is a collectorSet * comment for enclosed function * make collectorSet creation/expose unconditional, bulkUploader more conditional * fix collector_set tests * lifecycle events * stab at collectorSet error logging from the API call * clean up comments * clean up comments * fix BulkUploader mocha test * check kibanaCollectionEnabled config before registering bulk upload and the plugin status listeners * no singleton timer object * just log a warning if bulk uploader start called twice * normal quotes * check if bulk is enabled inside of the _fetchAndUpload method * log for stopping bulk stats * call bulkUploader.start with the collectorSet object * call bulkUploader.start with the collectorSet object * roll back change for module scoped variable * oops I broke init * init and logging: if / elseif / elseif * remove unnecessary check/log * help log * remove redundant, use data.filter.map * use xpackInfo.onLicenseInfoChange not xpackMainPlugin.status.on('green') * help logging * fix unit test * remove handler that stops upload when connection is lost
2018-06-21 22:08:32 +02:00
});
2018-04-20 21:13:37 +02:00
Stats API: implement the "kibana status" spec from the Monitoring data model for stats (#20577) * [Stats API] Set API field names per spec * fix jest tests * fix api integration test * trash the original metrics collector - constantly accumulating stats over time does not align with the existing behavior, which is to reset the stats to 0 whenever they are pulled * move some logic out of the collector types combiner into inline - change the signature of sourceKibana * Make a new stats collector for the API - to not clear the data when pulling via the api - fetching is a read-only thing * isolate data transforms for api data and upload data * no static methods * remove external in bytes * remove the _stats prefix for kibana and reporting * update jest test snapshot * fix collector_types_combiner test * fix usage api * add test suite todo comment * reduce some loc change * roll back mysterious change * reduce some more loc change * comment correction * reduce more loc change * whitespace * comment question * fix cluster_uuid * fix stats integration test * fix bulk uploader test, combineTypes is no longer external * very important comments about the current nature of stats represented and long-term goals * add stats api tests with/without authentication * fix more fields to match data model * fix more tests * fix jest test * remove TODO * remove sockets * use snake_case for api field names * restore accidental removal + copy/paste error * sourceKibana -> getKibanaInfoForStats * skip usage test on legacy endpoint * fix api tests * more comment * stop putting a field in that used to be omitted * fix the internal type to ID the usage data for bulk uploader * correct the kibana usage type value, which is shown as-is in the API * more fixes for the constants identifying collector types + test against duplicates * add a comment on a hack, and a whitespace fix
2018-07-19 01:37:04 +02:00
const bulkUploader = initBulkUploader(kbnServer, server);
Separate bulk upload behavior from CollectorSet (#19691) * Separate bulk upload behavior from CollectorSet - takes out a lot of behavior from CollectorSet and moves it to a class called BulkUploader - simplifies kibana monitoring init by taking out the indirection that startCollectorSet / createCollectorSet had - removes start() method from CollectorSet and calls the collector objects' init() functions from CollectorSet.register() - removes cleanup method from collectorSet since that was doing work for bulk uploading * remove cleanup and fetchAfterInit methods * test for bulk_uploader class * improve test for collector_set * fix reporting * expose collectorSet if there actually is a collectorSet * comment for enclosed function * make collectorSet creation/expose unconditional, bulkUploader more conditional * fix collector_set tests * lifecycle events * stab at collectorSet error logging from the API call * clean up comments * clean up comments * fix BulkUploader mocha test * check kibanaCollectionEnabled config before registering bulk upload and the plugin status listeners * no singleton timer object * just log a warning if bulk uploader start called twice * normal quotes * check if bulk is enabled inside of the _fetchAndUpload method * log for stopping bulk stats * call bulkUploader.start with the collectorSet object * call bulkUploader.start with the collectorSet object * roll back change for module scoped variable * oops I broke init * init and logging: if / elseif / elseif * remove unnecessary check/log * help log * remove redundant, use data.filter.map * use xpackInfo.onLicenseInfoChange not xpackMainPlugin.status.on('green') * help logging * fix unit test * remove handler that stops upload when connection is lost
2018-06-21 22:08:32 +02:00
const kibanaCollectionEnabled = config.get('xpack.monitoring.kibana.collection.enabled');
const { info: xpackMainInfo } = xpackMainPlugin;
2018-04-20 21:13:37 +02:00
Separate bulk upload behavior from CollectorSet (#19691) * Separate bulk upload behavior from CollectorSet - takes out a lot of behavior from CollectorSet and moves it to a class called BulkUploader - simplifies kibana monitoring init by taking out the indirection that startCollectorSet / createCollectorSet had - removes start() method from CollectorSet and calls the collector objects' init() functions from CollectorSet.register() - removes cleanup method from collectorSet since that was doing work for bulk uploading * remove cleanup and fetchAfterInit methods * test for bulk_uploader class * improve test for collector_set * fix reporting * expose collectorSet if there actually is a collectorSet * comment for enclosed function * make collectorSet creation/expose unconditional, bulkUploader more conditional * fix collector_set tests * lifecycle events * stab at collectorSet error logging from the API call * clean up comments * clean up comments * fix BulkUploader mocha test * check kibanaCollectionEnabled config before registering bulk upload and the plugin status listeners * no singleton timer object * just log a warning if bulk uploader start called twice * normal quotes * check if bulk is enabled inside of the _fetchAndUpload method * log for stopping bulk stats * call bulkUploader.start with the collectorSet object * call bulkUploader.start with the collectorSet object * roll back change for module scoped variable * oops I broke init * init and logging: if / elseif / elseif * remove unnecessary check/log * help log * remove redundant, use data.filter.map * use xpackInfo.onLicenseInfoChange not xpackMainPlugin.status.on('green') * help logging * fix unit test * remove handler that stops upload when connection is lost
2018-06-21 22:08:32 +02:00
if (kibanaCollectionEnabled) {
/*
* Bulk uploading of Kibana stats
*/
xpackMainInfo.onLicenseInfoChange(() => {
// use updated xpack license info to start/stop bulk upload
const mainMonitoring = xpackMainInfo.feature('monitoring');
const monitoringBulkEnabled = mainMonitoring && mainMonitoring.isAvailable() && mainMonitoring.isEnabled();
if (monitoringBulkEnabled) {
bulkUploader.start(collectorSet);
} else {
bulkUploader.handleNotEnabled();
}
});
} else if (!kibanaCollectionEnabled) {
server.log(
['info', LOGGING_TAG, KIBANA_MONITORING_LOGGING_TAG],
'Internal collection for Kibana monitoring is disabled per configuration.'
Separate bulk upload behavior from CollectorSet (#19691) * Separate bulk upload behavior from CollectorSet - takes out a lot of behavior from CollectorSet and moves it to a class called BulkUploader - simplifies kibana monitoring init by taking out the indirection that startCollectorSet / createCollectorSet had - removes start() method from CollectorSet and calls the collector objects' init() functions from CollectorSet.register() - removes cleanup method from collectorSet since that was doing work for bulk uploading * remove cleanup and fetchAfterInit methods * test for bulk_uploader class * improve test for collector_set * fix reporting * expose collectorSet if there actually is a collectorSet * comment for enclosed function * make collectorSet creation/expose unconditional, bulkUploader more conditional * fix collector_set tests * lifecycle events * stab at collectorSet error logging from the API call * clean up comments * clean up comments * fix BulkUploader mocha test * check kibanaCollectionEnabled config before registering bulk upload and the plugin status listeners * no singleton timer object * just log a warning if bulk uploader start called twice * normal quotes * check if bulk is enabled inside of the _fetchAndUpload method * log for stopping bulk stats * call bulkUploader.start with the collectorSet object * call bulkUploader.start with the collectorSet object * roll back change for module scoped variable * oops I broke init * init and logging: if / elseif / elseif * remove unnecessary check/log * help log * remove redundant, use data.filter.map * use xpackInfo.onLicenseInfoChange not xpackMainPlugin.status.on('green') * help logging * fix unit test * remove handler that stops upload when connection is lost
2018-06-21 22:08:32 +02:00
);
}
2018-04-20 21:13:37 +02:00
server.injectUiAppVars('monitoring', (server) => {
const config = server.config();
return {
maxBucketSize: config.get('xpack.monitoring.max_bucket_size'),
minIntervalSeconds: config.get('xpack.monitoring.min_interval_seconds'),
kbnIndex: config.get('kibana.index'),
esApiVersion: config.get('elasticsearch.apiVersion'),
esShardTimeout: config.get('elasticsearch.shardTimeout'),
showLicenseExpiration: config.get('xpack.monitoring.show_license_expiration'),
showCgroupMetricsElasticsearch: config.get('xpack.monitoring.ui.container.elasticsearch.enabled'),
showCgroupMetricsLogstash: config.get('xpack.monitoring.ui.container.logstash.enabled') // Note, not currently used, but see https://github.com/elastic/x-pack-kibana/issues/1559 part 2
};
});
};