diff --git a/src/core_plugins/kibana/public/home/tutorial_resources/traefik_logs/screenshot.png b/src/core_plugins/kibana/public/home/tutorial_resources/traefik_logs/screenshot.png new file mode 100644 index 0000000000000..c4149b9cd545e Binary files /dev/null and b/src/core_plugins/kibana/public/home/tutorial_resources/traefik_logs/screenshot.png differ diff --git a/src/core_plugins/kibana/server/tutorials/register.js b/src/core_plugins/kibana/server/tutorials/register.js index 5087cbaa96ba9..0b12d88b0e92c 100644 --- a/src/core_plugins/kibana/server/tutorials/register.js +++ b/src/core_plugins/kibana/server/tutorials/register.js @@ -41,6 +41,7 @@ import { dockerMetricsSpecProvider } from './docker_metrics'; import { kubernetesMetricsSpecProvider } from './kubernetes_metrics'; import { uwsgiMetricsSpecProvider } from './uwsgi_metrics'; import { netflowSpecProvider } from './netflow'; +import { traefikLogsSpecProvider } from './traefik_logs'; import { apmSpecProvider } from './apm'; import { cephMetricsSpecProvider } from './ceph_metrics'; import { aerospikeMetricsSpecProvider } from './aerospike_metrics'; @@ -80,6 +81,7 @@ export function registerTutorials(server) { server.registerTutorial(kubernetesMetricsSpecProvider); server.registerTutorial(uwsgiMetricsSpecProvider); server.registerTutorial(netflowSpecProvider); + server.registerTutorial(traefikLogsSpecProvider); server.registerTutorial(apmSpecProvider); server.registerTutorial(cephMetricsSpecProvider); server.registerTutorial(aerospikeMetricsSpecProvider); diff --git a/src/core_plugins/kibana/server/tutorials/traefik_logs/index.js b/src/core_plugins/kibana/server/tutorials/traefik_logs/index.js new file mode 100644 index 0000000000000..f3786d964b0f7 --- /dev/null +++ b/src/core_plugins/kibana/server/tutorials/traefik_logs/index.js @@ -0,0 +1,54 @@ +/* + * 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/filebeat_instructions'; + +export function traefikLogsSpecProvider() { + const moduleName = 'traefik'; + const geoipRequired = false; + const uaRequired = false; + const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS']; + return { + id: 'traefikLogs', + name: 'Traefik logs', + category: TUTORIAL_CATEGORY.LOGGING, + shortDescription: 'Collect and parse access logs created by the Traefik Proxy.', + longDescription: 'The `traefik` Filebeat module parses access logs created by Traefik.' + + ' [Learn more]({config.docs.beats.filebeat}/filebeat-module-traefik.html).', + //euiIconType: 'logoTraefik', + artifacts: { + dashboards: [ + { + id: 'Filebeat-Traefik-Dashboard', + linkLabel: 'Traefik logs dashboard', + isOverview: true + } + ], + exportedFields: { + documentationUrl: '{config.docs.beats.filebeat}/exported-fields-traefik.html' + } + }, + completionTimeMinutes: 10, + previewImagePath: '/plugins/kibana/home/tutorial_resources/traefik_logs/screenshot.png', + onPrem: onPremInstructions(moduleName, platforms, geoipRequired, uaRequired), + elasticCloud: cloudInstructions(moduleName, platforms), + onPremElasticCloud: onPremCloudInstructions(moduleName, platforms) + }; +}