Add beta modules to add Data UI (#20923)

The following modules are added with the beta label:

* aerospike
* couchbase
* dropwizard
* elasticsearch
* etcd
* haproxy
* kafka
* kibana
* memcached
* munin
* windows
This commit is contained in:
Nicolas Ruflin 2018-07-18 20:19:04 +02:00 committed by GitHub
parent 59b63c6a63
commit fecbd11fd6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 552 additions and 0 deletions

View file

@ -0,0 +1,48 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import { TUTORIAL_CATEGORY } from '../../../common/tutorials/tutorial_category';
import { onPremInstructions, cloudInstructions, onPremCloudInstructions } from '../../../common/tutorials/metricbeat_instructions';
export function aerospikeMetricsSpecProvider() {
const moduleName = 'aerospike';
return {
id: 'aerospikeMetrics',
name: 'Aerospike metrics',
isBeta: true,
category: TUTORIAL_CATEGORY.METRICS,
shortDescription: 'Fetch internal metrics from the Aerospike server.',
longDescription: 'The `aerospike` Metricbeat module fetches internal metrics from Aerospike.' +
' [Learn more]({config.docs.beats.metricbeat}/metricbeat-module-aerospike.html).',
artifacts: {
application: {
label: 'Discover',
path: '/app/kibana#/discover'
},
dashboards: [],
exportedFields: {
documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-aerospike.html'
}
},
completionTimeMinutes: 10,
onPrem: onPremInstructions(moduleName),
elasticCloud: cloudInstructions(moduleName),
onPremElasticCloud: onPremCloudInstructions(moduleName)
};
}

View file

@ -0,0 +1,48 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import { TUTORIAL_CATEGORY } from '../../../common/tutorials/tutorial_category';
import { onPremInstructions, cloudInstructions, onPremCloudInstructions } from '../../../common/tutorials/metricbeat_instructions';
export function couchbaseMetricsSpecProvider() {
const moduleName = 'couchbase';
return {
id: 'couchbaseMetrics',
name: 'Couchbase metrics',
isBeta: true,
category: TUTORIAL_CATEGORY.METRICS,
shortDescription: 'Fetch internal metrics from Couchbase.',
longDescription: 'The `couchbase` Metricbeat module fetches internal metrics from Couchbase.' +
' [Learn more]({config.docs.beats.metricbeat}/metricbeat-module-couchbase.html).',
artifacts: {
application: {
label: 'Discover',
path: '/app/kibana#/discover'
},
dashboards: [],
exportedFields: {
documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-couchbase.html'
}
},
completionTimeMinutes: 10,
onPrem: onPremInstructions(moduleName),
elasticCloud: cloudInstructions(moduleName),
onPremElasticCloud: onPremCloudInstructions(moduleName)
};
}

View file

@ -0,0 +1,48 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import { TUTORIAL_CATEGORY } from '../../../common/tutorials/tutorial_category';
import { onPremInstructions, cloudInstructions, onPremCloudInstructions } from '../../../common/tutorials/metricbeat_instructions';
export function dropwizardMetricsSpecProvider() {
const moduleName = 'dropwizard';
return {
id: 'dropwizardMetrics',
name: 'Dropwizard metrics',
isBeta: true,
category: TUTORIAL_CATEGORY.METRICS,
shortDescription: 'Fetch internal metrics from Dropwizard Java application.',
longDescription: 'The `dropwizard` Metricbeat module fetches internal metrics from Dropwizard Java Application.' +
' [Learn more]({config.docs.beats.metricbeat}/metricbeat-module-dropwizard.html).',
artifacts: {
application: {
label: 'Discover',
path: '/app/kibana#/discover'
},
dashboards: [],
exportedFields: {
documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-dropwizard.html'
}
},
completionTimeMinutes: 10,
onPrem: onPremInstructions(moduleName),
elasticCloud: cloudInstructions(moduleName),
onPremElasticCloud: onPremCloudInstructions(moduleName)
};
}

View file

@ -0,0 +1,49 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import { TUTORIAL_CATEGORY } from '../../../common/tutorials/tutorial_category';
import { onPremInstructions, cloudInstructions, onPremCloudInstructions } from '../../../common/tutorials/metricbeat_instructions';
export function elasticsearchMetricsSpecProvider() {
const moduleName = 'elasticsearch';
return {
id: 'elasticsearchMetrics',
name: 'Elasticsearch metrics',
isBeta: true,
category: TUTORIAL_CATEGORY.METRICS,
shortDescription: 'Fetch internal metrics from Elasticsearch.',
longDescription: 'The `elasticsearch` Metricbeat module fetches internal metrics from Elasticsearch.' +
' [Learn more]({config.docs.beats.metricbeat}/metricbeat-module-elasticsearch.html).',
euiIconType: 'logoElasticsearch',
artifacts: {
application: {
label: 'Discover',
path: '/app/kibana#/discover'
},
dashboards: [],
exportedFields: {
documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-elasticsearch.html'
}
},
completionTimeMinutes: 10,
onPrem: onPremInstructions(moduleName),
elasticCloud: cloudInstructions(moduleName),
onPremElasticCloud: onPremCloudInstructions(moduleName)
};
}

View file

@ -0,0 +1,48 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import { TUTORIAL_CATEGORY } from '../../../common/tutorials/tutorial_category';
import { onPremInstructions, cloudInstructions, onPremCloudInstructions } from '../../../common/tutorials/metricbeat_instructions';
export function etcdMetricsSpecProvider() {
const moduleName = 'etcd';
return {
id: 'etcdMetrics',
name: 'Etcd metrics',
isBeta: true,
category: TUTORIAL_CATEGORY.METRICS,
shortDescription: 'Fetch internal metrics from the Etcd server.',
longDescription: 'The `etcd` Metricbeat module fetches internal metrics from Etcd.' +
' [Learn more]({config.docs.beats.metricbeat}/metricbeat-module-etcd.html).',
artifacts: {
application: {
label: 'Discover',
path: '/app/kibana#/discover'
},
dashboards: [],
exportedFields: {
documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-etcd.html'
}
},
completionTimeMinutes: 10,
onPrem: onPremInstructions(moduleName),
elasticCloud: cloudInstructions(moduleName),
onPremElasticCloud: onPremCloudInstructions(moduleName)
};
}

View file

@ -0,0 +1,48 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import { TUTORIAL_CATEGORY } from '../../../common/tutorials/tutorial_category';
import { onPremInstructions, cloudInstructions, onPremCloudInstructions } from '../../../common/tutorials/metricbeat_instructions';
export function haproxyMetricsSpecProvider() {
const moduleName = 'haproxy';
return {
id: 'haproxyMetrics',
name: 'HAProxy metrics',
isBeta: true,
category: TUTORIAL_CATEGORY.METRICS,
shortDescription: 'Fetch internal metrics from the HAProxy server.',
longDescription: 'The `haproxy` Metricbeat module fetches internal metrics from HAProxy.' +
' [Learn more]({config.docs.beats.metricbeat}/metricbeat-module-haproxy.html).',
artifacts: {
application: {
label: 'Discover',
path: '/app/kibana#/discover'
},
dashboards: [],
exportedFields: {
documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-haproxy.html'
}
},
completionTimeMinutes: 10,
onPrem: onPremInstructions(moduleName),
elasticCloud: cloudInstructions(moduleName),
onPremElasticCloud: onPremCloudInstructions(moduleName)
};
}

View file

@ -0,0 +1,48 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import { TUTORIAL_CATEGORY } from '../../../common/tutorials/tutorial_category';
import { onPremInstructions, cloudInstructions, onPremCloudInstructions } from '../../../common/tutorials/metricbeat_instructions';
export function kafkaMetricsSpecProvider() {
const moduleName = 'kafka';
return {
id: 'kafkaMetrics',
name: 'Kafka metrics',
isBeta: true,
category: TUTORIAL_CATEGORY.METRICS,
shortDescription: 'Fetch internal metrics from the Kafka server.',
longDescription: 'The `kafka` Metricbeat module fetches internal metrics from Kafka.' +
' [Learn more]({config.docs.beats.metricbeat}/metricbeat-module-kafka.html).',
artifacts: {
application: {
label: 'Discover',
path: '/app/kibana#/discover'
},
dashboards: [],
exportedFields: {
documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-kafka.html'
}
},
completionTimeMinutes: 10,
onPrem: onPremInstructions(moduleName),
elasticCloud: cloudInstructions(moduleName),
onPremElasticCloud: onPremCloudInstructions(moduleName)
};
}

View file

@ -0,0 +1,49 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import { TUTORIAL_CATEGORY } from '../../../common/tutorials/tutorial_category';
import { onPremInstructions, cloudInstructions, onPremCloudInstructions } from '../../../common/tutorials/metricbeat_instructions';
export function kibanaMetricsSpecProvider() {
const moduleName = 'kibana';
return {
id: 'kibanaMetrics',
name: 'Kibana metrics',
isBeta: true,
category: TUTORIAL_CATEGORY.METRICS,
shortDescription: 'Fetch internal metrics from Kibana.',
longDescription: 'The `kibana` Metricbeat module fetches internal metrics from Kibana.' +
' [Learn more]({config.docs.beats.metricbeat}/metricbeat-module-kibana.html).',
euiIconType: 'logoKibana',
artifacts: {
application: {
label: 'Discover',
path: '/app/kibana#/discover'
},
dashboards: [],
exportedFields: {
documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-kibana.html'
}
},
completionTimeMinutes: 10,
onPrem: onPremInstructions(moduleName),
elasticCloud: cloudInstructions(moduleName),
onPremElasticCloud: onPremCloudInstructions(moduleName)
};
}

View file

@ -0,0 +1,48 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import { TUTORIAL_CATEGORY } from '../../../common/tutorials/tutorial_category';
import { onPremInstructions, cloudInstructions, onPremCloudInstructions } from '../../../common/tutorials/metricbeat_instructions';
export function memcachedMetricsSpecProvider() {
const moduleName = 'memcached';
return {
id: 'memcachedMetrics',
name: 'Memcached metrics',
isBeta: true,
category: TUTORIAL_CATEGORY.METRICS,
shortDescription: 'Fetch internal metrics from the Memcached server.',
longDescription: 'The `memcached` Metricbeat module fetches internal metrics from Memcached.' +
' [Learn more]({config.docs.beats.metricbeat}/metricbeat-module-memcached.html).',
artifacts: {
application: {
label: 'Discover',
path: '/app/kibana#/discover'
},
dashboards: [],
exportedFields: {
documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-memcached.html'
}
},
completionTimeMinutes: 10,
onPrem: onPremInstructions(moduleName),
elasticCloud: cloudInstructions(moduleName),
onPremElasticCloud: onPremCloudInstructions(moduleName)
};
}

View file

@ -0,0 +1,48 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import { TUTORIAL_CATEGORY } from '../../../common/tutorials/tutorial_category';
import { onPremInstructions, cloudInstructions, onPremCloudInstructions } from '../../../common/tutorials/metricbeat_instructions';
export function muninMetricsSpecProvider() {
const moduleName = 'munin';
return {
id: 'muninMetrics',
name: 'Munin metrics',
isBeta: true,
category: TUTORIAL_CATEGORY.METRICS,
shortDescription: 'Fetch internal metrics from the Munin server.',
longDescription: 'The `munin` Metricbeat module fetches internal metrics from Munin.' +
' [Learn more]({config.docs.beats.metricbeat}/metricbeat-module-munin.html).',
artifacts: {
application: {
label: 'Discover',
path: '/app/kibana#/discover'
},
dashboards: [],
exportedFields: {
documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-munin.html'
}
},
completionTimeMinutes: 10,
onPrem: onPremInstructions(moduleName),
elasticCloud: cloudInstructions(moduleName),
onPremElasticCloud: onPremCloudInstructions(moduleName)
};
}

View file

@ -36,6 +36,17 @@ import { kubernetesMetricsSpecProvider } from './kubernetes_metrics';
import { netflowSpecProvider } from './netflow';
import { apmSpecProvider } from './apm';
import { cephMetricsSpecProvider } from './ceph_metrics';
import { aerospikeMetricsSpecProvider } from './aerospike_metrics';
import { couchbaseMetricsSpecProvider } from './couchbase_metrics';
import { dropwizardMetricsSpecProvider } from './dropwizard_metrics';
import { elasticsearchMetricsSpecProvider } from './elasticsearch_metrics';
import { etcdMetricsSpecProvider } from './etcd_metrics';
import { haproxyMetricsSpecProvider } from './haproxy_metrics';
import { kafkaMetricsSpecProvider } from './kafka_metrics';
import { kibanaMetricsSpecProvider } from './kibana_metrics';
import { memcachedMetricsSpecProvider } from './memcached_metrics';
import { muninMetricsSpecProvider } from './munin_metrics';
import { windowsMetricsSpecProvider } from './windows_metrics';
export function registerTutorials(server) {
server.registerTutorial(systemLogsSpecProvider);
@ -57,4 +68,15 @@ export function registerTutorials(server) {
server.registerTutorial(netflowSpecProvider);
server.registerTutorial(apmSpecProvider);
server.registerTutorial(cephMetricsSpecProvider);
server.registerTutorial(aerospikeMetricsSpecProvider);
server.registerTutorial(couchbaseMetricsSpecProvider);
server.registerTutorial(dropwizardMetricsSpecProvider);
server.registerTutorial(elasticsearchMetricsSpecProvider);
server.registerTutorial(etcdMetricsSpecProvider);
server.registerTutorial(haproxyMetricsSpecProvider);
server.registerTutorial(kafkaMetricsSpecProvider);
server.registerTutorial(kibanaMetricsSpecProvider);
server.registerTutorial(memcachedMetricsSpecProvider);
server.registerTutorial(muninMetricsSpecProvider);
server.registerTutorial(windowsMetricsSpecProvider);
}

View file

@ -0,0 +1,48 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import { TUTORIAL_CATEGORY } from '../../../common/tutorials/tutorial_category';
import { onPremInstructions, cloudInstructions, onPremCloudInstructions } from '../../../common/tutorials/metricbeat_instructions';
export function windowsMetricsSpecProvider() {
const moduleName = 'windows';
return {
id: 'windowsMetrics',
name: 'Windows metrics',
isBeta: true,
category: TUTORIAL_CATEGORY.METRICS,
shortDescription: 'Fetch internal metrics from Windows.',
longDescription: 'The `windows` Metricbeat module fetches internal metrics from Windows.' +
' [Learn more]({config.docs.beats.metricbeat}/metricbeat-module-windows.html).',
artifacts: {
application: {
label: 'Discover',
path: '/app/kibana#/discover'
},
dashboards: [],
exportedFields: {
documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-windows.html'
}
},
completionTimeMinutes: 10,
onPrem: onPremInstructions(moduleName),
elasticCloud: cloudInstructions(moduleName),
onPremElasticCloud: onPremCloudInstructions(moduleName)
};
}