Add more tutorials to add data UI (#21020)

* Golang
* Logstash
* Prometheus
* Zookeeper
This commit is contained in:
Nicolas Ruflin 2018-07-20 15:00:32 +02:00 committed by GitHub
parent f3fe9c6c83
commit 47e784c434
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 203 additions and 0 deletions

View file

@ -0,0 +1,50 @@
/*
* 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 golangMetricsSpecProvider() {
const moduleName = 'golang';
return {
id: moduleName + 'Metrics',
name: 'Golang metrics',
isBeta: true,
category: TUTORIAL_CATEGORY.METRICS,
shortDescription: 'Fetch internal metrics from a Golang app.',
longDescription: 'The `' + moduleName + '` Metricbeat module fetches internal metrics from a Golang app.' +
' [Learn more]({config.docs.beats.metricbeat}/metricbeat-module-' + moduleName + '.html).',
artifacts: {
dashboards: [
{
id: 'f2dc7320-f519-11e6-a3c9-9d1f7c42b045',
linkLabel: 'Golang metrics dashboard',
isOverview: true
}
],
exportedFields: {
documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-' + moduleName + '.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 logstashMetricsSpecProvider() {
const moduleName = 'logstash';
return {
id: moduleName + 'Metrics',
name: 'Logstash metrics',
isBeta: true,
category: TUTORIAL_CATEGORY.METRICS,
shortDescription: 'Fetch interal metrics from a Logstash server.',
longDescription: 'The `' + moduleName + '` Metricbeat module fetches internal metrics from a Logstash server.' +
' [Learn more]({config.docs.beats.metricbeat}/metricbeat-module-' + moduleName + '.html).',
euiIconType: 'logoLogstash',
artifacts: {
application: {
label: 'Discover',
path: '/app/kibana#/discover'
},
dashboards: [],
exportedFields: {
documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-' + moduleName + '.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 prometheusMetricsSpecProvider() {
const moduleName = 'prometheus';
return {
id: moduleName + 'Metrics',
name: 'Prometheus metrics',
isBeta: true,
category: TUTORIAL_CATEGORY.METRICS,
shortDescription: 'Fetch metrics from a Prometheus exporter.',
longDescription: 'The `' + moduleName + '` Metricbeat module fetches metrics from Prometheus endpoint.' +
' [Learn more]({config.docs.beats.metricbeat}/metricbeat-module-' + moduleName + '.html).',
artifacts: {
application: {
label: 'Discover',
path: '/app/kibana#/discover'
},
dashboards: [],
exportedFields: {
documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-' + moduleName + '.html'
}
},
completionTimeMinutes: 10,
onPrem: onPremInstructions(moduleName),
elasticCloud: cloudInstructions(moduleName),
onPremElasticCloud: onPremCloudInstructions(moduleName)
};
}

View file

@ -55,6 +55,10 @@ import { kibanaMetricsSpecProvider } from './kibana_metrics';
import { memcachedMetricsSpecProvider } from './memcached_metrics';
import { muninMetricsSpecProvider } from './munin_metrics';
import { windowsMetricsSpecProvider } from './windows_metrics';
import { golangMetricsSpecProvider } from './golang_metrics';
import { logstashMetricsSpecProvider } from './logstash_metrics';
import { prometheusMetricsSpecProvider } from './prometheus_metrics';
import { zookeeperMetricsSpecProvider } from './zookeeper_metrics';
export function registerTutorials(server) {
server.registerTutorial(systemLogsSpecProvider);
@ -95,4 +99,8 @@ export function registerTutorials(server) {
server.registerTutorial(memcachedMetricsSpecProvider);
server.registerTutorial(muninMetricsSpecProvider);
server.registerTutorial(windowsMetricsSpecProvider);
server.registerTutorial(golangMetricsSpecProvider);
server.registerTutorial(logstashMetricsSpecProvider);
server.registerTutorial(prometheusMetricsSpecProvider);
server.registerTutorial(zookeeperMetricsSpecProvider);
}

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 zookeeperMetricsSpecProvider() {
const moduleName = 'zookeeper';
return {
id: moduleName + 'Metrics',
name: 'Zookeeper metrics',
isBeta: true,
category: TUTORIAL_CATEGORY.METRICS,
shortDescription: 'Fetch interal metrics from a Zookeeper server.',
longDescription: 'The `' + moduleName + '` Metricbeat module fetches internal metrics from a Zookeeper server.' +
' [Learn more]({config.docs.beats.metricbeat}/metricbeat-module-' + moduleName + '.html).',
artifacts: {
application: {
label: 'Discover',
path: '/app/kibana#/discover'
},
dashboards: [],
exportedFields: {
documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-' + moduleName + '.html'
}
},
completionTimeMinutes: 10,
onPrem: onPremInstructions(moduleName),
elasticCloud: cloudInstructions(moduleName),
onPremElasticCloud: onPremCloudInstructions(moduleName)
};
}