Add tutorial for the Suricata module (#24373) (#24448)

Related to elastic/beats#8153.
This commit is contained in:
Tudor Golubenco 2018-10-24 14:49:05 +02:00 committed by GitHub
parent 12a1aefe2c
commit 450ae8e54a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 69 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

View file

@ -37,6 +37,7 @@ import { postgresqlLogsSpecProvider } from './postgresql_logs';
import { rabbitmqMetricsSpecProvider } from './rabbitmq_metrics';
import { redisLogsSpecProvider } from './redis_logs';
import { redisMetricsSpecProvider } from './redis_metrics';
import { suricataLogsSpecProvider } from './suricata_logs';
import { dockerMetricsSpecProvider } from './docker_metrics';
import { kubernetesMetricsSpecProvider } from './kubernetes_metrics';
import { uwsgiMetricsSpecProvider } from './uwsgi_metrics';
@ -83,6 +84,7 @@ export function registerTutorials(server) {
server.registerTutorial(rabbitmqMetricsSpecProvider);
server.registerTutorial(redisLogsSpecProvider);
server.registerTutorial(redisMetricsSpecProvider);
server.registerTutorial(suricataLogsSpecProvider);
server.registerTutorial(dockerMetricsSpecProvider);
server.registerTutorial(kubernetesMetricsSpecProvider);
server.registerTutorial(uwsgiMetricsSpecProvider);

View file

@ -0,0 +1,67 @@
/*
* 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 { i18n } from '@kbn/i18n';
import { TUTORIAL_CATEGORY } from '../../../common/tutorials/tutorial_category';
import { onPremInstructions, cloudInstructions, onPremCloudInstructions } from '../../../common/tutorials/filebeat_instructions';
export function suricataLogsSpecProvider(server, context) {
const moduleName = 'suricata';
const geoipRequired = false;
const uaRequired = false;
const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'];
return {
id: 'suricataLogs',
name: i18n.translate('kbn.server.tutorials.suricataLogs.nameTitle', {
defaultMessage: 'Suricata logs',
}),
category: TUTORIAL_CATEGORY.SECURITY,
shortDescription: i18n.translate('kbn.server.tutorials.suricataLogs.shortDescription', {
defaultMessage: 'Collect the result logs created by Suricata IDS/IPS/NSM.',
}),
longDescription: i18n.translate('kbn.server.tutorials.suricataLogs.longDescription', {
defaultMessage: 'The `suricata` Filebeat module collects the logs from the \
[Suricata Eve JSON output](https://suricata.readthedocs.io/en/latest/output/eve/eve-json-format.html). \
[Learn more]({learnMoreLink}).',
values: {
learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-suricata.html',
},
}),
//euiIconType: 'logoSuricata',
artifacts: {
dashboards: [
{
id: '69f5ae20-eb02-11e7-8f04-51231daa5b05',
linkLabel: i18n.translate('kbn.server.tutorials.suricataLogs.artifacts.dashboards.linkLabel', {
defaultMessage: 'Suricata logs dashboard',
}),
isOverview: true
}
],
exportedFields: {
documentationUrl: '{config.docs.beats.filebeat}/exported-fields-suricata.html'
}
},
completionTimeMinutes: 10,
previewImagePath: '/plugins/kibana/home/tutorial_resources/suricata_logs/screenshot.png',
onPrem: onPremInstructions(moduleName, platforms, geoipRequired, uaRequired, context),
elasticCloud: cloudInstructions(moduleName, platforms),
onPremElasticCloud: onPremCloudInstructions(moduleName, platforms)
};
}