Skip to content

Commit

Permalink
Add more tutorials to add data UI (#21020)
Browse files Browse the repository at this point in the history
* Golang
* Logstash
* Prometheus
* Zookeeper
  • Loading branch information
ruflin authored Jul 20, 2018
1 parent f3fe9c6 commit 47e784c
Show file tree
Hide file tree
Showing 5 changed files with 203 additions and 0 deletions.
50 changes: 50 additions & 0 deletions src/core_plugins/kibana/server/tutorials/golang_metrics/index.js
Original file line number Diff line number Diff line change
@@ -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)
};
}
49 changes: 49 additions & 0 deletions src/core_plugins/kibana/server/tutorials/logstash_metrics/index.js
Original file line number Diff line number Diff line change
@@ -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)
};
}
Original file line number Diff line number Diff line change
@@ -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)
};
}
8 changes: 8 additions & 0 deletions src/core_plugins/kibana/server/tutorials/register.js
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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);
}
Original file line number Diff line number Diff line change
@@ -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)
};
}

0 comments on commit 47e784c

Please sign in to comment.