diff --git a/src/plugins/home/public/assets/tutorials/logos/activemq.svg b/src/plugins/home/public/assets/tutorials/logos/activemq.svg deleted file mode 100644 index 20694ba6e62c..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/activemq.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/plugins/home/public/assets/tutorials/logos/barracuda.svg b/src/plugins/home/public/assets/tutorials/logos/barracuda.svg deleted file mode 100644 index 555cdd6f8a32..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/barracuda.svg +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - diff --git a/src/plugins/home/public/assets/tutorials/logos/checkpoint.svg b/src/plugins/home/public/assets/tutorials/logos/checkpoint.svg deleted file mode 100644 index e71866e78c29..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/checkpoint.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/cisco.svg b/src/plugins/home/public/assets/tutorials/logos/cisco.svg deleted file mode 100644 index 20ebebf19741..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/cisco.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/cockroachdb.svg b/src/plugins/home/public/assets/tutorials/logos/cockroachdb.svg deleted file mode 100644 index 72f0958f5282..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/cockroachdb.svg +++ /dev/null @@ -1,666 +0,0 @@ - - - -image/svg+xml - - - - - - - - - - - - - - - - - - - - diff --git a/src/plugins/home/public/assets/tutorials/logos/consul.svg b/src/plugins/home/public/assets/tutorials/logos/consul.svg deleted file mode 100644 index 28bbadd24c8a..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/consul.svg +++ /dev/null @@ -1 +0,0 @@ -Asset 1 \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/coredns.svg b/src/plugins/home/public/assets/tutorials/logos/coredns.svg deleted file mode 100644 index 863a81e0f40e..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/coredns.svg +++ /dev/null @@ -1 +0,0 @@ -CoreDNS_Colour_Icon diff --git a/src/plugins/home/public/assets/tutorials/logos/couchdb.svg b/src/plugins/home/public/assets/tutorials/logos/couchdb.svg deleted file mode 100644 index 2512c2eb2a01..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/couchdb.svg +++ /dev/null @@ -1,86 +0,0 @@ - - - -image/svg+xml \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/crowdstrike.svg b/src/plugins/home/public/assets/tutorials/logos/crowdstrike.svg deleted file mode 100644 index 1b2195a2244f..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/crowdstrike.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/cylance.svg b/src/plugins/home/public/assets/tutorials/logos/cylance.svg deleted file mode 100644 index ccd6004d19e7..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/cylance.svg +++ /dev/null @@ -1,82 +0,0 @@ - - - - -Cylance_BB_Logo_RGB_Vert_Black - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/plugins/home/public/assets/tutorials/logos/envoyproxy.svg b/src/plugins/home/public/assets/tutorials/logos/envoyproxy.svg deleted file mode 100644 index 45c995b19603..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/envoyproxy.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/f5.svg b/src/plugins/home/public/assets/tutorials/logos/f5.svg deleted file mode 100644 index d985bde96291..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/f5.svg +++ /dev/null @@ -1 +0,0 @@ -Asset 1 \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/fortinet.svg b/src/plugins/home/public/assets/tutorials/logos/fortinet.svg deleted file mode 100644 index d6a8448f320b..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/fortinet.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/src/plugins/home/public/assets/tutorials/logos/ibmmq.svg b/src/plugins/home/public/assets/tutorials/logos/ibmmq.svg deleted file mode 100644 index e474d93359be..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/ibmmq.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/icinga.svg b/src/plugins/home/public/assets/tutorials/logos/icinga.svg deleted file mode 100644 index 88161d61ca75..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/icinga.svg +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/plugins/home/public/assets/tutorials/logos/iis.svg b/src/plugins/home/public/assets/tutorials/logos/iis.svg deleted file mode 100644 index 99964448d33c..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/iis.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/infoblox.svg b/src/plugins/home/public/assets/tutorials/logos/infoblox.svg deleted file mode 100644 index 57b4d23b1681..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/infoblox.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/plugins/home/public/assets/tutorials/logos/juniper.svg b/src/plugins/home/public/assets/tutorials/logos/juniper.svg deleted file mode 100644 index 8802414a5aaf..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/juniper.svg +++ /dev/null @@ -1,72 +0,0 @@ - -image/svg+xml \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/linux.svg b/src/plugins/home/public/assets/tutorials/logos/linux.svg deleted file mode 100644 index c0a92e0c0f40..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/linux.svg +++ /dev/null @@ -1,1532 +0,0 @@ - - - - Tux - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - Tux - 20 June 2012 - - - Garrett LeSage - - - - - - Larry Ewing, the creator of the original Tux graphic - - - - - tux - Linux - penguin - logo - - - - - Larry Ewing, Garrett LeSage - - - https://github.com/garrett/Tux - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/plugins/home/public/assets/tutorials/logos/microsoft.svg b/src/plugins/home/public/assets/tutorials/logos/microsoft.svg deleted file mode 100644 index 5334aa7ca686..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/microsoft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/misp.svg b/src/plugins/home/public/assets/tutorials/logos/misp.svg deleted file mode 100644 index 1cc61eda0b60..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/misp.svg +++ /dev/null @@ -1,167 +0,0 @@ - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - Threat Sharing - - - - - - - - - - - - diff --git a/src/plugins/home/public/assets/tutorials/logos/mssql.svg b/src/plugins/home/public/assets/tutorials/logos/mssql.svg deleted file mode 100644 index 738507c5809c..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/mssql.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/munin.svg b/src/plugins/home/public/assets/tutorials/logos/munin.svg deleted file mode 100644 index b35a39498c9e..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/munin.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/nats.svg b/src/plugins/home/public/assets/tutorials/logos/nats.svg deleted file mode 100644 index 5a1d6e9a52f1..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/nats.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/netscout.svg b/src/plugins/home/public/assets/tutorials/logos/netscout.svg deleted file mode 100644 index cbd25cd92594..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/netscout.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/src/plugins/home/public/assets/tutorials/logos/o365.svg b/src/plugins/home/public/assets/tutorials/logos/o365.svg deleted file mode 100644 index 3763f267ffc7..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/o365.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - logo-integrations-Desktop HD Copy 2 - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/okta.svg b/src/plugins/home/public/assets/tutorials/logos/okta.svg deleted file mode 100644 index d806cb7dc645..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/okta.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/openmetrics.svg b/src/plugins/home/public/assets/tutorials/logos/openmetrics.svg deleted file mode 100644 index feccb88a3f34..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/openmetrics.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/oracle.svg b/src/plugins/home/public/assets/tutorials/logos/oracle.svg deleted file mode 100644 index 78db57f91481..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/oracle.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/osquery.svg b/src/plugins/home/public/assets/tutorials/logos/osquery.svg deleted file mode 100755 index c2bf733d3593..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/osquery.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/paloalto.svg b/src/plugins/home/public/assets/tutorials/logos/paloalto.svg deleted file mode 100644 index 8c8e71ae0d9f..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/paloalto.svg +++ /dev/null @@ -1,29 +0,0 @@ - - - logo-integrations-Desktop HD - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/rabbitmq.svg b/src/plugins/home/public/assets/tutorials/logos/rabbitmq.svg deleted file mode 100644 index dabd2a5744cb..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/rabbitmq.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/plugins/home/public/assets/tutorials/logos/radware.svg b/src/plugins/home/public/assets/tutorials/logos/radware.svg deleted file mode 100644 index 6252efef7762..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/radware.svg +++ /dev/null @@ -1,66 +0,0 @@ - -image/svg+xml \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/sonicwall.svg b/src/plugins/home/public/assets/tutorials/logos/sonicwall.svg deleted file mode 100644 index fb1aded68a29..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/sonicwall.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/sophos.svg b/src/plugins/home/public/assets/tutorials/logos/sophos.svg deleted file mode 100644 index 1f2cfc3a7f03..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/sophos.svg +++ /dev/null @@ -1,69 +0,0 @@ - - - -image/svg+xml \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/stan.svg b/src/plugins/home/public/assets/tutorials/logos/stan.svg deleted file mode 100644 index 5a1d6e9a52f1..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/stan.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/statsd.svg b/src/plugins/home/public/assets/tutorials/logos/statsd.svg deleted file mode 100644 index f4458439fceb..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/statsd.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - diff --git a/src/plugins/home/public/assets/tutorials/logos/suricata.svg b/src/plugins/home/public/assets/tutorials/logos/suricata.svg deleted file mode 100644 index 06e627a7e4ba..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/suricata.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/system.svg b/src/plugins/home/public/assets/tutorials/logos/system.svg deleted file mode 100644 index 0aba96275e24..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/system.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/tomcat.svg b/src/plugins/home/public/assets/tutorials/logos/tomcat.svg deleted file mode 100644 index 26ad7b6d33ad..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/tomcat.svg +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/plugins/home/public/assets/tutorials/logos/traefik.svg b/src/plugins/home/public/assets/tutorials/logos/traefik.svg deleted file mode 100644 index 8ee3448f5626..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/traefik.svg +++ /dev/null @@ -1,342 +0,0 @@ - - - -image/svg+xml \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/ubiquiti.svg b/src/plugins/home/public/assets/tutorials/logos/ubiquiti.svg deleted file mode 100644 index 99a911e32863..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/ubiquiti.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/uwsgi.svg b/src/plugins/home/public/assets/tutorials/logos/uwsgi.svg deleted file mode 100644 index 43818ab211ee..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/uwsgi.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/vsphere.svg b/src/plugins/home/public/assets/tutorials/logos/vsphere.svg deleted file mode 100644 index 999fabc613c4..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/vsphere.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/zeek.svg b/src/plugins/home/public/assets/tutorials/logos/zeek.svg deleted file mode 100644 index 0e346f98c723..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/zeek.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/zookeeper.svg b/src/plugins/home/public/assets/tutorials/logos/zookeeper.svg deleted file mode 100644 index 80db65f670d1..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/zookeeper.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/plugins/home/public/assets/tutorials/logos/zscaler.svg b/src/plugins/home/public/assets/tutorials/logos/zscaler.svg deleted file mode 100644 index b8a21a2fa6ee..000000000000 --- a/src/plugins/home/public/assets/tutorials/logos/zscaler.svg +++ /dev/null @@ -1 +0,0 @@ -Zscaler-Logo-TM-Blue-RGB-May2019 \ No newline at end of file diff --git a/src/plugins/home/server/services/tutorials/tutorials_registry.ts b/src/plugins/home/server/services/tutorials/tutorials_registry.ts index 39c14060e30a..11bb460b9012 100644 --- a/src/plugins/home/server/services/tutorials/tutorials_registry.ts +++ b/src/plugins/home/server/services/tutorials/tutorials_registry.ts @@ -36,7 +36,6 @@ import { ScopedTutorialContextFactory, } from './lib/tutorials_registry_types'; import { tutorialSchema } from './lib/tutorial_schema'; -import { builtInTutorials } from '../../tutorials/register'; export class TutorialsRegistry { private tutorialProviders: TutorialProvider[] = []; // pre-register all the tutorials we know we want in here diff --git a/src/plugins/home/server/tutorials/activemq_logs/index.ts b/src/plugins/home/server/tutorials/activemq_logs/index.ts deleted file mode 100644 index 151ea6d5180c..000000000000 --- a/src/plugins/home/server/tutorials/activemq_logs/index.ts +++ /dev/null @@ -1,77 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function activemqLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'activemq'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'activemqLogs', - name: i18n.translate('home.tutorials.activemqLogs.nameTitle', { - defaultMessage: 'ActiveMQ logs', - }), - moduleName, - category: TutorialsCategory.LOGGING, - shortDescription: i18n.translate('home.tutorials.activemqLogs.shortDescription', { - defaultMessage: 'Collect ActiveMQ logs with Filebeat.', - }), - longDescription: i18n.translate('home.tutorials.activemqLogs.longDescription', { - defaultMessage: 'Collect ActiveMQ logs with Filebeat. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-activemq.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/activemq.svg', - artifacts: { - dashboards: [ - { - id: 'ffe86390-145f-11ea-8fd8-030a13064883', - linkLabel: i18n.translate('home.tutorials.activemqLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'ActiveMQ Audit Events', - }), - isOverview: false, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-activemq.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/activemq_metrics/index.ts b/src/plugins/home/server/tutorials/activemq_metrics/index.ts deleted file mode 100644 index bf0551b9594b..000000000000 --- a/src/plugins/home/server/tutorials/activemq_metrics/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialsCategory, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function activemqMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'activemq'; - return { - id: 'activemqMetrics', - name: i18n.translate('home.tutorials.activemqMetrics.nameTitle', { - defaultMessage: 'ActiveMQ metrics', - }), - moduleName, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.activemqMetrics.shortDescription', { - defaultMessage: 'Fetch monitoring metrics from ActiveMQ instances.', - }), - longDescription: i18n.translate('home.tutorials.activemqMetrics.longDescription', { - defaultMessage: - 'The `activemq` Metricbeat module fetches monitoring metrics from ActiveMQ instances \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-activemq.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/activemq.svg', - isBeta: true, - artifacts: { - application: { - label: i18n.translate('home.tutorials.activemqMetrics.artifacts.application.label', { - defaultMessage: 'Discover', - }), - path: '/app/discover#/', - }, - dashboards: [], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-activemq.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/aerospike_metrics/index.ts b/src/plugins/home/server/tutorials/aerospike_metrics/index.ts deleted file mode 100644 index bad23346c7d6..000000000000 --- a/src/plugins/home/server/tutorials/aerospike_metrics/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialsCategory, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function aerospikeMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'aerospike'; - return { - id: 'aerospikeMetrics', - name: i18n.translate('home.tutorials.aerospikeMetrics.nameTitle', { - defaultMessage: 'Aerospike metrics', - }), - moduleName, - isBeta: false, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.aerospikeMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from the Aerospike server.', - }), - longDescription: i18n.translate('home.tutorials.aerospikeMetrics.longDescription', { - defaultMessage: - 'The `aerospike` Metricbeat module fetches internal metrics from Aerospike. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-aerospike.html', - }, - }), - euiIconType: 'logoAerospike', - artifacts: { - application: { - label: i18n.translate('home.tutorials.aerospikeMetrics.artifacts.application.label', { - defaultMessage: 'Discover', - }), - path: '/app/discover#/', - }, - dashboards: [], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-aerospike.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/apache_logs/index.ts b/src/plugins/home/server/tutorials/apache_logs/index.ts deleted file mode 100644 index b9e6f435ff61..000000000000 --- a/src/plugins/home/server/tutorials/apache_logs/index.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function apacheLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'apache'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'apacheLogs', - name: i18n.translate('home.tutorials.apacheLogs.nameTitle', { - defaultMessage: 'Apache logs', - }), - moduleName, - category: TutorialsCategory.LOGGING, - shortDescription: i18n.translate('home.tutorials.apacheLogs.shortDescription', { - defaultMessage: 'Collect and parse access and error logs created by the Apache HTTP server.', - }), - longDescription: i18n.translate('home.tutorials.apacheLogs.longDescription', { - defaultMessage: - 'The apache Filebeat module parses access and error logs created by the Apache HTTP server. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-apache.html', - }, - }), - euiIconType: 'logoApache', - artifacts: { - dashboards: [ - { - id: 'Filebeat-Apache-Dashboard-ecs', - linkLabel: i18n.translate('home.tutorials.apacheLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Apache logs dashboard', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-apache.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/apache_metrics/index.ts b/src/plugins/home/server/tutorials/apache_metrics/index.ts deleted file mode 100644 index c384777debb9..000000000000 --- a/src/plugins/home/server/tutorials/apache_metrics/index.ts +++ /dev/null @@ -1,77 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function apacheMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'apache'; - return { - id: 'apacheMetrics', - name: i18n.translate('home.tutorials.apacheMetrics.nameTitle', { - defaultMessage: 'Apache metrics', - }), - moduleName, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.apacheMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from the Apache 2 HTTP server.', - }), - longDescription: i18n.translate('home.tutorials.apacheMetrics.longDescription', { - defaultMessage: - 'The `apache` Metricbeat module fetches internal metrics from the Apache 2 HTTP server. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-apache.html', - }, - }), - euiIconType: 'logoApache', - artifacts: { - dashboards: [ - { - id: 'Metricbeat-Apache-HTTPD-server-status-ecs', - linkLabel: i18n.translate('home.tutorials.apacheMetrics.artifacts.dashboards.linkLabel', { - defaultMessage: 'Apache metrics dashboard', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-apache.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/auditbeat/index.ts b/src/plugins/home/server/tutorials/auditbeat/index.ts deleted file mode 100644 index bc52bc14ece6..000000000000 --- a/src/plugins/home/server/tutorials/auditbeat/index.ts +++ /dev/null @@ -1,77 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/auditbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function auditbeatSpecProvider(context: TutorialContext): TutorialSchema { - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - const moduleName = 'auditbeat'; - return { - id: 'auditbeat', - name: i18n.translate('home.tutorials.auditbeat.nameTitle', { - defaultMessage: 'Auditbeat', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.auditbeat.shortDescription', { - defaultMessage: 'Collect audit data from your hosts.', - }), - longDescription: i18n.translate('home.tutorials.auditbeat.longDescription', { - defaultMessage: - 'Use Auditbeat to collect auditing data from your hosts. These include \ -processes, users, logins, sockets information, file accesses, and more. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.auditbeat}/auditbeat-overview.html', - }, - }), - euiIconType: 'securityAnalyticsApp', - artifacts: { - dashboards: [], - application: { - path: '/app/security', - label: i18n.translate('home.tutorials.auditbeat.artifacts.dashboards.linkLabel', { - defaultMessage: 'Security App', - }), - }, - exportedFields: { - documentationUrl: '{config.docs.beats.auditbeat}/exported-fields.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/auditd_logs/index.ts b/src/plugins/home/server/tutorials/auditd_logs/index.ts deleted file mode 100644 index d262aee0106f..000000000000 --- a/src/plugins/home/server/tutorials/auditd_logs/index.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function auditdLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'auditd'; - const platforms = ['DEB', 'RPM'] as const; - return { - id: 'auditdLogs', - name: i18n.translate('home.tutorials.auditdLogs.nameTitle', { - defaultMessage: 'Auditd logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.auditdLogs.shortDescription', { - defaultMessage: 'Collect logs from the Linux auditd daemon.', - }), - longDescription: i18n.translate('home.tutorials.auditdLogs.longDescription', { - defaultMessage: - 'The module collects and parses logs from the audit daemon ( `auditd`). \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-auditd.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/linux.svg', - artifacts: { - dashboards: [ - { - id: 'dfbb49f0-0a0f-11e7-8a62-2d05eaaac5cb-ecs', - linkLabel: i18n.translate('home.tutorials.auditdLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Audit Events', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-auditd.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/aws_logs/index.ts b/src/plugins/home/server/tutorials/aws_logs/index.ts deleted file mode 100644 index 2d987bf98290..000000000000 --- a/src/plugins/home/server/tutorials/aws_logs/index.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function awsLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'aws'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'awsLogs', - name: i18n.translate('home.tutorials.awsLogs.nameTitle', { - defaultMessage: 'AWS S3 based logs', - }), - moduleName, - category: TutorialsCategory.LOGGING, - shortDescription: i18n.translate('home.tutorials.awsLogs.shortDescription', { - defaultMessage: 'Collect AWS logs from S3 bucket with Filebeat.', - }), - longDescription: i18n.translate('home.tutorials.awsLogs.longDescription', { - defaultMessage: - 'Collect AWS logs by exporting them to an S3 bucket which is configured with SQS notification. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-aws.html', - }, - }), - euiIconType: 'logoAWS', - artifacts: { - dashboards: [ - { - id: '4746e000-bacd-11e9-9f70-1f7bda85a5eb', - linkLabel: i18n.translate('home.tutorials.awsLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'AWS S3 server access log dashboard', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-aws.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/aws_metrics/index.ts b/src/plugins/home/server/tutorials/aws_metrics/index.ts deleted file mode 100644 index f239f224eb5a..000000000000 --- a/src/plugins/home/server/tutorials/aws_metrics/index.ts +++ /dev/null @@ -1,79 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function awsMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'aws'; - return { - id: 'awsMetrics', - name: i18n.translate('home.tutorials.awsMetrics.nameTitle', { - defaultMessage: 'AWS metrics', - }), - moduleName, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.awsMetrics.shortDescription', { - defaultMessage: - 'Fetch monitoring metrics for EC2 instances from the AWS APIs and Cloudwatch.', - }), - longDescription: i18n.translate('home.tutorials.awsMetrics.longDescription', { - defaultMessage: - 'The `aws` Metricbeat module fetches monitoring metrics from the AWS APIs and Cloudwatch. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-aws.html', - }, - }), - euiIconType: 'logoAWS', - isBeta: false, - artifacts: { - dashboards: [ - { - id: 'c5846400-f7fb-11e8-af03-c999c9dea608-ecs', - linkLabel: i18n.translate('home.tutorials.awsMetrics.artifacts.dashboards.linkLabel', { - defaultMessage: 'AWS metrics dashboard', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-aws.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/azure_logs/index.ts b/src/plugins/home/server/tutorials/azure_logs/index.ts deleted file mode 100644 index 08d089aa6422..000000000000 --- a/src/plugins/home/server/tutorials/azure_logs/index.ts +++ /dev/null @@ -1,79 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function azureLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'azure'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'azureLogs', - name: i18n.translate('home.tutorials.azureLogs.nameTitle', { - defaultMessage: 'Azure logs', - }), - moduleName, - isBeta: true, - category: TutorialsCategory.LOGGING, - shortDescription: i18n.translate('home.tutorials.azureLogs.shortDescription', { - defaultMessage: 'Collects Azure activity and audit related logs.', - }), - longDescription: i18n.translate('home.tutorials.azureLogs.longDescription', { - defaultMessage: - 'The `azure` Filebeat module collects Azure activity and audit related logs. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-azure.html', - }, - }), - euiIconType: 'logoAzure', - artifacts: { - dashboards: [ - { - id: '41e84340-ec20-11e9-90ec-112a988266d5', - linkLabel: i18n.translate('home.tutorials.azureLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Azure logs dashboard', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-azure.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/azure_metrics/index.ts b/src/plugins/home/server/tutorials/azure_metrics/index.ts deleted file mode 100644 index b93f697a331a..000000000000 --- a/src/plugins/home/server/tutorials/azure_metrics/index.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function azureMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'azure'; - return { - id: 'azureMetrics', - name: i18n.translate('home.tutorials.azureMetrics.nameTitle', { - defaultMessage: 'Azure metrics', - }), - moduleName, - isBeta: false, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.azureMetrics.shortDescription', { - defaultMessage: 'Fetch Azure Monitor metrics.', - }), - longDescription: i18n.translate('home.tutorials.azureMetrics.longDescription', { - defaultMessage: - 'The `azure` Metricbeat module fetches Azure Monitor metrics. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-azure.html', - }, - }), - euiIconType: 'logoAzure', - artifacts: { - dashboards: [ - { - id: 'eb3f05f0-ea9a-11e9-90ec-112a988266d5', - linkLabel: i18n.translate('home.tutorials.azureMetrics.artifacts.dashboards.linkLabel', { - defaultMessage: 'Azure metrics dashboard', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-azure.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/barracuda_logs/index.ts b/src/plugins/home/server/tutorials/barracuda_logs/index.ts deleted file mode 100644 index 5abdc41023ce..000000000000 --- a/src/plugins/home/server/tutorials/barracuda_logs/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function barracudaLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'barracuda'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'barracudaLogs', - name: i18n.translate('home.tutorials.barracudaLogs.nameTitle', { - defaultMessage: 'Barracuda logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.barracudaLogs.shortDescription', { - defaultMessage: 'Collect Barracuda Web Application Firewall logs over syslog or from a file.', - }), - longDescription: i18n.translate('home.tutorials.barracudaLogs.longDescription', { - defaultMessage: - 'This is a module for receiving Barracuda Web Application Firewall logs over Syslog or a file. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-barracuda.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/barracuda.svg', - artifacts: { - dashboards: [], - application: { - path: '/app/security', - label: i18n.translate('home.tutorials.barracudaLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Security App', - }), - }, - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-barracuda.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/bluecoat_logs/index.ts b/src/plugins/home/server/tutorials/bluecoat_logs/index.ts deleted file mode 100644 index 44e2bcc8a759..000000000000 --- a/src/plugins/home/server/tutorials/bluecoat_logs/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function bluecoatLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'bluecoat'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'bluecoatLogs', - name: i18n.translate('home.tutorials.bluecoatLogs.nameTitle', { - defaultMessage: 'Bluecoat logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.bluecoatLogs.shortDescription', { - defaultMessage: 'Collect Blue Coat Director logs over syslog or from a file.', - }), - longDescription: i18n.translate('home.tutorials.bluecoatLogs.longDescription', { - defaultMessage: - 'This is a module for receiving Blue Coat Director logs over Syslog or a file. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-bluecoat.html', - }, - }), - euiIconType: 'logoLogging', - artifacts: { - dashboards: [], - application: { - path: '/app/security', - label: i18n.translate('home.tutorials.bluecoatLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Security App', - }), - }, - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-bluecoat.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/cef_logs/index.ts b/src/plugins/home/server/tutorials/cef_logs/index.ts deleted file mode 100644 index 4972b3a5ccb2..000000000000 --- a/src/plugins/home/server/tutorials/cef_logs/index.ts +++ /dev/null @@ -1,83 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function cefLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'cef'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'cefLogs', - name: i18n.translate('home.tutorials.cefLogs.nameTitle', { - defaultMessage: 'CEF logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.cefLogs.shortDescription', { - defaultMessage: 'Collect Common Event Format (CEF) log data over syslog.', - }), - longDescription: i18n.translate('home.tutorials.cefLogs.longDescription', { - defaultMessage: - 'This is a module for receiving Common Event Format (CEF) data over \ - Syslog. When messages are received over the syslog protocol the syslog \ - input will parse the header and set the timestamp value. Then the \ - processor is applied to parse the CEF encoded data. The decoded data \ - is written into a `cef` object field. Lastly any OpenSearch Common Schema \ - (OCS) fields that can be populated with the CEF data are populated. \ - [Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-cef.html', - }, - }), - euiIconType: 'logoLogging', - artifacts: { - dashboards: [ - { - id: 'dd0bc9af-2e89-4150-9b42-62517ea56b71', - linkLabel: i18n.translate('home.tutorials.cefLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'CEF Network Overview Dashboard', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-cef.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/ceph_metrics/index.ts b/src/plugins/home/server/tutorials/ceph_metrics/index.ts deleted file mode 100644 index c23e03196c2c..000000000000 --- a/src/plugins/home/server/tutorials/ceph_metrics/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function cephMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'ceph'; - return { - id: 'cephMetrics', - name: i18n.translate('home.tutorials.cephMetrics.nameTitle', { - defaultMessage: 'Ceph metrics', - }), - moduleName, - isBeta: false, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.cephMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from the Ceph server.', - }), - longDescription: i18n.translate('home.tutorials.cephMetrics.longDescription', { - defaultMessage: - 'The `ceph` Metricbeat module fetches internal metrics from Ceph. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-ceph.html', - }, - }), - euiIconType: 'logoCeph', - artifacts: { - application: { - label: i18n.translate('home.tutorials.cephMetrics.artifacts.application.label', { - defaultMessage: 'Discover', - }), - path: '/app/discover#/', - }, - dashboards: [], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-ceph.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/checkpoint_logs/index.ts b/src/plugins/home/server/tutorials/checkpoint_logs/index.ts deleted file mode 100644 index 72198e709502..000000000000 --- a/src/plugins/home/server/tutorials/checkpoint_logs/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function checkpointLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'checkpoint'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'checkpointLogs', - name: i18n.translate('home.tutorials.checkpointLogs.nameTitle', { - defaultMessage: 'Check Point logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.checkpointLogs.shortDescription', { - defaultMessage: 'Collect Check Point firewall logs.', - }), - longDescription: i18n.translate('home.tutorials.checkpointLogs.longDescription', { - defaultMessage: - 'This is a module for Check Point firewall logs. It supports logs from the Log Exporter in the Syslog format. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-checkpoint.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/checkpoint.svg', - artifacts: { - dashboards: [], - application: { - path: '/app/security', - label: i18n.translate('home.tutorials.checkpointLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Security App', - }), - }, - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-checkpoint.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/cisco_logs/index.ts b/src/plugins/home/server/tutorials/cisco_logs/index.ts deleted file mode 100644 index aa0796a1ffbc..000000000000 --- a/src/plugins/home/server/tutorials/cisco_logs/index.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function ciscoLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'cisco'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'ciscoLogs', - name: i18n.translate('home.tutorials.ciscoLogs.nameTitle', { - defaultMessage: 'Cisco logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.ciscoLogs.shortDescription', { - defaultMessage: 'Collect Cisco network device logs over syslog or from a file.', - }), - longDescription: i18n.translate('home.tutorials.ciscoLogs.longDescription', { - defaultMessage: - 'This is a module for Cisco network devices logs (ASA, FTD, IOS, Nexus). It includes the following filesets for receiving logs over syslog or read from a file: \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-cisco.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/cisco.svg', - artifacts: { - dashboards: [ - { - id: 'a555b160-4987-11e9-b8ce-ed898b5ef295', - linkLabel: i18n.translate('home.tutorials.ciscoLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'ASA Firewall Dashboard', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-cisco.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/cloudwatch_logs/index.ts b/src/plugins/home/server/tutorials/cloudwatch_logs/index.ts deleted file mode 100644 index 744943fbb376..000000000000 --- a/src/plugins/home/server/tutorials/cloudwatch_logs/index.ts +++ /dev/null @@ -1,73 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/functionbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function cloudwatchLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'aws'; - return { - id: 'cloudwatchLogs', - name: i18n.translate('home.tutorials.cloudwatchLogs.nameTitle', { - defaultMessage: 'AWS Cloudwatch logs', - }), - moduleName, - category: TutorialsCategory.LOGGING, - shortDescription: i18n.translate('home.tutorials.cloudwatchLogs.shortDescription', { - defaultMessage: 'Collect Cloudwatch logs with Functionbeat.', - }), - longDescription: i18n.translate('home.tutorials.cloudwatchLogs.longDescription', { - defaultMessage: - 'Collect Cloudwatch logs by deploying Functionbeat to run as \ - an AWS Lambda function. \ - [Learn more]({learnMoreLink}).', - values: { - learnMoreLink: - '{config.docs.beats.functionbeat}/functionbeat-installation-configuration.html', - }, - }), - euiIconType: 'logoAWS', - artifacts: { - dashboards: [ - // TODO - ], - exportedFields: { - documentationUrl: '{config.docs.beats.functionbeat}/exported-fields.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions([], context), - }; -} diff --git a/src/plugins/home/server/tutorials/cockroachdb_metrics/index.ts b/src/plugins/home/server/tutorials/cockroachdb_metrics/index.ts deleted file mode 100644 index 882fbf83091c..000000000000 --- a/src/plugins/home/server/tutorials/cockroachdb_metrics/index.ts +++ /dev/null @@ -1,80 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function cockroachdbMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'cockroachdb'; - return { - id: 'cockroachdbMetrics', - name: i18n.translate('home.tutorials.cockroachdbMetrics.nameTitle', { - defaultMessage: 'CockroachDB metrics', - }), - moduleName, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.cockroachdbMetrics.shortDescription', { - defaultMessage: 'Fetch monitoring metrics from the CockroachDB server.', - }), - longDescription: i18n.translate('home.tutorials.cockroachdbMetrics.longDescription', { - defaultMessage: - 'The `cockroachdb` Metricbeat module fetches monitoring metrics from CockroachDB. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-cockroachdb.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/cockroachdb.svg', - artifacts: { - dashboards: [ - { - id: 'e3ba0c30-9766-11e9-9eea-6f554992ec1f', - linkLabel: i18n.translate( - 'home.tutorials.cockroachdbMetrics.artifacts.dashboards.linkLabel', - { - defaultMessage: 'CockroachDB metrics dashboard', - } - ), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-cockroachdb.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/consul_metrics/index.ts b/src/plugins/home/server/tutorials/consul_metrics/index.ts deleted file mode 100644 index 5b7b57fea5b1..000000000000 --- a/src/plugins/home/server/tutorials/consul_metrics/index.ts +++ /dev/null @@ -1,77 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function consulMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'consul'; - return { - id: 'consulMetrics', - name: i18n.translate('home.tutorials.consulMetrics.nameTitle', { - defaultMessage: 'Consul metrics', - }), - moduleName, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.consulMetrics.shortDescription', { - defaultMessage: 'Fetch monitoring metrics from the Consul server.', - }), - longDescription: i18n.translate('home.tutorials.consulMetrics.longDescription', { - defaultMessage: - 'The `consul` Metricbeat module fetches monitoring metrics from Consul. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-consul.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/consul.svg', - artifacts: { - dashboards: [ - { - id: '496910f0-b952-11e9-a579-f5c0a5d81340', - linkLabel: i18n.translate('home.tutorials.consulMetrics.artifacts.dashboards.linkLabel', { - defaultMessage: 'Consul metrics dashboard', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-consul.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/coredns_logs/index.ts b/src/plugins/home/server/tutorials/coredns_logs/index.ts deleted file mode 100644 index 63ec23201d88..000000000000 --- a/src/plugins/home/server/tutorials/coredns_logs/index.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function corednsLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'coredns'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'corednsLogs', - name: i18n.translate('home.tutorials.corednsLogs.nameTitle', { - defaultMessage: 'CoreDNS logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.corednsLogs.shortDescription', { - defaultMessage: 'Collect CoreDNS logs.', - }), - longDescription: i18n.translate('home.tutorials.corednsLogs.longDescription', { - defaultMessage: - 'This is a filebeat module for CoreDNS. It supports both standalone CoreDNS deployment and CoreDNS deployment in Kubernetes. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-coredns.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/coredns.svg', - artifacts: { - dashboards: [ - { - id: '53aa1f70-443e-11e9-8548-ab7fbe04f038', - linkLabel: i18n.translate('home.tutorials.corednsLogs.artifacts.dashboards.linkLabel', { - defaultMessage: '[Filebeat CoreDNS] Overview', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-coredns.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/coredns_metrics/index.ts b/src/plugins/home/server/tutorials/coredns_metrics/index.ts deleted file mode 100644 index 4fc64a172bc0..000000000000 --- a/src/plugins/home/server/tutorials/coredns_metrics/index.ts +++ /dev/null @@ -1,75 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function corednsMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'coredns'; - return { - id: 'corednsMetrics', - name: i18n.translate('home.tutorials.corednsMetrics.nameTitle', { - defaultMessage: 'CoreDNS metrics', - }), - moduleName, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.corednsMetrics.shortDescription', { - defaultMessage: 'Fetch monitoring metrics from the CoreDNS server.', - }), - longDescription: i18n.translate('home.tutorials.corednsMetrics.longDescription', { - defaultMessage: - 'The `coredns` Metricbeat module fetches monitoring metrics from CoreDNS. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-coredns.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/coredns.svg', - artifacts: { - application: { - label: i18n.translate('home.tutorials.corednsMetrics.artifacts.application.label', { - defaultMessage: 'Discover', - }), - path: '/app/discover#/', - }, - dashboards: [], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-coredns.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/couchbase_metrics/index.ts b/src/plugins/home/server/tutorials/couchbase_metrics/index.ts deleted file mode 100644 index cdbd82e0d498..000000000000 --- a/src/plugins/home/server/tutorials/couchbase_metrics/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function couchbaseMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'couchbase'; - return { - id: 'couchbaseMetrics', - name: i18n.translate('home.tutorials.couchbaseMetrics.nameTitle', { - defaultMessage: 'Couchbase metrics', - }), - moduleName, - isBeta: false, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.couchbaseMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from Couchbase.', - }), - longDescription: i18n.translate('home.tutorials.couchbaseMetrics.longDescription', { - defaultMessage: - 'The `couchbase` Metricbeat module fetches internal metrics from Couchbase. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-couchbase.html', - }, - }), - euiIconType: 'logoCouchbase', - artifacts: { - application: { - label: i18n.translate('home.tutorials.couchbaseMetrics.artifacts.application.label', { - defaultMessage: 'Discover', - }), - path: '/app/discover#/', - }, - dashboards: [], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-couchbase.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/couchdb_metrics/index.ts b/src/plugins/home/server/tutorials/couchdb_metrics/index.ts deleted file mode 100644 index cb5aca214228..000000000000 --- a/src/plugins/home/server/tutorials/couchdb_metrics/index.ts +++ /dev/null @@ -1,80 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function couchdbMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'couchdb'; - return { - id: 'couchdbMetrics', - name: i18n.translate('home.tutorials.couchdbMetrics.nameTitle', { - defaultMessage: 'CouchDB metrics', - }), - moduleName, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.couchdbMetrics.shortDescription', { - defaultMessage: 'Fetch monitoring metrics from the CouchdB server.', - }), - longDescription: i18n.translate('home.tutorials.couchdbMetrics.longDescription', { - defaultMessage: - 'The `couchdb` Metricbeat module fetches monitoring metrics from CouchDB. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-couchdb.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/couchdb.svg', - artifacts: { - dashboards: [ - { - id: '496910f0-b952-11e9-a579-f5c0a5d81340', - linkLabel: i18n.translate( - 'home.tutorials.couchdbMetrics.artifacts.dashboards.linkLabel', - { - defaultMessage: 'CouchDB metrics dashboard', - } - ), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-couchdb.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/crowdstrike_logs/index.ts b/src/plugins/home/server/tutorials/crowdstrike_logs/index.ts deleted file mode 100644 index 949c2e1283dd..000000000000 --- a/src/plugins/home/server/tutorials/crowdstrike_logs/index.ts +++ /dev/null @@ -1,79 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function crowdstrikeLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'crowdstrike'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'crowdstrikeLogs', - name: i18n.translate('home.tutorials.crowdstrikeLogs.nameTitle', { - defaultMessage: 'CrowdStrike logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.crowdstrikeLogs.shortDescription', { - defaultMessage: 'Collect CrowdStrike Falcon logs using the Falcon SIEM Connector.', - }), - longDescription: i18n.translate('home.tutorials.crowdstrikeLogs.longDescription', { - defaultMessage: - 'This is the Filebeat module for CrowdStrike Falcon using the Falcon \ - [SIEM Connector](https://www.crowdstrike.com/blog/tech-center/integrate-with-your-siem). \ - This module collects this data, converts it to OCS, and ingests it to view in the SIEM. \ - By default, the Falcon SIEM connector outputs JSON formatted Falcon Streaming API event data. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-crowdstrike.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/crowdstrike.svg', - artifacts: { - dashboards: [], - application: { - path: '/app/security', - label: i18n.translate('home.tutorials.crowdstrikeLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Security App', - }), - }, - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-crowdstrike.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/cylance_logs/index.ts b/src/plugins/home/server/tutorials/cylance_logs/index.ts deleted file mode 100644 index 20f271253918..000000000000 --- a/src/plugins/home/server/tutorials/cylance_logs/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function cylanceLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'cylance'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'cylanceLogs', - name: i18n.translate('home.tutorials.cylanceLogs.nameTitle', { - defaultMessage: 'CylancePROTECT logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.cylanceLogs.shortDescription', { - defaultMessage: 'Collect CylancePROTECT logs over syslog or from a file.', - }), - longDescription: i18n.translate('home.tutorials.cylanceLogs.longDescription', { - defaultMessage: - 'This is a module for receiving CylancePROTECT logs over Syslog or a file. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-cylance.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/cylance.svg', - artifacts: { - dashboards: [], - application: { - path: '/app/security', - label: i18n.translate('home.tutorials.cylanceLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Security App', - }), - }, - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-cylance.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/docker_metrics/index.ts b/src/plugins/home/server/tutorials/docker_metrics/index.ts deleted file mode 100644 index 9a396b81e34f..000000000000 --- a/src/plugins/home/server/tutorials/docker_metrics/index.ts +++ /dev/null @@ -1,77 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function dockerMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'docker'; - return { - id: 'dockerMetrics', - name: i18n.translate('home.tutorials.dockerMetrics.nameTitle', { - defaultMessage: 'Docker metrics', - }), - moduleName, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.dockerMetrics.shortDescription', { - defaultMessage: 'Fetch metrics about your Docker containers.', - }), - longDescription: i18n.translate('home.tutorials.dockerMetrics.longDescription', { - defaultMessage: - 'The `docker` Metricbeat module fetches metrics from the Docker server. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-docker.html', - }, - }), - euiIconType: 'logoDocker', - artifacts: { - dashboards: [ - { - id: 'AV4REOpp5NkDleZmzKkE-ecs', - linkLabel: i18n.translate('home.tutorials.dockerMetrics.artifacts.dashboards.linkLabel', { - defaultMessage: 'Docker metrics dashboard', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-docker.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/dropwizard_metrics/index.ts b/src/plugins/home/server/tutorials/dropwizard_metrics/index.ts deleted file mode 100644 index e279176e8ff9..000000000000 --- a/src/plugins/home/server/tutorials/dropwizard_metrics/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function dropwizardMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'dropwizard'; - return { - id: 'dropwizardMetrics', - name: i18n.translate('home.tutorials.dropwizardMetrics.nameTitle', { - defaultMessage: 'Dropwizard metrics', - }), - moduleName, - isBeta: false, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.dropwizardMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from Dropwizard Java application.', - }), - longDescription: i18n.translate('home.tutorials.dropwizardMetrics.longDescription', { - defaultMessage: - 'The `dropwizard` Metricbeat module fetches internal metrics from Dropwizard Java Application. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-dropwizard.html', - }, - }), - euiIconType: 'logoDropwizard', - artifacts: { - application: { - label: i18n.translate('home.tutorials.dropwizardMetrics.artifacts.application.label', { - defaultMessage: 'Discover', - }), - path: '/app/discover#/', - }, - dashboards: [], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-dropwizard.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/envoyproxy_logs/index.ts b/src/plugins/home/server/tutorials/envoyproxy_logs/index.ts deleted file mode 100644 index d18cb1425116..000000000000 --- a/src/plugins/home/server/tutorials/envoyproxy_logs/index.ts +++ /dev/null @@ -1,81 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function envoyproxyLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'envoyproxy'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'envoyproxyLogs', - name: i18n.translate('home.tutorials.envoyproxyLogs.nameTitle', { - defaultMessage: 'Envoy Proxy logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.envoyproxyLogs.shortDescription', { - defaultMessage: 'Collect Envoy Proxy logs.', - }), - longDescription: i18n.translate('home.tutorials.envoyproxyLogs.longDescription', { - defaultMessage: - 'This is a Filebeat module for Envoy proxy access log ( https://www.envoyproxy.io/docs/envoy/v1.10.0/configuration/access_log). It supports both standalone deployment and Envoy proxy deployment in Kubernetes. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-envoyproxy.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/envoyproxy.svg', - artifacts: { - dashboards: [ - { - id: '0c610510-5cbd-11e9-8477-077ec9664dbd', - linkLabel: i18n.translate( - 'home.tutorials.envoyproxyLogs.artifacts.dashboards.linkLabel', - { - defaultMessage: 'Envoy Proxy Overview', - } - ), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-envoyproxy.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/envoyproxy_metrics/index.ts b/src/plugins/home/server/tutorials/envoyproxy_metrics/index.ts deleted file mode 100644 index 2ab1b7533ecc..000000000000 --- a/src/plugins/home/server/tutorials/envoyproxy_metrics/index.ts +++ /dev/null @@ -1,69 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function envoyproxyMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'envoyproxy'; - return { - id: 'envoyproxyMetrics', - name: i18n.translate('home.tutorials.envoyproxyMetrics.nameTitle', { - defaultMessage: 'Envoy Proxy metrics', - }), - moduleName, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.envoyproxyMetrics.shortDescription', { - defaultMessage: 'Fetch monitoring metrics from Envoy Proxy.', - }), - longDescription: i18n.translate('home.tutorials.envoyproxyMetrics.longDescription', { - defaultMessage: - 'The `envoyproxy` Metricbeat module fetches monitoring metrics from Envoy Proxy. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-envoyproxy.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/envoyproxy.svg', - artifacts: { - dashboards: [], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-envoyproxy.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/etcd_metrics/index.ts b/src/plugins/home/server/tutorials/etcd_metrics/index.ts deleted file mode 100644 index 31bcb5369323..000000000000 --- a/src/plugins/home/server/tutorials/etcd_metrics/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function etcdMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'etcd'; - return { - id: 'etcdMetrics', - name: i18n.translate('home.tutorials.etcdMetrics.nameTitle', { - defaultMessage: 'Etcd metrics', - }), - moduleName, - isBeta: false, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.etcdMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from the Etcd server.', - }), - longDescription: i18n.translate('home.tutorials.etcdMetrics.longDescription', { - defaultMessage: - 'The `etcd` Metricbeat module fetches internal metrics from Etcd. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-etcd.html', - }, - }), - euiIconType: 'logoEtcd', - artifacts: { - application: { - label: i18n.translate('home.tutorials.etcdMetrics.artifacts.application.label', { - defaultMessage: 'Discover', - }), - path: '/app/discover#/', - }, - dashboards: [], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-etcd.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/f5_logs/index.ts b/src/plugins/home/server/tutorials/f5_logs/index.ts deleted file mode 100644 index b8391545eb64..000000000000 --- a/src/plugins/home/server/tutorials/f5_logs/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function f5LogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'f5'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'f5Logs', - name: i18n.translate('home.tutorials.f5Logs.nameTitle', { - defaultMessage: 'F5 logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.f5Logs.shortDescription', { - defaultMessage: 'Collect F5 Big-IP Access Policy Manager logs over syslog or from a file.', - }), - longDescription: i18n.translate('home.tutorials.f5Logs.longDescription', { - defaultMessage: - 'This is a module for receiving Big-IP Access Policy Manager logs over Syslog or a file. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-f5.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/f5.svg', - artifacts: { - dashboards: [], - application: { - path: '/app/security', - label: i18n.translate('home.tutorials.f5Logs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Security App', - }), - }, - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-f5.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/fortinet_logs/index.ts b/src/plugins/home/server/tutorials/fortinet_logs/index.ts deleted file mode 100644 index 6622f07fa777..000000000000 --- a/src/plugins/home/server/tutorials/fortinet_logs/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function fortinetLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'fortinet'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'fortinetLogs', - name: i18n.translate('home.tutorials.fortinetLogs.nameTitle', { - defaultMessage: 'Fortinet logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.fortinetLogs.shortDescription', { - defaultMessage: 'Collect Fortinet FortiOS logs over syslog.', - }), - longDescription: i18n.translate('home.tutorials.fortinetLogs.longDescription', { - defaultMessage: - 'This is a module for Fortinet FortiOS logs sent in the syslog format. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-fortinet.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/fortinet.svg', - artifacts: { - dashboards: [], - application: { - path: '/app/security', - label: i18n.translate('home.tutorials.fortinetLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Security App', - }), - }, - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-fortinet.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/golang_metrics/index.ts b/src/plugins/home/server/tutorials/golang_metrics/index.ts deleted file mode 100644 index 1f20d2f48bba..000000000000 --- a/src/plugins/home/server/tutorials/golang_metrics/index.ts +++ /dev/null @@ -1,79 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function golangMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'golang'; - return { - id: moduleName + 'Metrics', - name: i18n.translate('home.tutorials.golangMetrics.nameTitle', { - defaultMessage: 'Golang metrics', - }), - moduleName, - isBeta: true, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.golangMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from a Golang app.', - }), - longDescription: i18n.translate('home.tutorials.golangMetrics.longDescription', { - defaultMessage: - 'The `{moduleName}` Metricbeat module fetches internal metrics from a Golang app. \ -[Learn more]({learnMoreLink}).', - values: { - moduleName, - learnMoreLink: `{config.docs.beats.metricbeat}/metricbeat-module-${moduleName}.html`, - }, - }), - euiIconType: 'logoGolang', - artifacts: { - dashboards: [ - { - id: 'f2dc7320-f519-11e6-a3c9-9d1f7c42b045-ecs', - linkLabel: i18n.translate('home.tutorials.golangMetrics.artifacts.dashboards.linkLabel', { - defaultMessage: 'Golang metrics dashboard', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-' + moduleName + '.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/googlecloud_logs/index.ts b/src/plugins/home/server/tutorials/googlecloud_logs/index.ts deleted file mode 100644 index 6118c215ea94..000000000000 --- a/src/plugins/home/server/tutorials/googlecloud_logs/index.ts +++ /dev/null @@ -1,83 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function googlecloudLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'googlecloud'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'googlecloudLogs', - name: i18n.translate('home.tutorials.googlecloudLogs.nameTitle', { - defaultMessage: 'Google Cloud logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.googlecloudLogs.shortDescription', { - defaultMessage: 'Collect Google Cloud audit, firewall, and VPC flow logs.', - }), - longDescription: i18n.translate('home.tutorials.googlecloudLogs.longDescription', { - defaultMessage: - 'This is a module for Google Cloud logs. It supports reading audit, VPC flow, \ - and firewall logs that have been exported from Stackdriver to a Google Pub/Sub \ - topic sink. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-googlecloud.html', - }, - }), - euiIconType: 'logoGoogleG', - artifacts: { - dashboards: [ - { - id: '6576c480-73a2-11ea-a345-f985c61fe654', - linkLabel: i18n.translate( - 'home.tutorials.googlecloudLogs.artifacts.dashboards.linkLabel', - { - defaultMessage: 'Audit Logs Dashbaord', - } - ), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-googlecloud.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/googlecloud_metrics/index.ts b/src/plugins/home/server/tutorials/googlecloud_metrics/index.ts deleted file mode 100644 index b19fdb456f9b..000000000000 --- a/src/plugins/home/server/tutorials/googlecloud_metrics/index.ts +++ /dev/null @@ -1,82 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function googlecloudMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'googlecloud'; - return { - id: 'googlecloudMetrics', - name: i18n.translate('home.tutorials.googlecloudMetrics.nameTitle', { - defaultMessage: 'Google Cloud metrics', - }), - moduleName, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.googlecloudMetrics.shortDescription', { - defaultMessage: - 'Fetch monitoring metrics from Google Cloud Platform using Stackdriver Monitoring API.', - }), - longDescription: i18n.translate('home.tutorials.googlecloudMetrics.longDescription', { - defaultMessage: - 'The `googlecloud` Metricbeat module fetches monitoring metrics from Google Cloud Platform using Stackdriver Monitoring API. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-googlecloud.html', - }, - }), - euiIconType: 'logoGCP', - isBeta: false, - artifacts: { - dashboards: [ - { - id: 'f40ee870-5e4a-11ea-a4f6-717338406083', - linkLabel: i18n.translate( - 'home.tutorials.googlecloudMetrics.artifacts.dashboards.linkLabel', - { - defaultMessage: 'Google Cloud metrics dashboard', - } - ), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-googlecloud.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/gsuite_logs/index.ts b/src/plugins/home/server/tutorials/gsuite_logs/index.ts deleted file mode 100644 index b2dc118cc60a..000000000000 --- a/src/plugins/home/server/tutorials/gsuite_logs/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function gsuiteLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'gsuite'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'gsuiteLogs', - name: i18n.translate('home.tutorials.gsuiteLogs.nameTitle', { - defaultMessage: 'GSuite logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.gsuiteLogs.shortDescription', { - defaultMessage: 'Collect GSuite activity reports.', - }), - longDescription: i18n.translate('home.tutorials.gsuiteLogs.longDescription', { - defaultMessage: - 'This is a module for ingesting data from the different GSuite audit reports APIs. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-gsuite.html', - }, - }), - euiIconType: 'logoGoogleG', - artifacts: { - dashboards: [], - application: { - path: '/app/security', - label: i18n.translate('home.tutorials.gsuiteLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Security App', - }), - }, - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-gsuite.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/haproxy_logs/index.ts b/src/plugins/home/server/tutorials/haproxy_logs/index.ts deleted file mode 100644 index 0eb3b84291ff..000000000000 --- a/src/plugins/home/server/tutorials/haproxy_logs/index.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function haproxyLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'haproxy'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'haproxyLogs', - name: i18n.translate('home.tutorials.haproxyLogs.nameTitle', { - defaultMessage: 'HAProxy logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.haproxyLogs.shortDescription', { - defaultMessage: 'Collect HAProxy logs.', - }), - longDescription: i18n.translate('home.tutorials.haproxyLogs.longDescription', { - defaultMessage: - 'The module collects and parses logs from a ( `haproxy`) process. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-haproxy.html', - }, - }), - euiIconType: 'logoHAproxy', - artifacts: { - dashboards: [ - { - id: '3560d580-aa34-11e8-9c06-877f0445e3e0-ecs', - linkLabel: i18n.translate('home.tutorials.haproxyLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'HAProxy Overview', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-haproxy.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/haproxy_metrics/index.ts b/src/plugins/home/server/tutorials/haproxy_metrics/index.ts deleted file mode 100644 index be275726877a..000000000000 --- a/src/plugins/home/server/tutorials/haproxy_metrics/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function haproxyMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'haproxy'; - return { - id: 'haproxyMetrics', - name: i18n.translate('home.tutorials.haproxyMetrics.nameTitle', { - defaultMessage: 'HAProxy metrics', - }), - moduleName, - isBeta: false, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.haproxyMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from the HAProxy server.', - }), - longDescription: i18n.translate('home.tutorials.haproxyMetrics.longDescription', { - defaultMessage: - 'The `haproxy` Metricbeat module fetches internal metrics from HAProxy. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-haproxy.html', - }, - }), - euiIconType: 'logoHAproxy', - artifacts: { - application: { - label: i18n.translate('home.tutorials.haproxyMetrics.artifacts.application.label', { - defaultMessage: 'Discover', - }), - path: '/app/discover#/', - }, - dashboards: [], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-haproxy.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/ibmmq_logs/index.ts b/src/plugins/home/server/tutorials/ibmmq_logs/index.ts deleted file mode 100644 index 388a5dd3463c..000000000000 --- a/src/plugins/home/server/tutorials/ibmmq_logs/index.ts +++ /dev/null @@ -1,77 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function ibmmqLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'ibmmq'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'ibmmqLogs', - name: i18n.translate('home.tutorials.ibmmqLogs.nameTitle', { - defaultMessage: 'IBM MQ logs', - }), - moduleName, - category: TutorialsCategory.LOGGING, - shortDescription: i18n.translate('home.tutorials.ibmmqLogs.shortDescription', { - defaultMessage: 'Collect IBM MQ logs with Filebeat.', - }), - longDescription: i18n.translate('home.tutorials.ibmmqLogs.longDescription', { - defaultMessage: 'Collect IBM MQ logs with Filebeat. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-ibmmq.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/ibmmq.svg', - artifacts: { - dashboards: [ - { - id: 'ba1d8830-7c7b-11e9-9645-e37efaf5baff', - linkLabel: i18n.translate('home.tutorials.ibmmqLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'IBM MQ Events', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-ibmmq.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/ibmmq_metrics/index.ts b/src/plugins/home/server/tutorials/ibmmq_metrics/index.ts deleted file mode 100644 index b3c7643c68f0..000000000000 --- a/src/plugins/home/server/tutorials/ibmmq_metrics/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function ibmmqMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'ibmmq'; - return { - id: 'ibmmqMetrics', - name: i18n.translate('home.tutorials.ibmmqMetrics.nameTitle', { - defaultMessage: 'IBM MQ metrics', - }), - moduleName, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.ibmmqMetrics.shortDescription', { - defaultMessage: 'Fetch monitoring metrics from IBM MQ instances.', - }), - longDescription: i18n.translate('home.tutorials.ibmmqMetrics.longDescription', { - defaultMessage: - 'The `ibmmq` Metricbeat module fetches monitoring metrics from IBM MQ instances \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-ibmmq.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/ibmmq.svg', - isBeta: true, - artifacts: { - application: { - label: i18n.translate('home.tutorials.ibmmqMetrics.artifacts.application.label', { - defaultMessage: 'Discover', - }), - path: '/app/discover#/', - }, - dashboards: [], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-ibmmq.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/icinga_logs/index.ts b/src/plugins/home/server/tutorials/icinga_logs/index.ts deleted file mode 100644 index c33ea03e4c01..000000000000 --- a/src/plugins/home/server/tutorials/icinga_logs/index.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function icingaLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'icinga'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'icingaLogs', - name: i18n.translate('home.tutorials.icingaLogs.nameTitle', { - defaultMessage: 'Icinga logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.icingaLogs.shortDescription', { - defaultMessage: 'Collect Icinga main, debug, and startup logs.', - }), - longDescription: i18n.translate('home.tutorials.icingaLogs.longDescription', { - defaultMessage: - 'The module parses the main, debug, and startup logs of [Icinga](https://www.icinga.com/products/icinga-2/). \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-icinga.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/icinga.svg', - artifacts: { - dashboards: [ - { - id: 'f693d260-2417-11e7-a83b-d5f4cebac9ff-ecs', - linkLabel: i18n.translate('home.tutorials.icingaLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Icinga Main Log', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-icinga.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/iis_logs/index.ts b/src/plugins/home/server/tutorials/iis_logs/index.ts deleted file mode 100644 index 169fc85653e8..000000000000 --- a/src/plugins/home/server/tutorials/iis_logs/index.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function iisLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'iis'; - const platforms = ['WINDOWS'] as const; - return { - id: 'iisLogs', - name: i18n.translate('home.tutorials.iisLogs.nameTitle', { - defaultMessage: 'IIS logs', - }), - moduleName, - category: TutorialsCategory.LOGGING, - shortDescription: i18n.translate('home.tutorials.iisLogs.shortDescription', { - defaultMessage: 'Collect and parse access and error logs created by the IIS HTTP server.', - }), - longDescription: i18n.translate('home.tutorials.iisLogs.longDescription', { - defaultMessage: - 'The `iis` Filebeat module parses access and error logs created by the IIS HTTP server. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-iis.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/iis.svg', - artifacts: { - dashboards: [ - { - id: '4278ad30-fe16-11e7-a3b0-d13028918f9f-ecs', - linkLabel: i18n.translate('home.tutorials.iisLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'IIS logs dashboard', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-iis.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/iis_metrics/index.ts b/src/plugins/home/server/tutorials/iis_metrics/index.ts deleted file mode 100644 index d47933fa32a9..000000000000 --- a/src/plugins/home/server/tutorials/iis_metrics/index.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function iisMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'iis'; - return { - id: 'iisMetrics', - name: i18n.translate('home.tutorials.iisMetrics.nameTitle', { - defaultMessage: 'IIS Metrics', - }), - moduleName, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.iisMetrics.shortDescription', { - defaultMessage: 'Collect IIS server related metrics.', - }), - longDescription: i18n.translate('home.tutorials.iisMetrics.longDescription', { - defaultMessage: - 'The `iis` Metricbeat module collects metrics from IIS server and the application pools and websites running. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-iis.html', - }, - }), - isBeta: true, - euiIconType: '/plugins/home/assets/tutorials/logos/iis.svg', - artifacts: { - dashboards: [ - { - id: 'ebc23240-8572-11ea-91bc-ab084c7ec0e7', - linkLabel: i18n.translate('home.tutorials.iisMetrics.artifacts.dashboards.linkLabel', { - defaultMessage: 'IIS metrics dashboard', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-iis.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/imperva_logs/index.ts b/src/plugins/home/server/tutorials/imperva_logs/index.ts deleted file mode 100644 index 32249c202d0d..000000000000 --- a/src/plugins/home/server/tutorials/imperva_logs/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function impervaLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'imperva'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'impervaLogs', - name: i18n.translate('home.tutorials.impervaLogs.nameTitle', { - defaultMessage: 'Imperva logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.impervaLogs.shortDescription', { - defaultMessage: 'Collect Imperva SecureSphere logs over syslog or from a file.', - }), - longDescription: i18n.translate('home.tutorials.impervaLogs.longDescription', { - defaultMessage: - 'This is a module for receiving Imperva SecureSphere logs over Syslog or a file. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-imperva.html', - }, - }), - euiIconType: 'logoLogging', - artifacts: { - dashboards: [], - application: { - path: '/app/security', - label: i18n.translate('home.tutorials.impervaLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Security App', - }), - }, - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-imperva.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/infoblox_logs/index.ts b/src/plugins/home/server/tutorials/infoblox_logs/index.ts deleted file mode 100644 index 63980113d8e8..000000000000 --- a/src/plugins/home/server/tutorials/infoblox_logs/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function infobloxLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'infoblox'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'infobloxLogs', - name: i18n.translate('home.tutorials.infobloxLogs.nameTitle', { - defaultMessage: 'Infoblox logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.infobloxLogs.shortDescription', { - defaultMessage: 'Collect Infoblox NIOS logs over syslog or from a file.', - }), - longDescription: i18n.translate('home.tutorials.infobloxLogs.longDescription', { - defaultMessage: - 'This is a module for receiving Infoblox NIOS logs over Syslog or a file. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-infoblox.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/infoblox.svg', - artifacts: { - dashboards: [], - application: { - path: '/app/security', - label: i18n.translate('home.tutorials.infobloxLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Security App', - }), - }, - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-infoblox.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/instructions/auditbeat_instructions.ts b/src/plugins/home/server/tutorials/instructions/auditbeat_instructions.ts deleted file mode 100644 index 875c108e9a72..000000000000 --- a/src/plugins/home/server/tutorials/instructions/auditbeat_instructions.ts +++ /dev/null @@ -1,363 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { INSTRUCTION_VARIANT } from '../../../common/instruction_variant'; -import { getSpaceIdForBeatsTutorial } from './get_space_id_for_beats_tutorial'; -import { Platform, TutorialContext } from '../../services/tutorials/lib/tutorials_registry_types'; - -export const createAuditbeatInstructions = (context?: TutorialContext) => ({ - INSTALL: { - OSX: { - title: i18n.translate('home.tutorials.common.auditbeatInstructions.install.osxTitle', { - defaultMessage: 'Download and install Auditbeat', - }), - textPre: i18n.translate('home.tutorials.common.auditbeatInstructions.install.osxTextPre', { - defaultMessage: 'First time using Auditbeat? See the [Quick Start]({linkUrl}).', - values: { - linkUrl: '{config.docs.beats.auditbeat}/auditbeat-installation-configuration.html', - }, - }), - commands: [ - 'curl -L -O https://artifacts.opensearch.org/downloads/beats/auditbeat/auditbeat-{config.opensearchDashboards.version}-darwin-x64.tar.gz', - 'tar xzvf auditbeat-{config.opensearchDashboards.version}-darwin-x64.tar.gz', - 'cd auditbeat-{config.opensearchDashboards.version}-darwin-x64/', - ], - }, - DEB: { - title: i18n.translate('home.tutorials.common.auditbeatInstructions.install.debTitle', { - defaultMessage: 'Download and install Auditbeat', - }), - textPre: i18n.translate('home.tutorials.common.auditbeatInstructions.install.debTextPre', { - defaultMessage: 'First time using Auditbeat? See the [Quick Start]({linkUrl}).', - values: { - linkUrl: '{config.docs.beats.auditbeat}/auditbeat-installation-configuration.html', - }, - }), - commands: [ - 'curl -L -O https://artifacts.opensearch.org/downloads/beats/auditbeat/auditbeat-{config.opensearchDashboards.version}-amd64.deb', - 'sudo dpkg -i auditbeat-{config.opensearchDashboards.version}-amd64.deb', - ], - textPost: i18n.translate('home.tutorials.common.auditbeatInstructions.install.debTextPost', { - defaultMessage: 'Looking for the 32-bit packages? See the [Download page]({linkUrl}).', - values: { - linkUrl: 'https://opensearch.org/docs/latest/downloads/beats/auditbeat', - }, - }), - }, - RPM: { - title: i18n.translate('home.tutorials.common.auditbeatInstructions.install.rpmTitle', { - defaultMessage: 'Download and install Auditbeat', - }), - textPre: i18n.translate('home.tutorials.common.auditbeatInstructions.install.rpmTextPre', { - defaultMessage: 'First time using Auditbeat? See the [Quick Start]({linkUrl}).', - values: { - linkUrl: '{config.docs.beats.auditbeat}/auditbeat-installation-configuration.html', - }, - }), - commands: [ - 'curl -L -O https://artifacts.opensearch.org/downloads/beats/auditbeat/auditbeat-{config.opensearchDashboards.version}-x64.rpm', - 'sudo rpm -vi auditbeat-{config.opensearchDashboards.version}-x64.rpm', - ], - textPost: i18n.translate('home.tutorials.common.auditbeatInstructions.install.rpmTextPost', { - defaultMessage: 'Looking for the 32-bit packages? See the [Download page]({linkUrl}).', - values: { - linkUrl: 'https://opensearch.org/docs/latest/downloads/beats/auditbeat', - }, - }), - }, - WINDOWS: { - title: i18n.translate('home.tutorials.common.auditbeatInstructions.install.windowsTitle', { - defaultMessage: 'Download and install Auditbeat', - }), - textPre: i18n.translate( - 'home.tutorials.common.auditbeatInstructions.install.windowsTextPre', - { - defaultMessage: - 'First time using Auditbeat? See the [Quick Start]({guideLinkUrl}).\n\ - 1. Download the Auditbeat Windows zip file from the [Download]({auditbeatLinkUrl}) page.\n\ - 2. Extract the contents of the zip file into {folderPath}.\n\ - 3. Rename the `{directoryName}` directory to `Auditbeat`.\n\ - 4. Open a PowerShell prompt as an Administrator (right-click the PowerShell icon and select \ -**Run As Administrator**). If you are running Windows XP, you might need to download and install PowerShell.\n\ - 5. From the PowerShell prompt, run the following commands to install Auditbeat as a Windows service.', - values: { - folderPath: '`C:\\Program Files`', - guideLinkUrl: '{config.docs.beats.auditbeat}/auditbeat-installation-configuration.html', - auditbeatLinkUrl: 'https://opensearch.org/docs/latest/downloads/beats/auditbeat', - directoryName: 'auditbeat-{config.opensearchDashboards.version}-windows', - }, - } - ), - commands: ['cd "C:\\Program Files\\Auditbeat"', '.\\install-service-auditbeat.ps1'], - textPost: i18n.translate( - 'home.tutorials.common.auditbeatInstructions.install.windowsTextPost', - { - defaultMessage: - 'Modify the settings under {propertyName} in the {auditbeatPath} file to point to your OpenSearch installation.', - values: { - propertyName: '`output.opensearch`', - auditbeatPath: '`C:\\Program Files\\Auditbeat\\auditbeat.yml`', - }, - } - ), - }, - }, - START: { - OSX: { - title: i18n.translate('home.tutorials.common.auditbeatInstructions.start.osxTitle', { - defaultMessage: 'Start Auditbeat', - }), - textPre: i18n.translate('home.tutorials.common.auditbeatInstructions.start.osxTextPre', { - defaultMessage: - 'The `setup` command loads the OpenSearch Dashboards dashboards. If the dashboards are already set up, omit this command.', - }), - commands: ['./auditbeat setup', './auditbeat -e'], - }, - DEB: { - title: i18n.translate('home.tutorials.common.auditbeatInstructions.start.debTitle', { - defaultMessage: 'Start Auditbeat', - }), - textPre: i18n.translate('home.tutorials.common.auditbeatInstructions.start.debTextPre', { - defaultMessage: - 'The `setup` command loads the OpenSearch Dashboards dashboards. If the dashboards are already set up, omit this command.', - }), - commands: ['sudo auditbeat setup', 'sudo service auditbeat start'], - }, - RPM: { - title: i18n.translate('home.tutorials.common.auditbeatInstructions.start.rpmTitle', { - defaultMessage: 'Start Auditbeat', - }), - textPre: i18n.translate('home.tutorials.common.auditbeatInstructions.start.rpmTextPre', { - defaultMessage: - 'The `setup` command loads the OpenSearch Dashboards dashboards. If the dashboards are already set up, omit this command.', - }), - commands: ['sudo auditbeat setup', 'sudo service auditbeat start'], - }, - WINDOWS: { - title: i18n.translate('home.tutorials.common.auditbeatInstructions.start.windowsTitle', { - defaultMessage: 'Start Auditbeat', - }), - textPre: i18n.translate('home.tutorials.common.auditbeatInstructions.start.windowsTextPre', { - defaultMessage: - 'The `setup` command loads the OpenSearch Dashboards dashboards. If the dashboards are already set up, omit this command.', - }), - commands: ['.\\auditbeat.exe setup', 'Start-Service auditbeat'], - }, - }, - CONFIG: { - OSX: { - title: i18n.translate('home.tutorials.common.auditbeatInstructions.config.osxTitle', { - defaultMessage: 'Edit the configuration', - }), - textPre: i18n.translate('home.tutorials.common.auditbeatInstructions.config.osxTextPre', { - defaultMessage: 'Modify {path} to set the connection information:', - values: { - path: '`auditbeat.yml`', - }, - }), - commands: [ - 'output.opensearch:', - ' hosts: [""]', - ' username: "opensearch"', - ' password: ""', - 'setup.opensearchDashboards:', - ' host: ""', - getSpaceIdForBeatsTutorial(context), - ], - textPost: i18n.translate('home.tutorials.common.auditbeatInstructions.config.osxTextPost', { - defaultMessage: - 'Where {passwordTemplate} is the password of the `opensearch` user, {opensearchUrlTemplate} is the URL of OpenSearch, \ -and {opensearchDashboardsUrlTemplate} is the URL of OpenSearch Dashboards.', - values: { - passwordTemplate: '``', - opensearchUrlTemplate: '``', - opensearchDashboardsUrlTemplate: '``', - }, - }), - }, - DEB: { - title: i18n.translate('home.tutorials.common.auditbeatInstructions.config.debTitle', { - defaultMessage: 'Edit the configuration', - }), - textPre: i18n.translate('home.tutorials.common.auditbeatInstructions.config.debTextPre', { - defaultMessage: 'Modify {path} to set the connection information:', - values: { - path: '`/etc/auditbeat/auditbeat.yml`', - }, - }), - commands: [ - 'output.opensearch:', - ' hosts: [""]', - ' username: "opensearch"', - ' password: ""', - 'setup.opensearchDashboards:', - ' host: ""', - getSpaceIdForBeatsTutorial(context), - ], - textPost: i18n.translate('home.tutorials.common.auditbeatInstructions.config.debTextPost', { - defaultMessage: - 'Where {passwordTemplate} is the password of the `opensearch` user, {opensearchUrlTemplate} is the URL of OpenSearch, \ -and {opensearchDashboardsUrlTemplate} is the URL of OpenSearch Dashboards.', - values: { - passwordTemplate: '``', - opensearchUrlTemplate: '``', - opensearchDashboardsUrlTemplate: '``', - }, - }), - }, - RPM: { - title: i18n.translate('home.tutorials.common.auditbeatInstructions.config.rpmTitle', { - defaultMessage: 'Edit the configuration', - }), - textPre: i18n.translate('home.tutorials.common.auditbeatInstructions.config.rpmTextPre', { - defaultMessage: 'Modify {path} to set the connection information:', - values: { - path: '`/etc/auditbeat/auditbeat.yml`', - }, - }), - commands: [ - 'output.opensearch:', - ' hosts: [""]', - ' username: "opensearch"', - ' password: ""', - 'setup.opensearchDashboards:', - ' host: ""', - getSpaceIdForBeatsTutorial(context), - ], - textPost: i18n.translate('home.tutorials.common.auditbeatInstructions.config.rpmTextPost', { - defaultMessage: - 'Where {passwordTemplate} is the password of the `opensearch` user, {opensearchUrlTemplate} is the URL of OpenSearch, \ -and {opensearchDashboardsUrlTemplate} is the URL of OpenSearch Dashboards.', - values: { - passwordTemplate: '``', - opensearchUrlTemplate: '``', - opensearchDashboardsUrlTemplate: '``', - }, - }), - }, - WINDOWS: { - title: i18n.translate('home.tutorials.common.auditbeatInstructions.config.windowsTitle', { - defaultMessage: 'Edit the configuration', - }), - textPre: i18n.translate('home.tutorials.common.auditbeatInstructions.config.windowsTextPre', { - defaultMessage: 'Modify {path} to set the connection information:', - values: { - path: '`C:\\Program Files\\Auditbeat\\auditbeat.yml`', - }, - }), - commands: [ - 'output.opensearch:', - ' hosts: [""]', - ' username: "opensearch"', - ' password: ""', - 'setup.opensearchDashboards:', - ' host: ""', - getSpaceIdForBeatsTutorial(context), - ], - textPost: i18n.translate( - 'home.tutorials.common.auditbeatInstructions.config.windowsTextPost', - { - defaultMessage: - 'Where {passwordTemplate} is the password of the `opensearch` user, {opensearchUrlTemplate} is the URL of OpenSearch, \ -and {opensearchDashboardsUrlTemplate} is the URL of OpenSearch Dashboards.', - values: { - passwordTemplate: '``', - opensearchUrlTemplate: '``', - opensearchDashboardsUrlTemplate: '``', - }, - } - ), - }, - }, -}); - -export function auditbeatStatusCheck() { - return { - title: i18n.translate('home.tutorials.common.auditbeatStatusCheck.title', { - defaultMessage: 'Status', - }), - text: i18n.translate('home.tutorials.common.auditbeatStatusCheck.text', { - defaultMessage: 'Check that data is received from Auditbeat', - }), - btnLabel: i18n.translate('home.tutorials.common.auditbeatStatusCheck.buttonLabel', { - defaultMessage: 'Check data', - }), - success: i18n.translate('home.tutorials.common.auditbeatStatusCheck.successText', { - defaultMessage: 'Data successfully received', - }), - error: i18n.translate('home.tutorials.common.auditbeatStatusCheck.errorText', { - defaultMessage: 'No data has been received yet', - }), - opensearchHitsCheck: { - index: 'auditbeat-*', - query: { - bool: { - filter: { - term: { - 'agent.type': 'auditbeat', - }, - }, - }, - }, - }, - }; -} - -export function onPremInstructions(platforms: readonly Platform[], context?: TutorialContext) { - const AUDITBEAT_INSTRUCTIONS = createAuditbeatInstructions(context); - - const variants = []; - for (let i = 0; i < platforms.length; i++) { - const platform = platforms[i]; - const instructions = []; - instructions.push(AUDITBEAT_INSTRUCTIONS.INSTALL[platform]); - instructions.push(AUDITBEAT_INSTRUCTIONS.CONFIG[platform]); - instructions.push(AUDITBEAT_INSTRUCTIONS.START[platform]); - variants.push({ - id: INSTRUCTION_VARIANT[platform], - instructions, - }); - } - return { - instructionSets: [ - { - title: i18n.translate( - 'home.tutorials.common.auditbeat.premInstructions.gettingStarted.title', - { - defaultMessage: 'Getting Started', - } - ), - instructionVariants: variants, - statusCheck: auditbeatStatusCheck(), - }, - ], - }; -} diff --git a/src/plugins/home/server/tutorials/instructions/filebeat_instructions.ts b/src/plugins/home/server/tutorials/instructions/filebeat_instructions.ts deleted file mode 100644 index 0d47f760dd0c..000000000000 --- a/src/plugins/home/server/tutorials/instructions/filebeat_instructions.ts +++ /dev/null @@ -1,424 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { INSTRUCTION_VARIANT } from '../../../common/instruction_variant'; -import { getSpaceIdForBeatsTutorial } from './get_space_id_for_beats_tutorial'; -import { Platform, TutorialContext } from '../../services/tutorials/lib/tutorials_registry_types'; - -export const createFilebeatInstructions = (context?: TutorialContext) => ({ - INSTALL: { - OSX: { - title: i18n.translate('home.tutorials.common.filebeatInstructions.install.osxTitle', { - defaultMessage: 'Download and install Filebeat', - }), - textPre: i18n.translate('home.tutorials.common.filebeatInstructions.install.osxTextPre', { - defaultMessage: 'First time using Filebeat? See the [Quick Start]({linkUrl}).', - values: { - linkUrl: '{config.docs.beats.filebeat}/filebeat-installation-configuration.html', - }, - }), - commands: [ - 'curl -L -O https://artifacts.opensearch.org/downloads/beats/filebeat/filebeat-{config.opensearchDashboards.version}-darwin-x64.tar.gz', - 'tar xzvf filebeat-{config.opensearchDashboards.version}-darwin-x64.tar.gz', - 'cd filebeat-{config.opensearchDashboards.version}-darwin-x64/', - ], - }, - DEB: { - title: i18n.translate('home.tutorials.common.filebeatInstructions.install.debTitle', { - defaultMessage: 'Download and install Filebeat', - }), - textPre: i18n.translate('home.tutorials.common.filebeatInstructions.install.debTextPre', { - defaultMessage: 'First time using Filebeat? See the [Quick Start]({linkUrl}).', - values: { - linkUrl: '{config.docs.beats.filebeat}/filebeat-installation-configuration.html', - }, - }), - commands: [ - 'curl -L -O https://artifacts.opensearch.org/downloads/beats/filebeat/filebeat-{config.opensearchDashboards.version}-amd64.deb', - 'sudo dpkg -i filebeat-{config.opensearchDashboards.version}-amd64.deb', - ], - textPost: i18n.translate('home.tutorials.common.filebeatInstructions.install.debTextPost', { - defaultMessage: 'Looking for the 32-bit packages? See the [Download page]({linkUrl}).', - values: { - linkUrl: 'https://opensearch.org/docs/latest/downloads/beats/filebeat', - }, - }), - }, - RPM: { - title: i18n.translate('home.tutorials.common.filebeatInstructions.install.rpmTitle', { - defaultMessage: 'Download and install Filebeat', - }), - textPre: i18n.translate('home.tutorials.common.filebeatInstructions.install.rpmTextPre', { - defaultMessage: 'First time using Filebeat? See the [Quick Start]({linkUrl}).', - values: { - linkUrl: '{config.docs.beats.filebeat}/filebeat-installation-configuration.html', - }, - }), - commands: [ - 'curl -L -O https://artifacts.opensearch.org/downloads/beats/filebeat/filebeat-{config.opensearchDashboards.version}-x64.rpm', - 'sudo rpm -vi filebeat-{config.opensearchDashboards.version}-x64.rpm', - ], - textPost: i18n.translate('home.tutorials.common.filebeatInstructions.install.rpmTextPost', { - defaultMessage: 'Looking for the 32-bit packages? See the [Download page]({linkUrl}).', - values: { - linkUrl: 'https://opensearch.org/docs/latest/downloads/beats/filebeat', - }, - }), - }, - WINDOWS: { - title: i18n.translate('home.tutorials.common.filebeatInstructions.install.windowsTitle', { - defaultMessage: 'Download and install Filebeat', - }), - textPre: i18n.translate('home.tutorials.common.filebeatInstructions.install.windowsTextPre', { - defaultMessage: - 'First time using Filebeat? See the [Quick Start]({guideLinkUrl}).\n\ - 1. Download the Filebeat Windows zip file from the [Download]({filebeatLinkUrl}) page.\n\ - 2. Extract the contents of the zip file into {folderPath}.\n\ - 3. Rename the `{directoryName}` directory to `Filebeat`.\n\ - 4. Open a PowerShell prompt as an Administrator (right-click the PowerShell icon and select \ -**Run As Administrator**). If you are running Windows XP, you might need to download and install PowerShell.\n\ - 5. From the PowerShell prompt, run the following commands to install Filebeat as a Windows service.', - values: { - folderPath: '`C:\\Program Files`', - guideLinkUrl: '{config.docs.beats.filebeat}/filebeat-installation-configuration.html', - filebeatLinkUrl: 'https://opensearch.org/docs/latest/downloads/beats/filebeat', - directoryName: 'filebeat-{config.opensearchDashboards.version}-windows', - }, - }), - commands: ['cd "C:\\Program Files\\Filebeat"', '.\\install-service-filebeat.ps1'], - textPost: i18n.translate( - 'home.tutorials.common.filebeatInstructions.install.windowsTextPost', - { - defaultMessage: - 'Modify the settings under {propertyName} in the {filebeatPath} file to point to your OpenSearch installation.', - values: { - propertyName: '`output.opensearch`', - filebeatPath: '`C:\\Program Files\\Filebeat\\filebeat.yml`', - }, - } - ), - }, - }, - START: { - OSX: { - title: i18n.translate('home.tutorials.common.filebeatInstructions.start.osxTitle', { - defaultMessage: 'Start Filebeat', - }), - textPre: i18n.translate('home.tutorials.common.filebeatInstructions.start.osxTextPre', { - defaultMessage: - 'The `setup` command loads the OpenSearch Dashboards dashboards. If the dashboards are already set up, omit this command.', - }), - commands: ['./filebeat setup', './filebeat -e'], - }, - DEB: { - title: i18n.translate('home.tutorials.common.filebeatInstructions.start.debTitle', { - defaultMessage: 'Start Filebeat', - }), - textPre: i18n.translate('home.tutorials.common.filebeatInstructions.start.debTextPre', { - defaultMessage: - 'The `setup` command loads the OpenSearch Dashboards dashboards. If the dashboards are already set up, omit this command.', - }), - commands: ['sudo filebeat setup', 'sudo service filebeat start'], - }, - RPM: { - title: i18n.translate('home.tutorials.common.filebeatInstructions.start.rpmTitle', { - defaultMessage: 'Start Filebeat', - }), - textPre: i18n.translate('home.tutorials.common.filebeatInstructions.start.rpmTextPre', { - defaultMessage: - 'The `setup` command loads the OpenSearch Dashboards dashboards. If the dashboards are already set up, omit this command.', - }), - commands: ['sudo filebeat setup', 'sudo service filebeat start'], - }, - WINDOWS: { - title: i18n.translate('home.tutorials.common.filebeatInstructions.start.windowsTitle', { - defaultMessage: 'Start Filebeat', - }), - textPre: i18n.translate('home.tutorials.common.filebeatInstructions.start.windowsTextPre', { - defaultMessage: - 'The `setup` command loads the OpenSearch Dashboards dashboards. If the dashboards are already set up, omit this command.', - }), - commands: ['.\\filebeat.exe setup', 'Start-Service filebeat'], - }, - }, - CONFIG: { - OSX: { - title: i18n.translate('home.tutorials.common.filebeatInstructions.config.osxTitle', { - defaultMessage: 'Edit the configuration', - }), - textPre: i18n.translate('home.tutorials.common.filebeatInstructions.config.osxTextPre', { - defaultMessage: 'Modify {path} to set the connection information:', - values: { - path: '`filebeat.yml`', - }, - }), - commands: [ - 'output.opensearch:', - ' hosts: [""]', - ' username: "opensearch"', - ' password: ""', - 'setup.opensearchDashboards:', - ' host: ""', - getSpaceIdForBeatsTutorial(context), - ], - textPost: i18n.translate('home.tutorials.common.filebeatInstructions.config.osxTextPost', { - defaultMessage: - 'Where {passwordTemplate} is the password of the `opensearch` user, {opensearchUrlTemplate} is the URL of opensearch, \ -and {opensearchDashboardsUrlTemplate} is the URL of OpenSearch Dashboards.', - values: { - passwordTemplate: '``', - opensearchUrlTemplate: '``', - opensearchDashboardsUrlTemplate: '``', - }, - }), - }, - DEB: { - title: i18n.translate('home.tutorials.common.filebeatInstructions.config.debTitle', { - defaultMessage: 'Edit the configuration', - }), - textPre: i18n.translate('home.tutorials.common.filebeatInstructions.config.debTextPre', { - defaultMessage: 'Modify {path} to set the connection information:', - values: { - path: '`/etc/filebeat/filebeat.yml`', - }, - }), - commands: [ - 'output.opensearch:', - ' hosts: [""]', - ' username: "opensearch"', - ' password: ""', - 'setup.opensearchDashboards:', - ' host: ""', - getSpaceIdForBeatsTutorial(context), - ], - textPost: i18n.translate('home.tutorials.common.filebeatInstructions.config.debTextPost', { - defaultMessage: - 'Where {passwordTemplate} is the password of the `opensearch` user, {opensearchUrlTemplate} is the URL of opensearch, \ -and {opensearchDashboardsUrlTemplate} is the URL of OpenSearch Dashboards.', - values: { - passwordTemplate: '``', - opensearchUrlTemplate: '``', - opensearchDashboardsUrlTemplate: '``', - }, - }), - }, - RPM: { - title: i18n.translate('home.tutorials.common.filebeatInstructions.config.rpmTitle', { - defaultMessage: 'Edit the configuration', - }), - textPre: i18n.translate('home.tutorials.common.filebeatInstructions.config.rpmTextPre', { - defaultMessage: 'Modify {path} to set the connection information:', - values: { - path: '`/etc/filebeat/filebeat.yml`', - }, - }), - commands: [ - 'output.opensearch:', - ' hosts: [""]', - ' username: "opensearch"', - ' password: ""', - 'setup.opensearchDashboards:', - ' host: ""', - getSpaceIdForBeatsTutorial(context), - ], - textPost: i18n.translate('home.tutorials.common.filebeatInstructions.config.rpmTextPost', { - defaultMessage: - 'Where {passwordTemplate} is the password of the `opensearch` user, {opensearchUrlTemplate} is the URL of opensearch, \ -and {opensearchDashboardsUrlTemplate} is the URL of OpenSearch Dashboards.', - values: { - passwordTemplate: '``', - opensearchUrlTemplate: '``', - opensearchDashboardsUrlTemplate: '``', - }, - }), - }, - WINDOWS: { - title: i18n.translate('home.tutorials.common.filebeatInstructions.config.windowsTitle', { - defaultMessage: 'Edit the configuration', - }), - textPre: i18n.translate('home.tutorials.common.filebeatInstructions.config.windowsTextPre', { - defaultMessage: 'Modify {path} to set the connection information:', - values: { - path: '`C:\\Program Files\\Filebeat\\filebeat.yml`', - }, - }), - commands: [ - 'output.opensearch:', - ' hosts: [""]', - ' username: "opensearch"', - ' password: ""', - 'setup.opensearchDashboards:', - ' host: ""', - getSpaceIdForBeatsTutorial(context), - ], - textPost: i18n.translate( - 'home.tutorials.common.filebeatInstructions.config.windowsTextPost', - { - defaultMessage: - 'Where {passwordTemplate} is the password of the `opensearch` user, {opensearchUrlTemplate} is the URL of opensearch, \ -and {opensearchDashboardsUrlTemplate} is the URL of OpenSearch Dashboards.', - values: { - passwordTemplate: '``', - opensearchUrlTemplate: '``', - opensearchDashboardsUrlTemplate: '``', - }, - } - ), - }, - }, -}); - -export function filebeatEnableInstructions(moduleName: string) { - return { - OSX: { - title: i18n.translate('home.tutorials.common.filebeatEnableInstructions.osxTitle', { - defaultMessage: 'Enable and configure the {moduleName} module', - values: { moduleName }, - }), - textPre: i18n.translate('home.tutorials.common.filebeatEnableInstructions.osxTextPre', { - defaultMessage: 'From the installation directory, run:', - }), - commands: ['./filebeat modules enable ' + moduleName], - textPost: i18n.translate('home.tutorials.common.filebeatEnableInstructions.osxTextPost', { - defaultMessage: 'Modify the settings in the `modules.d/{moduleName}.yml` file.', - values: { moduleName }, - }), - }, - DEB: { - title: i18n.translate('home.tutorials.common.filebeatEnableInstructions.debTitle', { - defaultMessage: 'Enable and configure the {moduleName} module', - values: { moduleName }, - }), - commands: ['sudo filebeat modules enable ' + moduleName], - textPost: i18n.translate('home.tutorials.common.filebeatEnableInstructions.debTextPost', { - defaultMessage: - 'Modify the settings in the `/etc/filebeat/modules.d/{moduleName}.yml` file.', - values: { moduleName }, - }), - }, - RPM: { - title: i18n.translate('home.tutorials.common.filebeatEnableInstructions.rpmTitle', { - defaultMessage: 'Enable and configure the {moduleName} module', - values: { moduleName }, - }), - commands: ['sudo filebeat modules enable ' + moduleName], - textPost: i18n.translate('home.tutorials.common.filebeatEnableInstructions.rpmTextPost', { - defaultMessage: - 'Modify the settings in the `/etc/filebeat/modules.d/{moduleName}.yml` file.', - values: { moduleName }, - }), - }, - WINDOWS: { - title: i18n.translate('home.tutorials.common.filebeatEnableInstructions.windowsTitle', { - defaultMessage: 'Enable and configure the {moduleName} module', - values: { moduleName }, - }), - textPre: i18n.translate('home.tutorials.common.filebeatEnableInstructions.windowsTextPre', { - defaultMessage: 'From the {path} folder, run:', - values: { path: `C:\\Program Files\\Filebeat` }, - }), - commands: ['filebeat.exe modules enable ' + moduleName], - textPost: i18n.translate('home.tutorials.common.filebeatEnableInstructions.windowsTextPost', { - defaultMessage: 'Modify the settings in the `modules.d/{moduleName}.yml` file.', - values: { moduleName }, - }), - }, - }; -} - -export function filebeatStatusCheck(moduleName: string) { - return { - title: i18n.translate('home.tutorials.common.filebeatStatusCheck.title', { - defaultMessage: 'Module status', - }), - text: i18n.translate('home.tutorials.common.filebeatStatusCheck.text', { - defaultMessage: 'Check that data is received from the Filebeat `{moduleName}` module', - values: { moduleName }, - }), - btnLabel: i18n.translate('home.tutorials.common.filebeatStatusCheck.buttonLabel', { - defaultMessage: 'Check data', - }), - success: i18n.translate('home.tutorials.common.filebeatStatusCheck.successText', { - defaultMessage: 'Data successfully received from this module', - }), - error: i18n.translate('home.tutorials.common.filebeatStatusCheck.errorText', { - defaultMessage: 'No data has been received from this module yet', - }), - opensearchHitsCheck: { - index: 'filebeat-*', - query: { - bool: { - filter: { - term: { - 'event.module': moduleName, - }, - }, - }, - }, - }, - }; -} - -export function onPremInstructions( - moduleName: string, - platforms: readonly Platform[] = [], - context?: TutorialContext -) { - const FILEBEAT_INSTRUCTIONS = createFilebeatInstructions(context); - - const variants = []; - for (let i = 0; i < platforms.length; i++) { - const platform = platforms[i]; - const instructions = []; - instructions.push(FILEBEAT_INSTRUCTIONS.INSTALL[platform]); - instructions.push(FILEBEAT_INSTRUCTIONS.CONFIG[platform]); - instructions.push(filebeatEnableInstructions(moduleName)[platform]); - instructions.push(FILEBEAT_INSTRUCTIONS.START[platform]); - variants.push({ - id: INSTRUCTION_VARIANT[platform], - instructions, - }); - } - return { - instructionSets: [ - { - title: i18n.translate( - 'home.tutorials.common.filebeat.premInstructions.gettingStarted.title', - { - defaultMessage: 'Getting Started', - } - ), - instructionVariants: variants, - statusCheck: filebeatStatusCheck(moduleName), - }, - ], - }; -} diff --git a/src/plugins/home/server/tutorials/instructions/functionbeat_instructions.ts b/src/plugins/home/server/tutorials/instructions/functionbeat_instructions.ts deleted file mode 100644 index add467f39645..000000000000 --- a/src/plugins/home/server/tutorials/instructions/functionbeat_instructions.ts +++ /dev/null @@ -1,367 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { INSTRUCTION_VARIANT } from '../../../common/instruction_variant'; -import { getSpaceIdForBeatsTutorial } from './get_space_id_for_beats_tutorial'; -import { Platform, TutorialContext } from '../../services/tutorials/lib/tutorials_registry_types'; - -export const createFunctionbeatInstructions = (context?: TutorialContext) => ({ - INSTALL: { - OSX: { - title: i18n.translate('home.tutorials.common.functionbeatInstructions.install.osxTitle', { - defaultMessage: 'Download and install Functionbeat', - }), - textPre: i18n.translate('home.tutorials.common.functionbeatInstructions.install.osxTextPre', { - defaultMessage: 'First time using Functionbeat? See the [Quick Start]({link}).', - values: { - link: '{config.docs.beats.functionbeat}/functionbeat-installation-configuration.html', - }, - }), - commands: [ - 'curl -L -O https://artifacts.opensearch.org/downloads/beats/functionbeat/functionbeat-{config.opensearchDashboards.version}-darwin-x64.tar.gz', - 'tar xzvf functionbeat-{config.opensearchDashboards.version}-darwin-x64.tar.gz', - 'cd functionbeat-{config.opensearchDashboards.version}-darwin-x64/', - ], - }, - LINUX: { - title: i18n.translate('home.tutorials.common.functionbeatInstructions.install.linuxTitle', { - defaultMessage: 'Download and install Functionbeat', - }), - textPre: i18n.translate( - 'home.tutorials.common.functionbeatInstructions.install.linuxTextPre', - { - defaultMessage: 'First time using Functionbeat? See the [Quick Start]({link}).', - values: { - link: '{config.docs.beats.functionbeat}/functionbeat-installation-configuration.html', - }, - } - ), - commands: [ - 'curl -L -O https://artifacts.opensearch.org/downloads/beats/functionbeat/functionbeat-{config.opensearchDashboards.version}-linux-x64.tar.gz', - 'tar xzvf functionbeat-{config.opensearchDashboards.version}-linux-x64.tar.gz', - 'cd functionbeat-{config.opensearchDashboards.version}-linux-x64/', - ], - }, - WINDOWS: { - title: i18n.translate('home.tutorials.common.functionbeatInstructions.install.windowsTitle', { - defaultMessage: 'Download and install Functionbeat', - }), - textPre: i18n.translate( - 'home.tutorials.common.functionbeatInstructions.install.windowsTextPre', - { - defaultMessage: - 'First time using Functionbeat? See the [Quick Start]({functionbeatLink}).\n\ - 1. Download the Functionbeat Windows zip file from the [Download]({opensearchLink}) page.\n\ - 2. Extract the contents of the zip file into {folderPath}.\n\ - 3. Rename the {directoryName} directory to `Functionbeat`.\n\ - 4. Open a PowerShell prompt as an Administrator (right-click the PowerShell icon and select \ -**Run As Administrator**). If you are running Windows XP, you might need to download and install PowerShell.\n\ - 5. From the PowerShell prompt, go to the Functionbeat directory:', - values: { - directoryName: '`functionbeat-{config.opensearchDashboards.version}-windows`', - folderPath: '`C:\\Program Files`', - functionbeatLink: - '{config.docs.beats.functionbeat}/functionbeat-installation-configuration.html', - opensearchLink: 'https://opensearch.org/docs/latest/downloads/beats/functionbeat', - }, - } - ), - commands: ['cd "C:\\Program Files\\Functionbeat"'], - }, - }, - DEPLOY: { - OSX_LINUX: { - title: i18n.translate('home.tutorials.common.functionbeatInstructions.deploy.osxTitle', { - defaultMessage: 'Deploy Functionbeat to AWS Lambda', - }), - textPre: i18n.translate('home.tutorials.common.functionbeatInstructions.deploy.osxTextPre', { - defaultMessage: - 'This installs Functionbeat as a Lambda function.\ -The `setup` command checks the opensearch configuration and loads the \ -OpenSearch Dashboards index pattern. It is normally safe to omit this command.', - }), - commands: ['./functionbeat setup', './functionbeat deploy fn-cloudwatch-logs'], - }, - WINDOWS: { - title: i18n.translate('home.tutorials.common.functionbeatInstructions.deploy.windowsTitle', { - defaultMessage: 'Deploy Functionbeat to AWS Lambda', - }), - textPre: i18n.translate( - 'home.tutorials.common.functionbeatInstructions.deploy.windowsTextPre', - { - defaultMessage: - 'This installs Functionbeat as a Lambda function.\ -The `setup` command checks the opensearch configuration and loads the \ -OpenSearch Dashboards index pattern. It is normally safe to omit this command.', - } - ), - commands: ['.\\functionbeat.exe setup', '.\\functionbeat.exe deploy fn-cloudwatch-logs'], - }, - }, - CONFIG: { - OSX_LINUX: { - title: i18n.translate('home.tutorials.common.functionbeatInstructions.config.osxTitle', { - defaultMessage: 'Configure the OpenSearch cluster', - }), - textPre: i18n.translate('home.tutorials.common.functionbeatInstructions.config.osxTextPre', { - defaultMessage: 'Modify {path} to set the connection information:', - values: { - path: '`functionbeat.yml`', - }, - }), - commands: [ - 'output.opensearch:', - ' hosts: [""]', - ' username: "opensearch"', - ' password: ""', - 'setup.opensearchDashboards:', - ' host: ""', - getSpaceIdForBeatsTutorial(context), - ], - textPost: i18n.translate( - 'home.tutorials.common.functionbeatInstructions.config.osxTextPost', - { - defaultMessage: - 'Where {passwordTemplate} is the password of the `opensearch` user, {opensearchUrlTemplate} is the URL of opensearch, \ -and {opensearchDashboardsUrlTemplate} is the URL of OpenSearch Dashboards.', - values: { - passwordTemplate: '``', - opensearchUrlTemplate: '``', - opensearchDashboardsUrlTemplate: '``', - }, - } - ), - }, - WINDOWS: { - title: i18n.translate('home.tutorials.common.functionbeatInstructions.config.windowsTitle', { - defaultMessage: 'Edit the configuration', - }), - textPre: i18n.translate( - 'home.tutorials.common.functionbeatInstructions.config.windowsTextPre', - { - defaultMessage: 'Modify {path} to set the connection information:', - values: { - path: '`C:\\Program Files\\Functionbeat\\functionbeat.yml`', - }, - } - ), - commands: [ - 'output.opensearch:', - ' hosts: [""]', - ' username: "opensearch"', - ' password: ""', - 'setup.opensearchDashboards:', - ' host: ""', - getSpaceIdForBeatsTutorial(context), - ], - textPost: i18n.translate( - 'home.tutorials.common.functionbeatInstructions.config.windowsTextPost', - { - defaultMessage: - 'Where {passwordTemplate} is the password of the `opensearch` user, {opensearchUrlTemplate} is the URL of opensearch, \ -and {opensearchDashboardsUrlTemplate} is the URL of OpenSearch Dashboards.', - values: { - passwordTemplate: '``', - opensearchUrlTemplate: '``', - opensearchDashboardsUrlTemplate: '``', - }, - } - ), - }, - }, -}); - -export function functionbeatEnableInstructions() { - const defaultTitle = i18n.translate( - 'home.tutorials.common.functionbeatEnableOnPremInstructions.defaultTitle', - { - defaultMessage: 'Configure the Cloudwatch log group', - } - ); - const defaultCommands = [ - 'functionbeat.provider.aws.functions:', - ' - name: fn-cloudwatch-logs', - ' enabled: true', - ' type: cloudwatch_logs', - ' triggers:', - ' - log_group_name: ', - 'functionbeat.provider.aws.deploy_bucket: ', - ]; - const defaultTextPost = i18n.translate( - 'home.tutorials.common.functionbeatEnableOnPremInstructions.defaultTextPost', - { - defaultMessage: - 'Where `` is the name of the log group you want to ingest, \ -and `` is a valid S3 bucket name which will be used for staging the \ -Functionbeat deploy.', - } - ); - return { - OSX_LINUX: { - title: defaultTitle, - textPre: i18n.translate( - 'home.tutorials.common.functionbeatEnableOnPremInstructionsOSXLinux.textPre', - { - defaultMessage: 'Modify the settings in the `functionbeat.yml` file.', - } - ), - commands: defaultCommands, - textPost: defaultTextPost, - }, - WINDOWS: { - title: defaultTitle, - textPre: i18n.translate( - 'home.tutorials.common.functionbeatEnableOnPremInstructionsWindows.textPre', - { - defaultMessage: 'Modify the settings in the {path} file.', - values: { - path: '`C:\\Program Files\\Functionbeat\\functionbeat.yml`', - }, - } - ), - commands: defaultCommands, - textPost: defaultTextPost, - }, - }; -} - -export function functionbeatAWSInstructions() { - const defaultTitle = i18n.translate('home.tutorials.common.functionbeatAWSInstructions.title', { - defaultMessage: 'Set AWS credentials', - }); - const defaultPre = i18n.translate('home.tutorials.common.functionbeatAWSInstructions.textPre', { - defaultMessage: 'Set your AWS account credentials in the environment:', - }); - const defaultPost = i18n.translate('home.tutorials.common.functionbeatAWSInstructions.textPost', { - defaultMessage: - 'Where `` and `` are your account credentials and \ -`us-east-1` is the desired region.', - }); - - return { - OSX_LINUX: { - title: defaultTitle, - textPre: defaultPre, - commands: [ - 'export AWS_ACCESS_KEY_ID=', - 'export AWS_SECRET_ACCESS_KEY=', - 'export AWS_DEFAULT_REGION=us-east-1', - ], - textPost: defaultPost, - }, - WINDOWS: { - title: defaultTitle, - textPre: defaultPre, - commands: [ - 'set AWS_ACCESS_KEY_ID=', - 'set AWS_SECRET_ACCESS_KEY=', - 'set AWS_DEFAULT_REGION=us-east-1', - ], - textPost: defaultPost, - }, - }; -} - -export function functionbeatStatusCheck() { - return { - title: i18n.translate('home.tutorials.common.functionbeatStatusCheck.title', { - defaultMessage: 'Functionbeat status', - }), - text: i18n.translate('home.tutorials.common.functionbeatStatusCheck.text', { - defaultMessage: 'Check that data is received from Functionbeat', - }), - btnLabel: i18n.translate('home.tutorials.common.functionbeatStatusCheck.buttonLabel', { - defaultMessage: 'Check data', - }), - success: i18n.translate('home.tutorials.common.functionbeatStatusCheck.successText', { - defaultMessage: 'Data successfully received from Functionbeat', - }), - error: i18n.translate('home.tutorials.common.functionbeatStatusCheck.errorText', { - defaultMessage: 'No data has been received from Functionbeat yet', - }), - opensearchHitsCheck: { - index: 'functionbeat-*', - query: { - match_all: {}, - }, - }, - }; -} - -export function onPremInstructions(platforms: Platform[], context?: TutorialContext) { - const FUNCTIONBEAT_INSTRUCTIONS = createFunctionbeatInstructions(context); - - return { - instructionSets: [ - { - title: i18n.translate( - 'home.tutorials.common.functionbeat.premInstructions.gettingStarted.title', - { - defaultMessage: 'Getting Started', - } - ), - instructionVariants: [ - { - id: INSTRUCTION_VARIANT.OSX, - instructions: [ - FUNCTIONBEAT_INSTRUCTIONS.INSTALL.OSX, - functionbeatAWSInstructions().OSX_LINUX, - functionbeatEnableInstructions().OSX_LINUX, - FUNCTIONBEAT_INSTRUCTIONS.CONFIG.OSX_LINUX, - FUNCTIONBEAT_INSTRUCTIONS.DEPLOY.OSX_LINUX, - ], - }, - { - id: INSTRUCTION_VARIANT.LINUX, - instructions: [ - FUNCTIONBEAT_INSTRUCTIONS.INSTALL.LINUX, - functionbeatAWSInstructions().OSX_LINUX, - functionbeatEnableInstructions().OSX_LINUX, - FUNCTIONBEAT_INSTRUCTIONS.CONFIG.OSX_LINUX, - FUNCTIONBEAT_INSTRUCTIONS.DEPLOY.OSX_LINUX, - ], - }, - { - id: INSTRUCTION_VARIANT.WINDOWS, - instructions: [ - FUNCTIONBEAT_INSTRUCTIONS.INSTALL.WINDOWS, - functionbeatAWSInstructions().WINDOWS, - functionbeatEnableInstructions().WINDOWS, - FUNCTIONBEAT_INSTRUCTIONS.CONFIG.WINDOWS, - FUNCTIONBEAT_INSTRUCTIONS.DEPLOY.WINDOWS, - ], - }, - ], - statusCheck: functionbeatStatusCheck(), - }, - ], - }; -} diff --git a/src/plugins/home/server/tutorials/instructions/get_space_id_for_beats_tutorial.ts b/src/plugins/home/server/tutorials/instructions/get_space_id_for_beats_tutorial.ts deleted file mode 100644 index 2b1082c31c59..000000000000 --- a/src/plugins/home/server/tutorials/instructions/get_space_id_for_beats_tutorial.ts +++ /dev/null @@ -1,45 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 { TutorialContext } from '../../services/tutorials/lib/tutorials_registry_types'; - -/** - * Returns valid configuration for a beat.yml file for adding the space id - * if there is an active space and that space is not the default one. - * - * @param {object} context - Context object generated from tutorial factory (see #22760) - */ -export function getSpaceIdForBeatsTutorial(context?: TutorialContext) { - if (!context || !context.spaceId || context.isInDefaultSpace) { - return ''; - } - - return ` space.id: "${context.spaceId}"`; -} diff --git a/src/plugins/home/server/tutorials/instructions/heartbeat_instructions.ts b/src/plugins/home/server/tutorials/instructions/heartbeat_instructions.ts deleted file mode 100644 index 4c85c0dbc960..000000000000 --- a/src/plugins/home/server/tutorials/instructions/heartbeat_instructions.ts +++ /dev/null @@ -1,491 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { INSTRUCTION_VARIANT } from '../../../common/instruction_variant'; -import { getSpaceIdForBeatsTutorial } from './get_space_id_for_beats_tutorial'; -import { Platform, TutorialContext } from '../../services/tutorials/lib/tutorials_registry_types'; - -export const createHeartbeatInstructions = (context?: TutorialContext) => ({ - INSTALL: { - OSX: { - title: i18n.translate('home.tutorials.common.heartbeatInstructions.install.osxTitle', { - defaultMessage: 'Download and install Heartbeat', - }), - textPre: i18n.translate('home.tutorials.common.heartbeatInstructions.install.osxTextPre', { - defaultMessage: 'First time using Heartbeat? See the [Quick Start]({link}).', - values: { link: '{config.docs.beats.heartbeat}/heartbeat-installation-configuration.html' }, - }), - commands: [ - 'curl -L -O https://artifacts.opensearch.org/downloads/beats/heartbeat/heartbeat-{config.opensearchDashboards.version}-darwin-x64.tar.gz', - 'tar xzvf heartbeat-{config.opensearchDashboards.version}-darwin-x64.tar.gz', - 'cd heartbeat-{config.opensearchDashboards.version}-darwin-x64/', - ], - }, - DEB: { - title: i18n.translate('home.tutorials.common.heartbeatInstructions.install.debTitle', { - defaultMessage: 'Download and install Heartbeat', - }), - textPre: i18n.translate('home.tutorials.common.heartbeatInstructions.install.debTextPre', { - defaultMessage: 'First time using Heartbeat? See the [Quick Start]({link}).', - values: { link: '{config.docs.beats.heartbeat}/heartbeat-installation-configuration.html' }, - }), - commands: [ - 'curl -L -O https://artifacts.opensearch.org/downloads/beats/heartbeat/heartbeat-{config.opensearchDashboards.version}-amd64.deb', - 'sudo dpkg -i heartbeat-{config.opensearchDashboards.version}-amd64.deb', - ], - textPost: i18n.translate('home.tutorials.common.heartbeatInstructions.install.debTextPost', { - defaultMessage: 'Looking for the 32-bit packages? See the [Download page]({link}).', - values: { link: 'https://opensearch.org/docs/latest/downloads/beats/heartbeat' }, - }), - }, - RPM: { - title: i18n.translate('home.tutorials.common.heartbeatInstructions.install.rpmTitle', { - defaultMessage: 'Download and install Heartbeat', - }), - textPre: i18n.translate('home.tutorials.common.heartbeatInstructions.install.rpmTextPre', { - defaultMessage: 'First time using Heartbeat? See the [Quick Start]({link}).', - values: { link: '{config.docs.beats.heartbeat}/heartbeat-installation-configuration.html' }, - }), - commands: [ - 'curl -L -O https://artifacts.opensearch.org/downloads/beats/heartbeat/heartbeat-{config.opensearchDashboards.version}-x64.rpm', - 'sudo rpm -vi heartbeat-{config.opensearchDashboards.version}-x64.rpm', - ], - textPost: i18n.translate('home.tutorials.common.heartbeatInstructions.install.debTextPost', { - defaultMessage: 'Looking for the 32-bit packages? See the [Download page]({link}).', - values: { link: 'https://opensearch.org/docs/latest/downloads/beats/heartbeat' }, - }), - }, - WINDOWS: { - title: i18n.translate('home.tutorials.common.heartbeatInstructions.install.windowsTitle', { - defaultMessage: 'Download and install Heartbeat', - }), - textPre: i18n.translate( - 'home.tutorials.common.heartbeatInstructions.install.windowsTextPre', - { - defaultMessage: - 'First time using Heartbeat? See the [Quick Start]({heartbeatLink}).\n\ - 1. Download the Heartbeat Windows zip file from the [Download]({opensearchLink}) page.\n\ - 2. Extract the contents of the zip file into {folderPath}.\n\ - 3. Rename the {directoryName} directory to `Heartbeat`.\n\ - 4. Open a PowerShell prompt as an Administrator (right-click the PowerShell icon and select \ -**Run As Administrator**). If you are running Windows XP, you might need to download and install PowerShell.\n\ - 5. From the PowerShell prompt, run the following commands to install Heartbeat as a Windows service.', - values: { - directoryName: '`heartbeat-{config.opensearchDashboards.version}-windows`', - folderPath: '`C:\\Program Files`', - heartbeatLink: - '{config.docs.beats.heartbeat}/heartbeat-installation-configuration.html', - opensearchLink: 'https://opensearch.org/docs/latest/downloads/beats/heartbeat', - }, - } - ), - commands: ['cd "C:\\Program Files\\Heartbeat"', '.\\install-service-heartbeat.ps1'], - }, - }, - START: { - OSX: { - title: i18n.translate('home.tutorials.common.heartbeatInstructions.start.osxTitle', { - defaultMessage: 'Start Heartbeat', - }), - textPre: i18n.translate('home.tutorials.common.heartbeatInstructions.start.osxTextPre', { - defaultMessage: 'The `setup` command loads the OpenSearch Dashboards index pattern.', - }), - commands: ['./heartbeat setup', './heartbeat -e'], - }, - DEB: { - title: i18n.translate('home.tutorials.common.heartbeatInstructions.start.debTitle', { - defaultMessage: 'Start Heartbeat', - }), - textPre: i18n.translate('home.tutorials.common.heartbeatInstructions.start.debTextPre', { - defaultMessage: 'The `setup` command loads the OpenSearch Dashboards index pattern.', - }), - commands: ['sudo heartbeat setup', 'sudo service heartbeat-elastic start'], - }, - RPM: { - title: i18n.translate('home.tutorials.common.heartbeatInstructions.start.rpmTitle', { - defaultMessage: 'Start Heartbeat', - }), - textPre: i18n.translate('home.tutorials.common.heartbeatInstructions.start.rpmTextPre', { - defaultMessage: 'The `setup` command loads the OpenSearch Dashboards index pattern.', - }), - commands: ['sudo heartbeat setup', 'sudo service heartbeat-elastic start'], - }, - WINDOWS: { - title: i18n.translate('home.tutorials.common.heartbeatInstructions.start.windowsTitle', { - defaultMessage: 'Start Heartbeat', - }), - textPre: i18n.translate('home.tutorials.common.heartbeatInstructions.start.windowsTextPre', { - defaultMessage: 'The `setup` command loads the OpenSearch Dashboards index pattern.', - }), - commands: ['.\\heartbeat.exe setup', 'Start-Service heartbeat'], - }, - }, - CONFIG: { - OSX: { - title: i18n.translate('home.tutorials.common.heartbeatInstructions.config.osxTitle', { - defaultMessage: 'Edit the configuration', - }), - textPre: i18n.translate('home.tutorials.common.heartbeatInstructions.config.osxTextPre', { - defaultMessage: 'Modify {path} to set the connection information:', - values: { - path: '`heartbeat.yml`', - }, - }), - commands: [ - 'output.opensearch:', - ' hosts: [""]', - ' username: "opensearch"', - ' password: ""', - 'setup.opensearchDashboards:', - ' host: ""', - getSpaceIdForBeatsTutorial(context), - ], - textPost: i18n.translate('home.tutorials.common.heartbeatInstructions.config.osxTextPost', { - defaultMessage: - 'Where {passwordTemplate} is the password of the `opensearch` user, {opensearchUrlTemplate} is the URL of opensearch, \ -and {opensearchDashboardsUrlTemplate} is the URL of OpenSearch Dashboards.', - values: { - passwordTemplate: '``', - opensearchUrlTemplate: '``', - opensearchDashboardsUrlTemplate: '``', - }, - }), - }, - DEB: { - title: i18n.translate('home.tutorials.common.heartbeatInstructions.config.debTitle', { - defaultMessage: 'Edit the configuration', - }), - textPre: i18n.translate('home.tutorials.common.heartbeatInstructions.config.debTextPre', { - defaultMessage: 'Modify {path} to set the connection information:', - values: { - path: '`/etc/heartbeat/heartbeat.yml`', - }, - }), - commands: [ - 'output.opensearch:', - ' hosts: [""]', - ' username: "opensearch"', - ' password: ""', - 'setup.opensearchDashboards:', - ' host: ""', - getSpaceIdForBeatsTutorial(context), - ], - textPost: i18n.translate('home.tutorials.common.heartbeatInstructions.config.debTextPost', { - defaultMessage: - 'Where {passwordTemplate} is the password of the `opensearch` user, {opensearchUrlTemplate} is the URL of opensearch, \ -and {opensearchDashboardsUrlTemplate} is the URL of OpenSearch Dashboards.', - values: { - passwordTemplate: '``', - opensearchUrlTemplate: '``', - opensearchDashboardsUrlTemplate: '``', - }, - }), - }, - RPM: { - title: i18n.translate('home.tutorials.common.heartbeatInstructions.config.rpmTitle', { - defaultMessage: 'Edit the configuration', - }), - textPre: i18n.translate('home.tutorials.common.heartbeatInstructions.config.rpmTextPre', { - defaultMessage: 'Modify {path} to set the connection information:', - values: { - path: '`/etc/heartbeat/heartbeat.yml`', - }, - }), - commands: [ - 'output.opensearch:', - ' hosts: [""]', - ' username: "opensearch"', - ' password: ""', - 'setup.opensearchDashboards:', - ' host: ""', - getSpaceIdForBeatsTutorial(context), - ], - textPost: i18n.translate('home.tutorials.common.heartbeatInstructions.config.rpmTextPost', { - defaultMessage: - 'Where {passwordTemplate} is the password of the `opensearch` user, {opensearchUrlTemplate} is the URL of opensearch, \ -and {opensearchDashboardsUrlTemplate} is the URL of OpenSearch Dashboards.', - values: { - passwordTemplate: '``', - opensearchUrlTemplate: '``', - opensearchDashboardsUrlTemplate: '``', - }, - }), - }, - WINDOWS: { - title: i18n.translate('home.tutorials.common.heartbeatInstructions.config.windowsTitle', { - defaultMessage: 'Edit the configuration', - }), - textPre: i18n.translate('home.tutorials.common.heartbeatInstructions.config.windowsTextPre', { - defaultMessage: 'Modify {path} to set the connection information:', - values: { - path: '`C:\\Program Files\\Heartbeat\\heartbeat.yml`', - }, - }), - commands: [ - 'output.opensearch:', - ' hosts: [""]', - ' username: "opensearch"', - ' password: ""', - 'setup.opensearchDashboards:', - ' host: ""', - getSpaceIdForBeatsTutorial(context), - ], - textPost: i18n.translate( - 'home.tutorials.common.heartbeatInstructions.config.windowsTextPost', - { - defaultMessage: - 'Where {passwordTemplate} is the password of the `opensearch` user, {opensearchUrlTemplate} is the URL of opensearch, \ -and {opensearchDashboardsUrlTemplate} is the URL of OpenSearch Dashboards.', - values: { - passwordTemplate: '``', - opensearchUrlTemplate: '``', - opensearchDashboardsUrlTemplate: '``', - }, - } - ), - }, - }, -}); - -export function heartbeatEnableInstructionsOnPrem() { - const defaultTitle = i18n.translate( - 'home.tutorials.common.heartbeatEnableOnPremInstructions.defaultTitle', - { - defaultMessage: 'Edit the configuration - Add monitors', - } - ); - const defaultCommands = [ - 'heartbeat.monitors:', - '- type: http', - ' urls: [""]', - ' schedule: "@every 10s"', - ]; - const defaultTextPost = i18n.translate( - 'home.tutorials.common.heartbeatEnableOnPremInstructions.defaultTextPost', - { - defaultMessage: - 'Where {hostTemplate} is your monitored URL, For more details on how to configure Monitors in \ - Heartbeat, read the [Heartbeat configuration docs.]({configureLink})', - values: { - configureLink: '{config.docs.beats.heartbeat}/configuring-howto-heartbeat.html', - hostTemplate: '``', - }, - } - ); - return { - OSX: { - title: defaultTitle, - textPre: i18n.translate( - 'home.tutorials.common.heartbeatEnableOnPremInstructions.osxTextPre', - { - defaultMessage: 'Edit the `heartbeat.monitors` setting in the `heartbeat.yml` file.', - } - ), - commands: defaultCommands, - textPost: defaultTextPost, - }, - DEB: { - title: defaultTitle, - textPre: i18n.translate( - 'home.tutorials.common.heartbeatEnableOnPremInstructions.debTextPre', - { - defaultMessage: 'Edit the `heartbeat.monitors` setting in the `heartbeat.yml` file.', - } - ), - commands: defaultCommands, - textPost: defaultTextPost, - }, - RPM: { - title: defaultTitle, - textPre: i18n.translate( - 'home.tutorials.common.heartbeatEnableOnPremInstructions.rpmTextPre', - { - defaultMessage: 'Edit the `heartbeat.monitors` setting in the `heartbeat.yml` file.', - } - ), - commands: defaultCommands, - textPost: defaultTextPost, - }, - WINDOWS: { - title: defaultTitle, - textPre: i18n.translate( - 'home.tutorials.common.heartbeatEnableOnPremInstructions.windowsTextPre', - { - defaultMessage: 'Edit the `heartbeat.monitors` setting in the `heartbeat.yml` file.', - } - ), - commands: defaultCommands, - textPost: defaultTextPost, - }, - }; -} - -export function heartbeatEnableInstructionsCloud() { - const defaultTitle = i18n.translate( - 'home.tutorials.common.heartbeatEnableCloudInstructions.defaultTitle', - { - defaultMessage: 'Edit the configuration - Add monitors', - } - ); - const defaultCommands = [ - 'heartbeat.monitors:', - '- type: http', - ' urls: ["http://opensearch.org"]', - ' schedule: "@every 10s"', - ]; - const defaultTextPost = i18n.translate( - 'home.tutorials.common.heartbeatEnableCloudInstructions.defaultTextPost', - { - defaultMessage: - 'For more details on how to configure Monitors in Heartbeat, read the [Heartbeat configuration docs.]({configureLink})', - values: { configureLink: '{config.docs.beats.heartbeat}/configuring-howto-heartbeat.html' }, - } - ); - return { - OSX: { - title: defaultTitle, - textPre: i18n.translate('home.tutorials.common.heartbeatEnableCloudInstructions.osxTextPre', { - defaultMessage: 'Edit the `heartbeat.monitors` setting in the `heartbeat.yml` file.', - }), - commands: defaultCommands, - textPost: defaultTextPost, - }, - DEB: { - title: defaultTitle, - textPre: i18n.translate('home.tutorials.common.heartbeatEnableCloudInstructions.debTextPre', { - defaultMessage: 'Edit the `heartbeat.monitors` setting in the `heartbeat.yml` file.', - }), - commands: defaultCommands, - textPost: defaultTextPost, - }, - RPM: { - title: defaultTitle, - textPre: i18n.translate('home.tutorials.common.heartbeatEnableCloudInstructions.rpmTextPre', { - defaultMessage: 'Edit the `heartbeat.monitors` setting in the `heartbeat.yml` file.', - }), - commands: defaultCommands, - textPost: defaultTextPost, - }, - WINDOWS: { - title: defaultTitle, - textPre: i18n.translate( - 'home.tutorials.common.heartbeatEnableCloudInstructions.windowsTextPre', - { - defaultMessage: 'Edit the `heartbeat.monitors` setting in the `heartbeat.yml` file.', - } - ), - commands: defaultCommands, - textPost: defaultTextPost, - }, - }; -} - -export function heartbeatStatusCheck() { - return { - title: i18n.translate('home.tutorials.common.heartbeatStatusCheck.title', { - defaultMessage: 'Heartbeat status', - }), - text: i18n.translate('home.tutorials.common.heartbeatStatusCheck.text', { - defaultMessage: 'Check that data is received from Heartbeat', - }), - btnLabel: i18n.translate('home.tutorials.common.heartbeatStatusCheck.buttonLabel', { - defaultMessage: 'Check data', - }), - success: i18n.translate('home.tutorials.common.heartbeatStatusCheck.successText', { - defaultMessage: 'Data successfully received from Heartbeat', - }), - error: i18n.translate('home.tutorials.common.heartbeatStatusCheck.errorText', { - defaultMessage: 'No data has been received from Heartbeat yet', - }), - opensearchHitsCheck: { - index: 'heartbeat-*', - query: { - match_all: {}, - }, - }, - }; -} - -export function onPremInstructions(platforms: Platform[], context?: TutorialContext) { - const HEARTBEAT_INSTRUCTIONS = createHeartbeatInstructions(context); - - return { - instructionSets: [ - { - title: i18n.translate( - 'home.tutorials.common.heartbeat.premInstructions.gettingStarted.title', - { - defaultMessage: 'Getting Started', - } - ), - instructionVariants: [ - { - id: INSTRUCTION_VARIANT.OSX, - instructions: [ - HEARTBEAT_INSTRUCTIONS.INSTALL.OSX, - HEARTBEAT_INSTRUCTIONS.CONFIG.OSX, - heartbeatEnableInstructionsOnPrem().OSX, - HEARTBEAT_INSTRUCTIONS.START.OSX, - ], - }, - { - id: INSTRUCTION_VARIANT.DEB, - instructions: [ - HEARTBEAT_INSTRUCTIONS.INSTALL.DEB, - HEARTBEAT_INSTRUCTIONS.CONFIG.DEB, - heartbeatEnableInstructionsOnPrem().DEB, - HEARTBEAT_INSTRUCTIONS.START.DEB, - ], - }, - { - id: INSTRUCTION_VARIANT.RPM, - instructions: [ - HEARTBEAT_INSTRUCTIONS.INSTALL.RPM, - HEARTBEAT_INSTRUCTIONS.CONFIG.RPM, - heartbeatEnableInstructionsOnPrem().RPM, - HEARTBEAT_INSTRUCTIONS.START.RPM, - ], - }, - { - id: INSTRUCTION_VARIANT.WINDOWS, - instructions: [ - HEARTBEAT_INSTRUCTIONS.INSTALL.WINDOWS, - HEARTBEAT_INSTRUCTIONS.CONFIG.WINDOWS, - heartbeatEnableInstructionsOnPrem().WINDOWS, - HEARTBEAT_INSTRUCTIONS.START.WINDOWS, - ], - }, - ], - statusCheck: heartbeatStatusCheck(), - }, - ], - }; -} diff --git a/src/plugins/home/server/tutorials/instructions/logstash_instructions.ts b/src/plugins/home/server/tutorials/instructions/logstash_instructions.ts deleted file mode 100644 index defab1fc357b..000000000000 --- a/src/plugins/home/server/tutorials/instructions/logstash_instructions.ts +++ /dev/null @@ -1,117 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; - -export const createLogstashInstructions = () => ({ - INSTALL: { - OSX: [ - { - title: i18n.translate('home.tutorials.common.logstashInstructions.install.java.osxTitle', { - defaultMessage: 'Download and install the Java Runtime Environment', - }), - textPre: i18n.translate( - 'home.tutorials.common.logstashInstructions.install.java.osxTextPre', - { - defaultMessage: 'Follow the installation instructions [here]({link}).', - values: { - link: 'https://docs.oracle.com/javase/8/docs/technotes/guides/install/mac_jre.html', - }, - } - ), - }, - { - title: i18n.translate( - 'home.tutorials.common.logstashInstructions.install.logstash.osxTitle', - { - defaultMessage: 'Download and install Logstash', - } - ), - textPre: i18n.translate( - 'home.tutorials.common.logstashInstructions.install.logstash.osxTextPre', - { - defaultMessage: 'First time using Logstash? See the [Getting Started Guide]({link}).', - values: { - link: - '{config.docs.base_url}guide/en/logstash/current/getting-started-with-logstash.html', - }, - } - ), - commands: [ - 'curl -L -O https://artifacts.opensearch.org/downloads/logstash/logstash-{config.opensearchDashboards.version}.tar.gz', - 'tar xzvf logstash-{config.opensearchDashboards.version}.tar.gz', - ], - }, - ], - WINDOWS: [ - { - title: i18n.translate( - 'home.tutorials.common.logstashInstructions.install.java.windowsTitle', - { - defaultMessage: 'Download and install the Java Runtime Environment', - } - ), - textPre: i18n.translate( - 'home.tutorials.common.logstashInstructions.install.java.windowsTextPre', - { - defaultMessage: 'Follow the installation instructions [here]({link}).', - values: { - link: - 'https://docs.oracle.com/javase/8/docs/technotes/guides/install/windows_jre_install.html', - }, - } - ), - }, - { - title: i18n.translate( - 'home.tutorials.common.logstashInstructions.install.logstash.windowsTitle', - { - defaultMessage: 'Download and install Logstash', - } - ), - textPre: i18n.translate( - 'home.tutorials.common.logstashInstructions.install.logstash.windowsTextPre', - { - defaultMessage: - 'First time using Logstash? See the [Getting Started Guide]({logstashLink}).\n\ - 1. [Download]({opensearchLink}) the Logstash Windows zip file.\n\ - 2. Extract the contents of the zip file.', - values: { - logstashLink: - '{config.docs.base_url}guide/en/logstash/current/getting-started-with-logstash.html', - opensearchLink: - 'https://artifacts.opensearch.org/downloads/logstash/logstash-{config.opensearchDashboards.version}.zip', - }, - } - ), - }, - ], - }, -}); diff --git a/src/plugins/home/server/tutorials/instructions/metricbeat_instructions.ts b/src/plugins/home/server/tutorials/instructions/metricbeat_instructions.ts deleted file mode 100644 index 9a14075eab75..000000000000 --- a/src/plugins/home/server/tutorials/instructions/metricbeat_instructions.ts +++ /dev/null @@ -1,447 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { INSTRUCTION_VARIANT } from '../../../common/instruction_variant'; -import { getSpaceIdForBeatsTutorial } from './get_space_id_for_beats_tutorial'; -import { TutorialContext } from '../../services/tutorials/lib/tutorials_registry_types'; - -export const createMetricbeatInstructions = (context?: TutorialContext) => ({ - INSTALL: { - OSX: { - title: i18n.translate('home.tutorials.common.metricbeatInstructions.install.osxTitle', { - defaultMessage: 'Download and install Metricbeat', - }), - textPre: i18n.translate('home.tutorials.common.metricbeatInstructions.install.osxTextPre', { - defaultMessage: 'First time using Metricbeat? See the [Quick Start]({link}).', - values: { - link: '{config.docs.beats.metricbeat}/metricbeat-installation-configuration.html', - }, - }), - commands: [ - 'curl -L -O https://artifacts.opensearch.org/downloads/beats/metricbeat/metricbeat-{config.opensearchDashboards.version}-darwin-x64.tar.gz', - 'tar xzvf metricbeat-{config.opensearchDashboards.version}-darwin-x64.tar.gz', - 'cd metricbeat-{config.opensearchDashboards.version}-darwin-x64/', - ], - }, - DEB: { - title: i18n.translate('home.tutorials.common.metricbeatInstructions.install.debTitle', { - defaultMessage: 'Download and install Metricbeat', - }), - textPre: i18n.translate('home.tutorials.common.metricbeatInstructions.install.debTextPre', { - defaultMessage: 'First time using Metricbeat? See the [Quick Start]({link}).', - values: { - link: '{config.docs.beats.metricbeat}/metricbeat-installation-configuration.html', - }, - }), - commands: [ - 'curl -L -O https://artifacts.opensearch.org/downloads/beats/metricbeat/metricbeat-{config.opensearchDashboards.version}-amd64.deb', - 'sudo dpkg -i metricbeat-{config.opensearchDashboards.version}-amd64.deb', - ], - textPost: i18n.translate('home.tutorials.common.metricbeatInstructions.install.debTextPost', { - defaultMessage: 'Looking for the 32-bit packages? See the [Download page]({link}).', - values: { link: 'https://opensearch.org/docs/latest/downloads/beats/metricbeat' }, - }), - }, - RPM: { - title: i18n.translate('home.tutorials.common.metricbeatInstructions.install.rpmTitle', { - defaultMessage: 'Download and install Metricbeat', - }), - textPre: i18n.translate('home.tutorials.common.metricbeatInstructions.install.rpmTextPre', { - defaultMessage: 'First time using Metricbeat? See the [Quick Start]({link}).', - values: { - link: '{config.docs.beats.metricbeat}/metricbeat-installation-configuration.html', - }, - }), - commands: [ - 'curl -L -O https://artifacts.opensearch.org/downloads/beats/metricbeat/metricbeat-{config.opensearchDashboards.version}-x64.rpm', - 'sudo rpm -vi metricbeat-{config.opensearchDashboards.version}-x64.rpm', - ], - textPost: i18n.translate('home.tutorials.common.metricbeatInstructions.install.debTextPost', { - defaultMessage: 'Looking for the 32-bit packages? See the [Download page]({link}).', - values: { link: 'https://opensearch.org/docs/latest/downloads/beats/metricbeat' }, - }), - }, - WINDOWS: { - title: i18n.translate('home.tutorials.common.metricbeatInstructions.install.windowsTitle', { - defaultMessage: 'Download and install Metricbeat', - }), - textPre: i18n.translate( - 'home.tutorials.common.metricbeatInstructions.install.windowsTextPre', - { - defaultMessage: - 'First time using Metricbeat? See the [Quick Start]({metricbeatLink}).\n\ - 1. Download the Metricbeat Windows zip file from the [Download]({opensearchLink}) page.\n\ - 2. Extract the contents of the zip file into {folderPath}.\n\ - 3. Rename the {directoryName} directory to `Metricbeat`.\n\ - 4. Open a PowerShell prompt as an Administrator (right-click the PowerShell icon and select \ -**Run As Administrator**). If you are running Windows XP, you might need to download and install PowerShell.\n\ - 5. From the PowerShell prompt, run the following commands to install Metricbeat as a Windows service.', - values: { - directoryName: '`metricbeat-{config.opensearchDashboards.version}-windows`', - folderPath: '`C:\\Program Files`', - metricbeatLink: - '{config.docs.beats.metricbeat}/metricbeat-installation-configuration.html', - opensearchLink: 'https://opensearch.org/docs/latest/downloads/beats/metricbeat', - }, - } - ), - commands: ['cd "C:\\Program Files\\Metricbeat"', '.\\install-service-metricbeat.ps1'], - textPost: i18n.translate( - 'home.tutorials.common.metricbeatInstructions.install.windowsTextPost', - { - defaultMessage: - 'Modify the settings under `output.opensearch` in the {path} file to point to your opensearch installation.', - values: { path: '`C:\\Program Files\\Metricbeat\\metricbeat.yml`' }, - } - ), - }, - }, - START: { - OSX: { - title: i18n.translate('home.tutorials.common.metricbeatInstructions.start.osxTitle', { - defaultMessage: 'Start Metricbeat', - }), - textPre: i18n.translate('home.tutorials.common.metricbeatInstructions.start.osxTextPre', { - defaultMessage: - 'The `setup` command loads the OpenSearch Dashboards dashboards. If the dashboards are already set up, omit this command.', - }), - commands: ['./metricbeat setup', './metricbeat -e'], - }, - DEB: { - title: i18n.translate('home.tutorials.common.metricbeatInstructions.start.debTitle', { - defaultMessage: 'Start Metricbeat', - }), - textPre: i18n.translate('home.tutorials.common.metricbeatInstructions.start.debTextPre', { - defaultMessage: - 'The `setup` command loads the OpenSearch Dashboards dashboards. If the dashboards are already set up, omit this command.', - }), - commands: ['sudo metricbeat setup', 'sudo service metricbeat start'], - }, - RPM: { - title: i18n.translate('home.tutorials.common.metricbeatInstructions.start.rpmTitle', { - defaultMessage: 'Start Metricbeat', - }), - textPre: i18n.translate('home.tutorials.common.metricbeatInstructions.start.rpmTextPre', { - defaultMessage: - 'The `setup` command loads the OpenSearch Dashboards dashboards. If the dashboards are already set up, omit this command.', - }), - commands: ['sudo metricbeat setup', 'sudo service metricbeat start'], - }, - WINDOWS: { - title: i18n.translate('home.tutorials.common.metricbeatInstructions.start.windowsTitle', { - defaultMessage: 'Start Metricbeat', - }), - textPre: i18n.translate('home.tutorials.common.metricbeatInstructions.start.windowsTextPre', { - defaultMessage: - 'The `setup` command loads the OpenSearch Dashboards dashboards. If the dashboards are already set up, omit this command.', - }), - commands: ['.\\metricbeat.exe setup', 'Start-Service metricbeat'], - }, - }, - CONFIG: { - OSX: { - title: i18n.translate('home.tutorials.common.metricbeatInstructions.config.osxTitle', { - defaultMessage: 'Edit the configuration', - }), - textPre: i18n.translate('home.tutorials.common.metricbeatInstructions.config.osxTextPre', { - defaultMessage: 'Modify {path} to set the connection information:', - values: { - path: '`metricbeat.yml`', - }, - }), - commands: [ - 'output.opensearch:', - ' hosts: [""]', - ' username: "opensearch"', - ' password: ""', - 'setup.opensearchDashboards:', - ' host: ""', - getSpaceIdForBeatsTutorial(context), - ], - textPost: i18n.translate('home.tutorials.common.metricbeatInstructions.config.osxTextPost', { - defaultMessage: - 'Where {passwordTemplate} is the password of the `opensearch` user, {opensearchUrlTemplate} is the URL of opensearch, \ -and {opensearchDashboardsUrlTemplate} is the URL of OpenSearch Dashboards.', - values: { - passwordTemplate: '``', - opensearchUrlTemplate: '``', - opensearchDashboardsUrlTemplate: '``', - }, - }), - }, - DEB: { - title: i18n.translate('home.tutorials.common.metricbeatInstructions.config.debTitle', { - defaultMessage: 'Edit the configuration', - }), - textPre: i18n.translate('home.tutorials.common.metricbeatInstructions.config.debTextPre', { - defaultMessage: 'Modify {path} to set the connection information:', - values: { - path: '`/etc/metricbeat/metricbeat.yml`', - }, - }), - commands: [ - 'output.opensearch:', - ' hosts: [""]', - ' username: "opensearch"', - ' password: ""', - 'setup.opensearchDashboards:', - ' host: ""', - getSpaceIdForBeatsTutorial(context), - ], - textPost: i18n.translate('home.tutorials.common.metricbeatInstructions.config.debTextPost', { - defaultMessage: - 'Where {passwordTemplate} is the password of the `opensearch` user, {opensearchUrlTemplate} is the URL of opensearch, \ -and {opensearchDashboardsUrlTemplate} is the URL of OpenSearch Dashboards.', - values: { - passwordTemplate: '``', - opensearchUrlTemplate: '``', - opensearchDashboardsUrlTemplate: '``', - }, - }), - }, - RPM: { - title: i18n.translate('home.tutorials.common.metricbeatInstructions.config.rpmTitle', { - defaultMessage: 'Edit the configuration', - }), - textPre: i18n.translate('home.tutorials.common.metricbeatInstructions.config.rpmTextPre', { - defaultMessage: 'Modify {path} to set the connection information:', - values: { - path: '`/etc/metricbeat/metricbeat.yml`', - }, - }), - commands: [ - 'output.opensearch:', - ' hosts: [""]', - ' username: "opensearch"', - ' password: ""', - 'setup.opensearchDashboards:', - ' host: ""', - getSpaceIdForBeatsTutorial(context), - ], - textPost: i18n.translate('home.tutorials.common.metricbeatInstructions.config.rpmTextPost', { - defaultMessage: - 'Where {passwordTemplate} is the password of the `opensearch` user, {opensearchUrlTemplate} is the URL of opensearch, \ -and {opensearchDashboardsUrlTemplate} is the URL of OpenSearch Dashboards.', - values: { - passwordTemplate: '``', - opensearchUrlTemplate: '``', - opensearchDashboardsUrlTemplate: '``', - }, - }), - }, - WINDOWS: { - title: i18n.translate('home.tutorials.common.metricbeatInstructions.config.windowsTitle', { - defaultMessage: 'Edit the configuration', - }), - textPre: i18n.translate( - 'home.tutorials.common.metricbeatInstructions.config.windowsTextPre', - { - defaultMessage: 'Modify {path} to set the connection information:', - values: { - path: '`C:\\Program Files\\Metricbeat\\metricbeat.yml`', - }, - } - ), - commands: [ - 'output.opensearch:', - ' hosts: [""]', - ' username: "opensearch"', - ' password: ""', - 'setup.opensearchDashboards:', - ' host: ""', - getSpaceIdForBeatsTutorial(context), - ], - textPost: i18n.translate( - 'home.tutorials.common.metricbeatInstructions.config.windowsTextPost', - { - defaultMessage: - 'Where {passwordTemplate} is the password of the `opensearch` user, {opensearchUrlTemplate} is the URL of opensearch, \ -and {opensearchDashboardsUrlTemplate} is the URL of OpenSearch Dashboards.', - values: { - passwordTemplate: '``', - opensearchUrlTemplate: '``', - opensearchDashboardsUrlTemplate: '``', - }, - } - ), - }, - }, -}); - -export function metricbeatEnableInstructions(moduleName: string) { - return { - OSX: { - title: i18n.translate('home.tutorials.common.metricbeatEnableInstructions.osxTitle', { - defaultMessage: 'Enable and configure the {moduleName} module', - values: { moduleName }, - }), - textPre: i18n.translate('home.tutorials.common.metricbeatEnableInstructions.osxTextPre', { - defaultMessage: 'From the installation directory, run:', - }), - commands: ['./metricbeat modules enable ' + moduleName], - textPost: i18n.translate('home.tutorials.common.metricbeatEnableInstructions.osxTextPost', { - defaultMessage: 'Modify the settings in the `modules.d/{moduleName}.yml` file.', - values: { moduleName }, - }), - }, - DEB: { - title: i18n.translate('home.tutorials.common.metricbeatEnableInstructions.debTitle', { - defaultMessage: 'Enable and configure the {moduleName} module', - values: { moduleName }, - }), - commands: ['sudo metricbeat modules enable ' + moduleName], - textPost: i18n.translate('home.tutorials.common.metricbeatEnableInstructions.debTextPost', { - defaultMessage: - 'Modify the settings in the `/etc/metricbeat/modules.d/{moduleName}.yml` file.', - values: { moduleName }, - }), - }, - RPM: { - title: i18n.translate('home.tutorials.common.metricbeatEnableInstructions.rpmTitle', { - defaultMessage: 'Enable and configure the {moduleName} module', - values: { moduleName }, - }), - commands: ['sudo metricbeat modules enable ' + moduleName], - textPost: i18n.translate('home.tutorials.common.metricbeatEnableInstructions.rpmTextPost', { - defaultMessage: - 'Modify the settings in the `/etc/metricbeat/modules.d/{moduleName}.yml` file.', - values: { moduleName }, - }), - }, - WINDOWS: { - title: i18n.translate('home.tutorials.common.metricbeatEnableInstructions.windowsTitle', { - defaultMessage: 'Enable and configure the {moduleName} module', - values: { moduleName }, - }), - textPre: i18n.translate('home.tutorials.common.metricbeatEnableInstructions.windowsTextPre', { - defaultMessage: 'From the {path} folder, run:', - values: { path: `C:\\Program Files\\Metricbeat` }, - }), - commands: ['.\\metricbeat.exe modules enable ' + moduleName], - textPost: i18n.translate( - 'home.tutorials.common.metricbeatEnableInstructions.windowsTextPost', - { - defaultMessage: 'Modify the settings in the `modules.d/{moduleName}.yml` file.', - values: { moduleName }, - } - ), - }, - }; -} - -export function metricbeatStatusCheck(moduleName: string) { - return { - title: i18n.translate('home.tutorials.common.metricbeatStatusCheck.title', { - defaultMessage: 'Module status', - }), - text: i18n.translate('home.tutorials.common.metricbeatStatusCheck.text', { - defaultMessage: 'Check that data is received from the Metricbeat `{moduleName}` module', - values: { moduleName }, - }), - btnLabel: i18n.translate('home.tutorials.common.metricbeatStatusCheck.buttonLabel', { - defaultMessage: 'Check data', - }), - success: i18n.translate('home.tutorials.common.metricbeatStatusCheck.successText', { - defaultMessage: 'Data successfully received from this module', - }), - error: i18n.translate('home.tutorials.common.metricbeatStatusCheck.errorText', { - defaultMessage: 'No data has been received from this module yet', - }), - opensearchHitsCheck: { - index: 'metricbeat-*', - query: { - bool: { - filter: { - term: { - 'event.module': moduleName, - }, - }, - }, - }, - }, - }; -} - -export function onPremInstructions(moduleName: string, context?: TutorialContext) { - const METRICBEAT_INSTRUCTIONS = createMetricbeatInstructions(context); - - return { - instructionSets: [ - { - title: i18n.translate( - 'home.tutorials.common.metricbeat.premInstructions.gettingStarted.title', - { - defaultMessage: 'Getting Started', - } - ), - instructionVariants: [ - { - id: INSTRUCTION_VARIANT.OSX, - instructions: [ - METRICBEAT_INSTRUCTIONS.INSTALL.OSX, - METRICBEAT_INSTRUCTIONS.CONFIG.OSX, - metricbeatEnableInstructions(moduleName).OSX, - METRICBEAT_INSTRUCTIONS.START.OSX, - ], - }, - { - id: INSTRUCTION_VARIANT.DEB, - instructions: [ - METRICBEAT_INSTRUCTIONS.INSTALL.DEB, - METRICBEAT_INSTRUCTIONS.CONFIG.DEB, - metricbeatEnableInstructions(moduleName).DEB, - METRICBEAT_INSTRUCTIONS.START.DEB, - ], - }, - { - id: INSTRUCTION_VARIANT.RPM, - instructions: [ - METRICBEAT_INSTRUCTIONS.INSTALL.RPM, - METRICBEAT_INSTRUCTIONS.CONFIG.RPM, - metricbeatEnableInstructions(moduleName).RPM, - METRICBEAT_INSTRUCTIONS.START.RPM, - ], - }, - { - id: INSTRUCTION_VARIANT.WINDOWS, - instructions: [ - METRICBEAT_INSTRUCTIONS.INSTALL.WINDOWS, - METRICBEAT_INSTRUCTIONS.CONFIG.WINDOWS, - metricbeatEnableInstructions(moduleName).WINDOWS, - METRICBEAT_INSTRUCTIONS.START.WINDOWS, - ], - }, - ], - statusCheck: metricbeatStatusCheck(moduleName), - }, - ], - }; -} diff --git a/src/plugins/home/server/tutorials/instructions/param_types.ts b/src/plugins/home/server/tutorials/instructions/param_types.ts deleted file mode 100644 index f5c04d8e6490..000000000000 --- a/src/plugins/home/server/tutorials/instructions/param_types.ts +++ /dev/null @@ -1,34 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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. - */ - -export const PARAM_TYPES = { - NUMBER: 'number', - STRING: 'string', -}; diff --git a/src/plugins/home/server/tutorials/instructions/winlogbeat_instructions.ts b/src/plugins/home/server/tutorials/instructions/winlogbeat_instructions.ts deleted file mode 100644 index 099750e7aa42..000000000000 --- a/src/plugins/home/server/tutorials/instructions/winlogbeat_instructions.ts +++ /dev/null @@ -1,183 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { INSTRUCTION_VARIANT } from '../../../common/instruction_variant'; -import { getSpaceIdForBeatsTutorial } from './get_space_id_for_beats_tutorial'; -import { TutorialContext } from '../../services/tutorials/lib/tutorials_registry_types'; - -export const createWinlogbeatInstructions = (context?: TutorialContext) => ({ - INSTALL: { - WINDOWS: { - title: i18n.translate('home.tutorials.common.winlogbeatInstructions.install.windowsTitle', { - defaultMessage: 'Download and install Winlogbeat', - }), - textPre: i18n.translate( - 'home.tutorials.common.winlogbeatInstructions.install.windowsTextPre', - { - defaultMessage: - 'First time using Winlogbeat? See the [Quick Start]({winlogbeatLink}).\n\ - 1. Download the Winlogbeat Windows zip file from the [Download]({opensearchLink}) page.\n\ - 2. Extract the contents of the zip file into {folderPath}.\n\ - 3. Rename the {directoryName} directory to `Winlogbeat`.\n\ - 4. Open a PowerShell prompt as an Administrator (right-click the PowerShell icon and select \ -**Run As Administrator**). If you are running Windows XP, you might need to download and install PowerShell.\n\ - 5. From the PowerShell prompt, run the following commands to install Winlogbeat as a Windows service.', - values: { - directoryName: '`winlogbeat-{config.opensearchDashboards.version}-windows`', - folderPath: '`C:\\Program Files`', - winlogbeatLink: - '{config.docs.beats.winlogbeat}/winlogbeat-installation-configuration.html', - opensearchLink: 'https://opensearch.org/downloads/beats/winlogbeat', - }, - } - ), - commands: ['cd "C:\\Program Files\\Winlogbeat"', '.\\install-service-winlogbeat.ps1'], - textPost: i18n.translate( - 'home.tutorials.common.winlogbeatInstructions.install.windowsTextPost', - { - defaultMessage: - 'Modify the settings under `output.opensearch` in the {path} file to point to your opensearch installation.', - values: { path: '`C:\\Program Files\\Winlogbeat\\winlogbeat.yml`' }, - } - ), - }, - }, - START: { - WINDOWS: { - title: i18n.translate('home.tutorials.common.winlogbeatInstructions.start.windowsTitle', { - defaultMessage: 'Start Winlogbeat', - }), - textPre: i18n.translate('home.tutorials.common.winlogbeatInstructions.start.windowsTextPre', { - defaultMessage: - 'The `setup` command loads the OpenSearch Dashboards dashboards. If the dashboards are already set up, omit this command.', - }), - commands: ['.\\winlogbeat.exe setup', 'Start-Service winlogbeat'], - }, - }, - CONFIG: { - WINDOWS: { - title: i18n.translate('home.tutorials.common.winlogbeatInstructions.config.windowsTitle', { - defaultMessage: 'Edit the configuration', - }), - textPre: i18n.translate( - 'home.tutorials.common.winlogbeatInstructions.config.windowsTextPre', - { - defaultMessage: 'Modify {path} to set the connection information:', - values: { - path: '`C:\\Program Files\\Winlogbeat\\winlogbeat.yml`', - }, - } - ), - commands: [ - 'output.opensearch:', - ' hosts: [""]', - ' username: "opensearch"', - ' password: ""', - 'setup.opensearchDashboards:', - ' host: ""', - getSpaceIdForBeatsTutorial(context), - ], - textPost: i18n.translate( - 'home.tutorials.common.winlogbeatInstructions.config.windowsTextPost', - { - defaultMessage: - 'Where {passwordTemplate} is the password of the `opensearch` user, {opensearchUrlTemplate} is the URL of opensearch, \ -and {opensearchDashboardsUrlTemplate} is the URL of OpenSearch Dashboards.', - values: { - passwordTemplate: '``', - opensearchUrlTemplate: '``', - opensearchDashboardsUrlTemplate: '``', - }, - } - ), - }, - }, -}); - -export function winlogbeatStatusCheck() { - return { - title: i18n.translate('home.tutorials.common.winlogbeatStatusCheck.title', { - defaultMessage: 'Module status', - }), - text: i18n.translate('home.tutorials.common.winlogbeatStatusCheck.text', { - defaultMessage: 'Check that data is received from Winlogbeat', - }), - btnLabel: i18n.translate('home.tutorials.common.winlogbeatStatusCheck.buttonLabel', { - defaultMessage: 'Check data', - }), - success: i18n.translate('home.tutorials.common.winlogbeatStatusCheck.successText', { - defaultMessage: 'Data successfully received', - }), - error: i18n.translate('home.tutorials.common.winlogbeatStatusCheck.errorText', { - defaultMessage: 'No data has been received yet', - }), - opensearchHitsCheck: { - index: 'winlogbeat-*', - query: { - bool: { - filter: { - term: { - 'agent.type': 'winlogbeat', - }, - }, - }, - }, - }, - }; -} - -export function onPremInstructions(context?: TutorialContext) { - const WINLOGBEAT_INSTRUCTIONS = createWinlogbeatInstructions(context); - - return { - instructionSets: [ - { - title: i18n.translate( - 'home.tutorials.common.winlogbeat.premInstructions.gettingStarted.title', - { - defaultMessage: 'Getting Started', - } - ), - instructionVariants: [ - { - id: INSTRUCTION_VARIANT.WINDOWS, - instructions: [ - WINLOGBEAT_INSTRUCTIONS.INSTALL.WINDOWS, - WINLOGBEAT_INSTRUCTIONS.CONFIG.WINDOWS, - WINLOGBEAT_INSTRUCTIONS.START.WINDOWS, - ], - }, - ], - statusCheck: winlogbeatStatusCheck(), - }, - ], - }; -} diff --git a/src/plugins/home/server/tutorials/iptables_logs/index.ts b/src/plugins/home/server/tutorials/iptables_logs/index.ts deleted file mode 100644 index 8eadda84411f..000000000000 --- a/src/plugins/home/server/tutorials/iptables_logs/index.ts +++ /dev/null @@ -1,81 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function iptablesLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'iptables'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'iptablesLogs', - name: i18n.translate('home.tutorials.iptablesLogs.nameTitle', { - defaultMessage: 'Iptables logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.iptablesLogs.shortDescription', { - defaultMessage: 'Collect iptables and ip6tables logs.', - }), - longDescription: i18n.translate('home.tutorials.iptablesLogs.longDescription', { - defaultMessage: - 'This is a module for iptables and ip6tables logs. It parses logs received \ - over the network via syslog or from a file. Also, it understands the prefix \ - added by some Ubiquiti firewalls, which includes the rule set name, rule \ - number and the action performed on the traffic (allow/deny). \ - [Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-iptables.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/linux.svg', - artifacts: { - dashboards: [ - { - id: 'ceefb9e0-1f51-11e9-93ed-f7e068f4aebb-ecs', - linkLabel: i18n.translate('home.tutorials.iptablesLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Iptables Overview', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-iptables.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/juniper_logs/index.ts b/src/plugins/home/server/tutorials/juniper_logs/index.ts deleted file mode 100644 index 8c0b2a0a73b9..000000000000 --- a/src/plugins/home/server/tutorials/juniper_logs/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function juniperLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'juniper'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'juniperLogs', - name: i18n.translate('home.tutorials.juniperLogs.nameTitle', { - defaultMessage: 'Juniper Logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.juniperLogs.shortDescription', { - defaultMessage: 'Collect Juniper JUNOS logs over syslog or from a file.', - }), - longDescription: i18n.translate('home.tutorials.juniperLogs.longDescription', { - defaultMessage: - 'This is a module for receiving Juniper JUNOS logs over Syslog or a file. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-juniper.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/juniper.svg', - artifacts: { - dashboards: [], - application: { - path: '/app/security', - label: i18n.translate('home.tutorials.juniperLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Security App', - }), - }, - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-juniper.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/kafka_logs/index.ts b/src/plugins/home/server/tutorials/kafka_logs/index.ts deleted file mode 100644 index fb5a71c7d172..000000000000 --- a/src/plugins/home/server/tutorials/kafka_logs/index.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function kafkaLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'kafka'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'kafkaLogs', - name: i18n.translate('home.tutorials.kafkaLogs.nameTitle', { - defaultMessage: 'Kafka logs', - }), - moduleName, - category: TutorialsCategory.LOGGING, - shortDescription: i18n.translate('home.tutorials.kafkaLogs.shortDescription', { - defaultMessage: 'Collect and parse logs created by Kafka.', - }), - longDescription: i18n.translate('home.tutorials.kafkaLogs.longDescription', { - defaultMessage: - 'The `kafka` Filebeat module parses logs created by Kafka. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-kafka.html', - }, - }), - euiIconType: 'logoKafka', - artifacts: { - dashboards: [ - { - id: '943caca0-87ee-11e7-ad9c-db80de0bf8d3-ecs', - linkLabel: i18n.translate('home.tutorials.kafkaLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Kafka logs dashboard', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-kafka.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/kafka_metrics/index.ts b/src/plugins/home/server/tutorials/kafka_metrics/index.ts deleted file mode 100644 index f9c8cc3a9b71..000000000000 --- a/src/plugins/home/server/tutorials/kafka_metrics/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function kafkaMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'kafka'; - return { - id: 'kafkaMetrics', - name: i18n.translate('home.tutorials.kafkaMetrics.nameTitle', { - defaultMessage: 'Kafka metrics', - }), - moduleName, - isBeta: false, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.kafkaMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from the Kafka server.', - }), - longDescription: i18n.translate('home.tutorials.kafkaMetrics.longDescription', { - defaultMessage: - 'The `kafka` Metricbeat module fetches internal metrics from Kafka. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-kafka.html', - }, - }), - euiIconType: 'logoKafka', - artifacts: { - application: { - label: i18n.translate('home.tutorials.kafkaMetrics.artifacts.application.label', { - defaultMessage: 'Discover', - }), - path: '/app/discover#/', - }, - dashboards: [], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-kafka.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/kubernetes_metrics/index.ts b/src/plugins/home/server/tutorials/kubernetes_metrics/index.ts deleted file mode 100644 index afb884a40bdf..000000000000 --- a/src/plugins/home/server/tutorials/kubernetes_metrics/index.ts +++ /dev/null @@ -1,80 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function kubernetesMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'kubernetes'; - return { - id: 'kubernetesMetrics', - name: i18n.translate('home.tutorials.kubernetesMetrics.nameTitle', { - defaultMessage: 'Kubernetes metrics', - }), - moduleName, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.kubernetesMetrics.shortDescription', { - defaultMessage: 'Fetch metrics from your Kubernetes installation.', - }), - longDescription: i18n.translate('home.tutorials.kubernetesMetrics.longDescription', { - defaultMessage: - 'The `kubernetes` Metricbeat module fetches metrics from the Kubernetes APIs. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-kubernetes.html', - }, - }), - euiIconType: 'logoKubernetes', - artifacts: { - dashboards: [ - { - id: 'AV4RGUqo5NkDleZmzKuZ-ecs', - linkLabel: i18n.translate( - 'home.tutorials.kubernetesMetrics.artifacts.dashboards.linkLabel', - { - defaultMessage: 'Kubernetes metrics dashboard', - } - ), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-kubernetes.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/logstash_logs/index.ts b/src/plugins/home/server/tutorials/logstash_logs/index.ts deleted file mode 100644 index e6124122b4b5..000000000000 --- a/src/plugins/home/server/tutorials/logstash_logs/index.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function logstashLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'logstash'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'logstashLogs', - name: i18n.translate('home.tutorials.logstashLogs.nameTitle', { - defaultMessage: 'Logstash logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.logstashLogs.shortDescription', { - defaultMessage: 'Collect Logstash main and slow logs.', - }), - longDescription: i18n.translate('home.tutorials.logstashLogs.longDescription', { - defaultMessage: - 'The modules parse Logstash regular logs and the slow log, it will support the plain text format and the JSON format. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-logstash.html', - }, - }), - euiIconType: 'logoLogstash', - artifacts: { - dashboards: [ - { - id: 'Filebeat-Logstash-Log-Dashboard-ecs', - linkLabel: i18n.translate('home.tutorials.logstashLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Logstash Logs', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-logstash.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/logstash_metrics/index.ts b/src/plugins/home/server/tutorials/logstash_metrics/index.ts deleted file mode 100644 index 1a0f11ada0d3..000000000000 --- a/src/plugins/home/server/tutorials/logstash_metrics/index.ts +++ /dev/null @@ -1,77 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function logstashMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'logstash'; - return { - id: moduleName + 'Metrics', - name: i18n.translate('home.tutorials.logstashMetrics.nameTitle', { - defaultMessage: 'Logstash metrics', - }), - moduleName, - isBeta: false, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.logstashMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from a Logstash server.', - }), - longDescription: i18n.translate('home.tutorials.logstashMetrics.longDescription', { - defaultMessage: - 'The `{moduleName}` Metricbeat module fetches internal metrics from a Logstash server. \ -[Learn more]({learnMoreLink}).', - values: { - moduleName, - learnMoreLink: `{config.docs.beats.metricbeat}/metricbeat-module-${moduleName}.html`, - }, - }), - euiIconType: 'logoLogstash', - artifacts: { - application: { - label: i18n.translate('home.tutorials.logstashMetrics.artifacts.application.label', { - defaultMessage: 'Discover', - }), - path: '/app/discover#/', - }, - dashboards: [], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-' + moduleName + '.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/memcached_metrics/index.ts b/src/plugins/home/server/tutorials/memcached_metrics/index.ts deleted file mode 100644 index ad4dc9f7eb63..000000000000 --- a/src/plugins/home/server/tutorials/memcached_metrics/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function memcachedMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'memcached'; - return { - id: 'memcachedMetrics', - name: i18n.translate('home.tutorials.memcachedMetrics.nameTitle', { - defaultMessage: 'Memcached metrics', - }), - moduleName, - isBeta: false, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.memcachedMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from the Memcached server.', - }), - longDescription: i18n.translate('home.tutorials.memcachedMetrics.longDescription', { - defaultMessage: - 'The `memcached` Metricbeat module fetches internal metrics from Memcached. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-memcached.html', - }, - }), - euiIconType: 'logoMemcached', - artifacts: { - application: { - label: i18n.translate('home.tutorials.memcachedMetrics.artifacts.application.label', { - defaultMessage: 'Discover', - }), - path: '/app/discover#/', - }, - dashboards: [], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-memcached.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/microsoft_logs/index.ts b/src/plugins/home/server/tutorials/microsoft_logs/index.ts deleted file mode 100644 index 8f8c391ff445..000000000000 --- a/src/plugins/home/server/tutorials/microsoft_logs/index.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function microsoftLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'microsoft'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'microsoftLogs', - name: i18n.translate('home.tutorials.microsoftLogs.nameTitle', { - defaultMessage: 'Microsoft Defender ATP logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.microsoftLogs.shortDescription', { - defaultMessage: 'Collect Microsoft Defender ATP alerts.', - }), - longDescription: i18n.translate('home.tutorials.microsoftLogs.longDescription', { - defaultMessage: - 'Collect Microsoft Defender ATP alerts for use with OpenSearch Security. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-microsoft.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/microsoft.svg', - artifacts: { - dashboards: [ - { - id: '65402c30-ca6a-11ea-9d4d-9737a63aaa55', - linkLabel: i18n.translate('home.tutorials.microsoftLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Microsoft ATP Overview', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-microsoft.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/misp_logs/index.ts b/src/plugins/home/server/tutorials/misp_logs/index.ts deleted file mode 100644 index 55e73c17a725..000000000000 --- a/src/plugins/home/server/tutorials/misp_logs/index.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function mispLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'misp'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'mispLogs', - name: i18n.translate('home.tutorials.mispLogs.nameTitle', { - defaultMessage: 'MISP threat intel logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.mispLogs.shortDescription', { - defaultMessage: 'Collect MISP threat intelligence data with Filebeat.', - }), - longDescription: i18n.translate('home.tutorials.mispLogs.longDescription', { - defaultMessage: - 'This is a filebeat module for reading threat intel information from the MISP platform ( https://www.circl.lu/doc/misp/). It uses the httpjson input to access the MISP REST API interface. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-misp.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/misp.svg', - artifacts: { - dashboards: [ - { - id: 'c6cac9e0-f105-11e9-9a88-690b10c8ee99', - linkLabel: i18n.translate('home.tutorials.mispLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'MISP Overview', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-misp.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/mongodb_logs/index.ts b/src/plugins/home/server/tutorials/mongodb_logs/index.ts deleted file mode 100644 index 3d5c31e5b4b5..000000000000 --- a/src/plugins/home/server/tutorials/mongodb_logs/index.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function mongodbLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'mongodb'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'mongodbLogs', - name: i18n.translate('home.tutorials.mongodbLogs.nameTitle', { - defaultMessage: 'MongoDB logs', - }), - moduleName, - category: TutorialsCategory.LOGGING, - shortDescription: i18n.translate('home.tutorials.mongodbLogs.shortDescription', { - defaultMessage: 'Collect MongoDB logs.', - }), - longDescription: i18n.translate('home.tutorials.mongodbLogs.longDescription', { - defaultMessage: - 'The module collects and parses logs created by [MongoDB](https://www.mongodb.com/). \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-mongodb.html', - }, - }), - euiIconType: 'logoMongodb', - artifacts: { - dashboards: [ - { - id: 'abcf35b0-0a82-11e8-bffe-ff7d4f68cf94-ecs', - linkLabel: i18n.translate('home.tutorials.mongodbLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'MongoDB Overview', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-mongodb.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/mongodb_metrics/index.ts b/src/plugins/home/server/tutorials/mongodb_metrics/index.ts deleted file mode 100644 index d37ea911cb7e..000000000000 --- a/src/plugins/home/server/tutorials/mongodb_metrics/index.ts +++ /dev/null @@ -1,80 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function mongodbMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'mongodb'; - return { - id: 'mongodbMetrics', - name: i18n.translate('home.tutorials.mongodbMetrics.nameTitle', { - defaultMessage: 'MongoDB metrics', - }), - moduleName, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.mongodbMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from MongoDB.', - }), - longDescription: i18n.translate('home.tutorials.mongodbMetrics.longDescription', { - defaultMessage: - 'The `mongodb` Metricbeat module fetches internal metrics from the MongoDB server. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-mongodb.html', - }, - }), - euiIconType: 'logoMongodb', - artifacts: { - dashboards: [ - { - id: 'Metricbeat-MongoDB-ecs', - linkLabel: i18n.translate( - 'home.tutorials.mongodbMetrics.artifacts.dashboards.linkLabel', - { - defaultMessage: 'MongoDB metrics dashboard', - } - ), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-mongodb.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/mssql_logs/index.ts b/src/plugins/home/server/tutorials/mssql_logs/index.ts deleted file mode 100644 index 891a8fb6764b..000000000000 --- a/src/plugins/home/server/tutorials/mssql_logs/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function mssqlLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'mssql'; - const platforms = ['DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'mssqlLogs', - name: i18n.translate('home.tutorials.mssqlLogs.nameTitle', { - defaultMessage: 'MSSQL logs', - }), - moduleName, - category: TutorialsCategory.LOGGING, - shortDescription: i18n.translate('home.tutorials.mssqlLogs.shortDescription', { - defaultMessage: 'Collect MSSQL logs.', - }), - longDescription: i18n.translate('home.tutorials.mssqlLogs.longDescription', { - defaultMessage: - 'The module parses error logs created by MSSQL. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-mssql.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/microsoft.svg', - artifacts: { - dashboards: [], - application: { - label: i18n.translate('home.tutorials.mssqlLogs.artifacts.application.label', { - defaultMessage: 'Discover', - }), - path: '/app/discover#/', - }, - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-mssql.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/mssql_metrics/index.ts b/src/plugins/home/server/tutorials/mssql_metrics/index.ts deleted file mode 100644 index 4709cc765ab3..000000000000 --- a/src/plugins/home/server/tutorials/mssql_metrics/index.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function mssqlMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'mssql'; - return { - id: 'mssqlMetrics', - name: i18n.translate('home.tutorials.mssqlMetrics.nameTitle', { - defaultMessage: 'Microsoft SQL Server Metrics', - }), - moduleName, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.mssqlMetrics.shortDescription', { - defaultMessage: 'Fetch monitoring metrics from a Microsoft SQL Server instance', - }), - longDescription: i18n.translate('home.tutorials.mssqlMetrics.longDescription', { - defaultMessage: - 'The `mssql` Metricbeat module fetches monitoring, log and performance metrics from a Microsoft SQL Server instance. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-mssql.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/mssql.svg', - isBeta: false, - artifacts: { - dashboards: [ - { - id: 'a2ead240-18bb-11e9-9836-f37dedd3b411-ecs', - linkLabel: i18n.translate('home.tutorials.mssqlMetrics.artifacts.dashboards.linkLabel', { - defaultMessage: 'Microsoft SQL Server metrics dashboard', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-mssql.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/munin_metrics/index.ts b/src/plugins/home/server/tutorials/munin_metrics/index.ts deleted file mode 100644 index e46941abf2f3..000000000000 --- a/src/plugins/home/server/tutorials/munin_metrics/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function muninMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'munin'; - return { - id: 'muninMetrics', - name: i18n.translate('home.tutorials.muninMetrics.nameTitle', { - defaultMessage: 'Munin metrics', - }), - moduleName, - euiIconType: '/plugins/home/assets/tutorials/logos/munin.svg', - isBeta: true, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.muninMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from the Munin server.', - }), - longDescription: i18n.translate('home.tutorials.muninMetrics.longDescription', { - defaultMessage: - 'The `munin` Metricbeat module fetches internal metrics from Munin. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-munin.html', - }, - }), - artifacts: { - application: { - label: i18n.translate('home.tutorials.muninMetrics.artifacts.application.label', { - defaultMessage: 'Discover', - }), - path: '/app/discover#/', - }, - dashboards: [], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-munin.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/mysql_logs/index.ts b/src/plugins/home/server/tutorials/mysql_logs/index.ts deleted file mode 100644 index b0f5ab1af118..000000000000 --- a/src/plugins/home/server/tutorials/mysql_logs/index.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function mysqlLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'mysql'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'mysqlLogs', - name: i18n.translate('home.tutorials.mysqlLogs.nameTitle', { - defaultMessage: 'MySQL logs', - }), - moduleName, - category: TutorialsCategory.LOGGING, - shortDescription: i18n.translate('home.tutorials.mysqlLogs.shortDescription', { - defaultMessage: 'Collect and parse error and slow logs created by MySQL.', - }), - longDescription: i18n.translate('home.tutorials.mysqlLogs.longDescription', { - defaultMessage: - 'The `mysql` Filebeat module parses error and slow logs created by MySQL. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-mysql.html', - }, - }), - euiIconType: 'logoMySQL', - artifacts: { - dashboards: [ - { - id: 'Filebeat-MySQL-Dashboard-ecs', - linkLabel: i18n.translate('home.tutorials.mysqlLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'MySQL logs dashboard', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-mysql.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/mysql_metrics/index.ts b/src/plugins/home/server/tutorials/mysql_metrics/index.ts deleted file mode 100644 index 1a4e958cd422..000000000000 --- a/src/plugins/home/server/tutorials/mysql_metrics/index.ts +++ /dev/null @@ -1,77 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function mysqlMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'mysql'; - return { - id: 'mysqlMetrics', - name: i18n.translate('home.tutorials.mysqlMetrics.nameTitle', { - defaultMessage: 'MySQL metrics', - }), - moduleName, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.mysqlMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from MySQL.', - }), - longDescription: i18n.translate('home.tutorials.mysqlMetrics.longDescription', { - defaultMessage: - 'The `mysql` Metricbeat module fetches internal metrics from the MySQL server. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-mysql.html', - }, - }), - euiIconType: 'logoMySQL', - artifacts: { - dashboards: [ - { - id: '66881e90-0006-11e7-bf7f-c9acc3d3e306-ecs', - linkLabel: i18n.translate('home.tutorials.mysqlMetrics.artifacts.dashboards.linkLabel', { - defaultMessage: 'MySQL metrics dashboard', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-mysql.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/nats_logs/index.ts b/src/plugins/home/server/tutorials/nats_logs/index.ts deleted file mode 100644 index 16294ff657ba..000000000000 --- a/src/plugins/home/server/tutorials/nats_logs/index.ts +++ /dev/null @@ -1,79 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function natsLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'nats'; - const platforms = ['DEB', 'RPM'] as const; - return { - id: 'natsLogs', - name: i18n.translate('home.tutorials.natsLogs.nameTitle', { - defaultMessage: 'NATS logs', - }), - moduleName, - category: TutorialsCategory.LOGGING, - isBeta: true, - shortDescription: i18n.translate('home.tutorials.natsLogs.shortDescription', { - defaultMessage: 'Collect and parse logs created by Nats.', - }), - longDescription: i18n.translate('home.tutorials.natsLogs.longDescription', { - defaultMessage: - 'The `nats` Filebeat module parses logs created by Nats. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-nats.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/nats.svg', - artifacts: { - dashboards: [ - { - id: 'Filebeat-nats-overview-ecs', - linkLabel: i18n.translate('home.tutorials.natsLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'NATS logs dashboard', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-nats.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/nats_metrics/index.ts b/src/plugins/home/server/tutorials/nats_metrics/index.ts deleted file mode 100644 index 8f3fcac03259..000000000000 --- a/src/plugins/home/server/tutorials/nats_metrics/index.ts +++ /dev/null @@ -1,77 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function natsMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'nats'; - return { - id: 'natsMetrics', - name: i18n.translate('home.tutorials.natsMetrics.nameTitle', { - defaultMessage: 'NATS metrics', - }), - moduleName, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.natsMetrics.shortDescription', { - defaultMessage: 'Fetch monitoring metrics from the Nats server.', - }), - longDescription: i18n.translate('home.tutorials.natsMetrics.longDescription', { - defaultMessage: - 'The `nats` Metricbeat module fetches monitoring metrics from Nats. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-nats.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/nats.svg', - artifacts: { - dashboards: [ - { - id: 'Metricbeat-Nats-Dashboard-ecs', - linkLabel: i18n.translate('home.tutorials.natsMetrics.artifacts.dashboards.linkLabel', { - defaultMessage: 'NATS metrics dashboard', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-nats.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/netflow_logs/index.ts b/src/plugins/home/server/tutorials/netflow_logs/index.ts deleted file mode 100644 index d49ce65aeedc..000000000000 --- a/src/plugins/home/server/tutorials/netflow_logs/index.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function netflowLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'netflow'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'netflowLogs', - name: i18n.translate('home.tutorials.netflowLogs.nameTitle', { - defaultMessage: 'NetFlow / IPFIX Collector', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.netflowLogs.shortDescription', { - defaultMessage: 'Collect NetFlow and IPFIX flow records.', - }), - longDescription: i18n.translate('home.tutorials.netflowLogs.longDescription', { - defaultMessage: - 'This is a module for receiving NetFlow and IPFIX flow records over UDP. This input supports NetFlow versions 1, 5, 6, 7, 8 and 9, as well as IPFIX. For NetFlow versions older than 9, fields are mapped automatically to NetFlow v9. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-netflow.html', - }, - }), - euiIconType: 'logoBeats', - artifacts: { - dashboards: [ - { - id: '34e26884-161a-4448-9556-43b5bf2f62a2', - linkLabel: i18n.translate('home.tutorials.netflowLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Netflow Overview', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-netflow.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/netscout_logs/index.ts b/src/plugins/home/server/tutorials/netscout_logs/index.ts deleted file mode 100644 index 8315ea87506b..000000000000 --- a/src/plugins/home/server/tutorials/netscout_logs/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function netscoutLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'netscout'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'netscoutLogs', - name: i18n.translate('home.tutorials.netscoutLogs.nameTitle', { - defaultMessage: 'Arbor Peakflow logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.netscoutLogs.shortDescription', { - defaultMessage: 'Collect Netscout Arbor Peakflow SP logs over syslog or from a file.', - }), - longDescription: i18n.translate('home.tutorials.netscoutLogs.longDescription', { - defaultMessage: - 'This is a module for receiving Arbor Peakflow SP logs over Syslog or a file. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-netscout.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/netscout.svg', - artifacts: { - dashboards: [], - application: { - path: '/app/security', - label: i18n.translate('home.tutorials.netscoutLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Security App', - }), - }, - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-netscout.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/nginx_logs/index.ts b/src/plugins/home/server/tutorials/nginx_logs/index.ts deleted file mode 100644 index d1c7e08a7fc8..000000000000 --- a/src/plugins/home/server/tutorials/nginx_logs/index.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function nginxLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'nginx'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'nginxLogs', - name: i18n.translate('home.tutorials.nginxLogs.nameTitle', { - defaultMessage: 'Nginx logs', - }), - moduleName, - category: TutorialsCategory.LOGGING, - shortDescription: i18n.translate('home.tutorials.nginxLogs.shortDescription', { - defaultMessage: 'Collect and parse access and error logs created by the Nginx HTTP server.', - }), - longDescription: i18n.translate('home.tutorials.nginxLogs.longDescription', { - defaultMessage: - 'The `nginx` Filebeat module parses access and error logs created by the Nginx HTTP server. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-nginx.html', - }, - }), - euiIconType: 'logoNginx', - artifacts: { - dashboards: [ - { - id: '55a9e6e0-a29e-11e7-928f-5dbe6f6f5519-ecs', - linkLabel: i18n.translate('home.tutorials.nginxLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Nginx logs dashboard', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-nginx.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/nginx_metrics/index.ts b/src/plugins/home/server/tutorials/nginx_metrics/index.ts deleted file mode 100644 index c9ce79c469ae..000000000000 --- a/src/plugins/home/server/tutorials/nginx_metrics/index.ts +++ /dev/null @@ -1,82 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function nginxMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'nginx'; - return { - id: 'nginxMetrics', - name: i18n.translate('home.tutorials.nginxMetrics.nameTitle', { - defaultMessage: 'Nginx metrics', - }), - moduleName, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.nginxMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from the Nginx HTTP server.', - }), - longDescription: i18n.translate('home.tutorials.nginxMetrics.longDescription', { - defaultMessage: - 'The `nginx` Metricbeat module fetches internal metrics from the Nginx HTTP server. \ -The module scrapes the server status data from the web page generated by the \ -{statusModuleLink}, \ -which must be enabled in your Nginx installation. \ -[Learn more]({learnMoreLink}).', - values: { - statusModuleLink: - '[ngx_http_stub_status_module](http://nginx.org/en/docs/http/ngx_http_stub_status_module.html)', - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-nginx.html', - }, - }), - euiIconType: 'logoNginx', - artifacts: { - dashboards: [ - { - id: '023d2930-f1a5-11e7-a9ef-93c69af7b129-ecs', - linkLabel: i18n.translate('home.tutorials.nginxMetrics.artifacts.dashboards.linkLabel', { - defaultMessage: 'Nginx metrics dashboard', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-nginx.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/o365_logs/index.ts b/src/plugins/home/server/tutorials/o365_logs/index.ts deleted file mode 100644 index a9c67b2049af..000000000000 --- a/src/plugins/home/server/tutorials/o365_logs/index.ts +++ /dev/null @@ -1,81 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function o365LogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'o365'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'o365Logs', - name: i18n.translate('home.tutorials.o365Logs.nameTitle', { - defaultMessage: 'Office 365 logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.o365Logs.shortDescription', { - defaultMessage: 'Collect Office 365 activity logs via the Office 365 API.', - }), - longDescription: i18n.translate('home.tutorials.o365Logs.longDescription', { - defaultMessage: - 'This is a module for Office 365 logs received via one of the Office 365 \ - API endpoints. It currently supports user, admin, system, and policy \ - actions and events from Office 365 and Azure AD activity logs exposed \ - by the Office 365 Management Activity API. \ - [Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-o365.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/o365.svg', - artifacts: { - dashboards: [ - { - id: '712e2c00-685d-11ea-8d6a-292ef5d68366', - linkLabel: i18n.translate('home.tutorials.o365Logs.artifacts.dashboards.linkLabel', { - defaultMessage: 'O365 Audit Dashboard', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-o365.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/okta_logs/index.ts b/src/plugins/home/server/tutorials/okta_logs/index.ts deleted file mode 100644 index 9ce6bc0802a8..000000000000 --- a/src/plugins/home/server/tutorials/okta_logs/index.ts +++ /dev/null @@ -1,79 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function oktaLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'okta'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'oktaLogs', - name: i18n.translate('home.tutorials.oktaLogs.nameTitle', { - defaultMessage: 'Okta logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.oktaLogs.shortDescription', { - defaultMessage: 'Collect the Okta system log via the Okta API.', - }), - longDescription: i18n.translate('home.tutorials.oktaLogs.longDescription', { - defaultMessage: - 'The Okta module collects events from the [Okta API](https://developer.okta.com/docs/reference/). \ - Specifically this supports reading from the [Okta System Log API](https://developer.okta.com/docs/reference/api/system-log/). \ - [Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-okta.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/okta.svg', - artifacts: { - dashboards: [ - { - id: '749203a0-67b1-11ea-a76f-bf44814e437d', - linkLabel: i18n.translate('home.tutorials.oktaLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Okta Overview', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-okta.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/openmetrics_metrics/index.ts b/src/plugins/home/server/tutorials/openmetrics_metrics/index.ts deleted file mode 100644 index d7bf0bdbd60c..000000000000 --- a/src/plugins/home/server/tutorials/openmetrics_metrics/index.ts +++ /dev/null @@ -1,69 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function openmetricsMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'openmetrics'; - return { - id: 'openmetricsMetrics', - name: i18n.translate('home.tutorials.openmetricsMetrics.nameTitle', { - defaultMessage: 'OpenMetrics metrics', - }), - moduleName, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.openmetricsMetrics.shortDescription', { - defaultMessage: 'Fetch metrics from an endpoint that serves metrics in OpenMetrics format.', - }), - longDescription: i18n.translate('home.tutorials.openmetricsMetrics.longDescription', { - defaultMessage: - 'The `openmetrics` Metricbeat module fetches metrics from an endpoint that serves metrics in OpenMetrics format. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-openmetrics.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/openmetrics.svg', - artifacts: { - dashboards: [], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-openmetrics.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/opensearch_dashboards_logs/index.ts b/src/plugins/home/server/tutorials/opensearch_dashboards_logs/index.ts deleted file mode 100644 index 7de5253c7f33..000000000000 --- a/src/plugins/home/server/tutorials/opensearch_dashboards_logs/index.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function opensearchDashboardsLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'opensearchDashboards'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'opensearchDashboardsLogs', - name: i18n.translate('home.tutorials.opensearchDashboardsLogs.nameTitle', { - defaultMessage: 'OpenSearch Dashboards Logs', - }), - moduleName, - category: TutorialsCategory.LOGGING, - shortDescription: i18n.translate('home.tutorials.opensearchDashboardsLogs.shortDescription', { - defaultMessage: 'Collect OpenSearch Dashboards logs.', - }), - longDescription: i18n.translate('home.tutorials.opensearchDashboardsLogs.longDescription', { - defaultMessage: 'This is the OpenSearch Dashboards module. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-opensearch-dashboards.html', - }, - }), - euiIconType: 'inputOutput', - artifacts: { - dashboards: [], - application: { - label: i18n.translate( - 'home.tutorials.opensearchDashboardsLogs.artifacts.application.label', - { - defaultMessage: 'Discover', - } - ), - path: '/app/discover#/', - }, - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-opensearch-dashboards.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/opensearch_dashboards_metrics/index.ts b/src/plugins/home/server/tutorials/opensearch_dashboards_metrics/index.ts deleted file mode 100644 index 7eaec9b72a99..000000000000 --- a/src/plugins/home/server/tutorials/opensearch_dashboards_metrics/index.ts +++ /dev/null @@ -1,84 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function opensearchDashboardsMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'opensearchDashboards'; - return { - id: 'opensearchDashboardsMetrics', - name: i18n.translate('home.tutorials.opensearchDashboardsMetrics.nameTitle', { - defaultMessage: 'OpenSearch Dashboards metrics', - }), - moduleName, - isBeta: false, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate( - 'home.tutorials.opensearchDashboardsMetrics.shortDescription', - { - defaultMessage: 'Fetch internal metrics from OpenSearch Dashboards.', - } - ), - longDescription: i18n.translate('home.tutorials.opensearchDashboardsMetrics.longDescription', { - defaultMessage: - 'The `OpenSearch Dashboards` Metricbeat module fetches internal metrics from OpenSearch Dashboards. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: - '{config.docs.beats.metricbeat}/metricbeat-module-opensearch-dashboards.html', - }, - }), - euiIconType: 'inputOutput', - artifacts: { - application: { - label: i18n.translate( - 'home.tutorials.opensearchDashboardsMetrics.artifacts.application.label', - { - defaultMessage: 'Discover', - } - ), - path: '/app/discover#/', - }, - dashboards: [], - exportedFields: { - documentationUrl: - '{config.docs.beats.metricbeat}/exported-fields-opensearch-dashboards.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/opensearch_logs/index.ts b/src/plugins/home/server/tutorials/opensearch_logs/index.ts deleted file mode 100644 index 86f8caebd0ac..000000000000 --- a/src/plugins/home/server/tutorials/opensearch_logs/index.ts +++ /dev/null @@ -1,77 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function opensearchLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'opensearch'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'opensearchLogs', - name: i18n.translate('home.tutorials.opensearchLogs.nameTitle', { - defaultMessage: 'OpenSearch logs', - }), - moduleName, - category: TutorialsCategory.LOGGING, - isBeta: true, - shortDescription: i18n.translate('home.tutorials.opensearchLogs.shortDescription', { - defaultMessage: 'Collect and parse logs created by OpenSearch.', - }), - longDescription: i18n.translate('home.tutorials.opensearchLogs.longDescription', { - defaultMessage: - 'The `OpenSearch` Filebeat module parses logs created by OpenSearch. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-opensearch.html', - }, - }), - euiIconType: '/ui/logos/opensearch_mark.svg', - artifacts: { - application: { - label: i18n.translate('home.tutorials.opensearchLogs.artifacts.application.label', { - defaultMessage: 'Discover', - }), - path: '/app/discover#/', - }, - dashboards: [], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-opensearch.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/opensearch_metrics/index.ts b/src/plugins/home/server/tutorials/opensearch_metrics/index.ts deleted file mode 100644 index 38694ca9d588..000000000000 --- a/src/plugins/home/server/tutorials/opensearch_metrics/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function opensearchMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'opensearch'; - return { - id: 'opensearchMetrics', - name: i18n.translate('home.tutorials.opensearchMetrics.nameTitle', { - defaultMessage: 'OpenSearch metrics', - }), - moduleName, - isBeta: false, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.opensearchMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from OpenSearch.', - }), - longDescription: i18n.translate('home.tutorials.opensearchMetrics.longDescription', { - defaultMessage: - 'The `opensearch` Metricbeat module fetches internal metrics from OpenSearch. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-opensearch.html', - }, - }), - euiIconType: '/ui/logos/opensearch_mark.svg', - artifacts: { - application: { - label: i18n.translate('home.tutorials.opensearchMetrics.artifacts.application.label', { - defaultMessage: 'Discover', - }), - path: '/app/discover#/', - }, - dashboards: [], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-opensearch.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/oracle_metrics/index.ts b/src/plugins/home/server/tutorials/oracle_metrics/index.ts deleted file mode 100644 index 81557d3d4d0b..000000000000 --- a/src/plugins/home/server/tutorials/oracle_metrics/index.ts +++ /dev/null @@ -1,77 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function oracleMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'oracle'; - return { - id: moduleName + 'Metrics', - name: i18n.translate('home.tutorials.oracleMetrics.nameTitle', { - defaultMessage: 'oracle metrics', - }), - moduleName, - isBeta: false, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.oracleMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from a Oracle server.', - }), - longDescription: i18n.translate('home.tutorials.oracleMetrics.longDescription', { - defaultMessage: - 'The `{moduleName}` Metricbeat module fetches internal metrics from a Oracle server. \ -[Learn more]({learnMoreLink}).', - values: { - moduleName, - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-' + moduleName + '.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/oracle.svg', - artifacts: { - application: { - label: i18n.translate('home.tutorials.oracleMetrics.artifacts.application.label', { - defaultMessage: 'Discover', - }), - path: '/app/opensearch-dashboards#/discover', - }, - dashboards: [], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-' + moduleName + '.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/osquery_logs/index.ts b/src/plugins/home/server/tutorials/osquery_logs/index.ts deleted file mode 100644 index 1610b438013e..000000000000 --- a/src/plugins/home/server/tutorials/osquery_logs/index.ts +++ /dev/null @@ -1,82 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function osqueryLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'osquery'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'osqueryLogs', - name: i18n.translate('home.tutorials.osqueryLogs.nameTitle', { - defaultMessage: 'Osquery logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.osqueryLogs.shortDescription', { - defaultMessage: 'Collect osquery logs in JSON format.', - }), - longDescription: i18n.translate('home.tutorials.osqueryLogs.longDescription', { - defaultMessage: - 'The module collects and decodes the result logs written by \ - [osqueryd](https://osquery.readthedocs.io/en/latest/introduction/using-osqueryd/) in \ - the JSON format. To set up osqueryd follow the osquery installation instructions for \ - your operating system and configure the `filesystem` logging driver (the default). \ - Make sure UTC timestamps are enabled. \ - [Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-osquery.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/osquery.svg', - artifacts: { - dashboards: [ - { - id: '69f5ae20-eb02-11e7-8f04-51231daa5b05-ecs', - linkLabel: i18n.translate('home.tutorials.osqueryLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Osquery Compliance Pack', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-osquery.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/panw_logs/index.ts b/src/plugins/home/server/tutorials/panw_logs/index.ts deleted file mode 100644 index d633b1034327..000000000000 --- a/src/plugins/home/server/tutorials/panw_logs/index.ts +++ /dev/null @@ -1,81 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function panwLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'panw'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'panwLogs', - name: i18n.translate('home.tutorials.panwLogs.nameTitle', { - defaultMessage: 'Palo Alto Networks PAN-OS logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.panwLogs.shortDescription', { - defaultMessage: - 'Collect Palo Alto Networks PAN-OS threat and traffic logs over syslog or from a log file.', - }), - longDescription: i18n.translate('home.tutorials.panwLogs.longDescription', { - defaultMessage: - 'This is a module for Palo Alto Networks PAN-OS firewall monitoring \ - logs received over Syslog or read from a file. It currently supports \ - messages of Traffic and Threat types. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-panw.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/paloalto.svg', - artifacts: { - dashboards: [ - { - id: 'e40ba240-7572-11e9-976e-65a8f47cc4c1', - linkLabel: i18n.translate('home.tutorials.panwLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'PANW Network Flows', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-panw.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/php_fpm_metrics/index.ts b/src/plugins/home/server/tutorials/php_fpm_metrics/index.ts deleted file mode 100644 index 2089e5d8154f..000000000000 --- a/src/plugins/home/server/tutorials/php_fpm_metrics/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function phpfpmMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'php_fpm'; - return { - id: 'phpfpmMetrics', - name: i18n.translate('home.tutorials.phpFpmMetrics.nameTitle', { - defaultMessage: 'PHP-FPM metrics', - }), - moduleName, - category: TutorialsCategory.METRICS, - isBeta: false, - shortDescription: i18n.translate('home.tutorials.phpFpmMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from PHP-FPM.', - }), - longDescription: i18n.translate('home.tutorials.phpFpmMetrics.longDescription', { - defaultMessage: - 'The `php_fpm` Metricbeat module fetches internal metrics from the PHP-FPM server. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-php_fpm.html', - }, - }), - euiIconType: 'logoPhp', - artifacts: { - dashboards: [ - /* { - id: 'TODO', - linkLabel: 'PHP-FPM metrics dashboard', - isOverview: true - }*/ - ], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-php_fpm.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/postgresql_logs/index.ts b/src/plugins/home/server/tutorials/postgresql_logs/index.ts deleted file mode 100644 index ebd4eb988700..000000000000 --- a/src/plugins/home/server/tutorials/postgresql_logs/index.ts +++ /dev/null @@ -1,81 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function postgresqlLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'postgresql'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'postgresqlLogs', - name: i18n.translate('home.tutorials.postgresqlLogs.nameTitle', { - defaultMessage: 'PostgreSQL logs', - }), - moduleName, - category: TutorialsCategory.LOGGING, - shortDescription: i18n.translate('home.tutorials.postgresqlLogs.shortDescription', { - defaultMessage: 'Collect and parse error and slow logs created by PostgreSQL.', - }), - longDescription: i18n.translate('home.tutorials.postgresqlLogs.longDescription', { - defaultMessage: - 'The `postgresql` Filebeat module parses error and slow logs created by PostgreSQL. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-postgresql.html', - }, - }), - euiIconType: 'logoPostgres', - artifacts: { - dashboards: [ - { - id: '158be870-87f4-11e7-ad9c-db80de0bf8d3-ecs', - linkLabel: i18n.translate( - 'home.tutorials.postgresqlLogs.artifacts.dashboards.linkLabel', - { - defaultMessage: 'PostgreSQL logs dashboard', - } - ), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-postgresql.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/postgresql_metrics/index.ts b/src/plugins/home/server/tutorials/postgresql_metrics/index.ts deleted file mode 100644 index dd4464084636..000000000000 --- a/src/plugins/home/server/tutorials/postgresql_metrics/index.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function postgresqlMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'postgresql'; - return { - id: 'postgresqlMetrics', - name: i18n.translate('home.tutorials.postgresqlMetrics.nameTitle', { - defaultMessage: 'PostgreSQL metrics', - }), - moduleName, - category: TutorialsCategory.METRICS, - isBeta: false, - shortDescription: i18n.translate('home.tutorials.postgresqlMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from PostgreSQL.', - }), - longDescription: i18n.translate('home.tutorials.postgresqlMetrics.longDescription', { - defaultMessage: - 'The `postgresql` Metricbeat module fetches internal metrics from the PostgreSQL server. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-postgresql.html', - }, - }), - euiIconType: 'logoPostgres', - artifacts: { - dashboards: [ - /* - { - id: 'TODO', - linkLabel: 'PostgreSQL metrics dashboard', - isOverview: true - } - */ - ], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-postgresql.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/prometheus_metrics/index.ts b/src/plugins/home/server/tutorials/prometheus_metrics/index.ts deleted file mode 100644 index 14e0cf53f3ff..000000000000 --- a/src/plugins/home/server/tutorials/prometheus_metrics/index.ts +++ /dev/null @@ -1,77 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function prometheusMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'prometheus'; - return { - id: moduleName + 'Metrics', - name: i18n.translate('home.tutorials.prometheusMetrics.nameTitle', { - defaultMessage: 'Prometheus metrics', - }), - moduleName, - isBeta: false, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.prometheusMetrics.shortDescription', { - defaultMessage: 'Fetch metrics from a Prometheus exporter.', - }), - longDescription: i18n.translate('home.tutorials.prometheusMetrics.longDescription', { - defaultMessage: - 'The `{moduleName}` Metricbeat module fetches metrics from Prometheus endpoint. \ -[Learn more]({learnMoreLink}).', - values: { - moduleName, - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-' + moduleName + '.html', - }, - }), - euiIconType: 'logoPrometheus', - artifacts: { - application: { - label: i18n.translate('home.tutorials.prometheusMetrics.artifacts.application.label', { - defaultMessage: 'Discover', - }), - path: '/app/discover#/', - }, - dashboards: [], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-' + moduleName + '.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/rabbitmq_logs/index.ts b/src/plugins/home/server/tutorials/rabbitmq_logs/index.ts deleted file mode 100644 index 62c0396f1640..000000000000 --- a/src/plugins/home/server/tutorials/rabbitmq_logs/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function rabbitmqLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'rabbitmq'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'rabbitmqLogs', - name: i18n.translate('home.tutorials.rabbitmqLogs.nameTitle', { - defaultMessage: 'RabbitMQ logs', - }), - moduleName, - category: TutorialsCategory.LOGGING, - shortDescription: i18n.translate('home.tutorials.rabbitmqLogs.shortDescription', { - defaultMessage: 'Collect RabbitMQ logs.', - }), - longDescription: i18n.translate('home.tutorials.rabbitmqLogs.longDescription', { - defaultMessage: - 'This is the module for parsing [RabbitMQ log files](https://www.rabbitmq.com/logging.html) \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-rabbitmq.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/rabbitmq.svg', - artifacts: { - dashboards: [], - application: { - label: i18n.translate('home.tutorials.rabbitmqLogs.artifacts.application.label', { - defaultMessage: 'Discover', - }), - path: '/app/discover#/', - }, - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-rabbitmq.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/rabbitmq_metrics/index.ts b/src/plugins/home/server/tutorials/rabbitmq_metrics/index.ts deleted file mode 100644 index 50cae7495f67..000000000000 --- a/src/plugins/home/server/tutorials/rabbitmq_metrics/index.ts +++ /dev/null @@ -1,81 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function rabbitmqMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'rabbitmq'; - return { - id: 'rabbitmqMetrics', - name: i18n.translate('home.tutorials.rabbitmqMetrics.nameTitle', { - defaultMessage: 'RabbitMQ metrics', - }), - moduleName, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.rabbitmqMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from the RabbitMQ server.', - }), - longDescription: i18n.translate('home.tutorials.rabbitmqMetrics.longDescription', { - defaultMessage: - 'The `rabbitmq` Metricbeat module fetches internal metrics from the RabbitMQ server. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-rabbitmq.html', - }, - }), - euiIconType: 'logoRabbitmq', - isBeta: false, - artifacts: { - dashboards: [ - { - id: 'AV4YobKIge1VCbKU_qVo-ecs', - linkLabel: i18n.translate( - 'home.tutorials.rabbitmqMetrics.artifacts.dashboards.linkLabel', - { - defaultMessage: 'RabbitMQ metrics dashboard', - } - ), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-rabbitmq.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/radware_logs/index.ts b/src/plugins/home/server/tutorials/radware_logs/index.ts deleted file mode 100644 index 942793817e9d..000000000000 --- a/src/plugins/home/server/tutorials/radware_logs/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function radwareLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'radware'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'radwareLogs', - name: i18n.translate('home.tutorials.radwareLogs.nameTitle', { - defaultMessage: 'Radware DefensePro logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.radwareLogs.shortDescription', { - defaultMessage: 'Collect Radware DefensePro logs over syslog or from a file.', - }), - longDescription: i18n.translate('home.tutorials.radwareLogs.longDescription', { - defaultMessage: - 'This is a module for receiving Radware DefensePro logs over Syslog or a file. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-radware.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/radware.svg', - artifacts: { - dashboards: [], - application: { - path: '/app/security', - label: i18n.translate('home.tutorials.radwareLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Security App', - }), - }, - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-radware.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/redis_logs/index.ts b/src/plugins/home/server/tutorials/redis_logs/index.ts deleted file mode 100644 index 1a73c8c9a5e1..000000000000 --- a/src/plugins/home/server/tutorials/redis_logs/index.ts +++ /dev/null @@ -1,84 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function redisLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'redis'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'redisLogs', - name: i18n.translate('home.tutorials.redisLogs.nameTitle', { - defaultMessage: 'Redis logs', - }), - moduleName, - category: TutorialsCategory.LOGGING, - shortDescription: i18n.translate('home.tutorials.redisLogs.shortDescription', { - defaultMessage: 'Collect and parse error and slow logs created by Redis.', - }), - longDescription: i18n.translate('home.tutorials.redisLogs.longDescription', { - defaultMessage: - 'The `redis` Filebeat module parses error and slow logs created by Redis. \ -For Redis to write error logs, make sure the `logfile` option, from the \ -Redis configuration file, is set to `redis-server.log`. \ -The slow logs are read directly from Redis via the `SLOWLOG` command. \ -For Redis to record slow logs, make sure the `slowlog-log-slower-than` \ -option is set. \ -Note that the `slowlog` fileset is experimental. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-redis.html', - }, - }), - euiIconType: 'logoRedis', - artifacts: { - dashboards: [ - { - id: '7fea2930-478e-11e7-b1f0-cb29bac6bf8b-ecs', - linkLabel: i18n.translate('home.tutorials.redisLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Redis logs dashboard', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-redis.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/redis_metrics/index.ts b/src/plugins/home/server/tutorials/redis_metrics/index.ts deleted file mode 100644 index d6d63dfc4787..000000000000 --- a/src/plugins/home/server/tutorials/redis_metrics/index.ts +++ /dev/null @@ -1,77 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function redisMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'redis'; - return { - id: 'redisMetrics', - name: i18n.translate('home.tutorials.redisMetrics.nameTitle', { - defaultMessage: 'Redis metrics', - }), - moduleName, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.redisMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from Redis.', - }), - longDescription: i18n.translate('home.tutorials.redisMetrics.longDescription', { - defaultMessage: - 'The `redis` Metricbeat module fetches internal metrics from the Redis server. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-redis.html', - }, - }), - euiIconType: 'logoRedis', - artifacts: { - dashboards: [ - { - id: 'AV4YjZ5pux-M-tCAunxK-ecs', - linkLabel: i18n.translate('home.tutorials.redisMetrics.artifacts.dashboards.linkLabel', { - defaultMessage: 'Redis metrics dashboard', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-redis.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/redisenterprise_metrics/index.ts b/src/plugins/home/server/tutorials/redisenterprise_metrics/index.ts deleted file mode 100644 index ef0d922d63f1..000000000000 --- a/src/plugins/home/server/tutorials/redisenterprise_metrics/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function redisenterpriseMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'redisenterprise'; - return { - id: 'redisenterpriseMetrics', - name: i18n.translate('home.tutorials.redisenterpriseMetrics.nameTitle', { - defaultMessage: 'Redis Enterprise metrics', - }), - moduleName, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.redisenterpriseMetrics.shortDescription', { - defaultMessage: 'Fetch monitoring metrics from Redis Enterprise Server.', - }), - longDescription: i18n.translate('home.tutorials.redisenterpriseMetrics.longDescription', { - defaultMessage: - 'The `redisenterprise` Metricbeat module fetches monitoring metrics from Redis Enterprise Server \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-redisenterprise.html', - }, - }), - euiIconType: 'logoRedis', - isBeta: true, - artifacts: { - application: { - label: i18n.translate('home.tutorials.redisenterpriseMetrics.artifacts.application.label', { - defaultMessage: 'Discover', - }), - path: '/app/discover#/', - }, - dashboards: [], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-redisenterprise.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/register.ts b/src/plugins/home/server/tutorials/register.ts deleted file mode 100644 index 0f6b045b2c38..000000000000 --- a/src/plugins/home/server/tutorials/register.ts +++ /dev/null @@ -1,251 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 { activemqLogsSpecProvider } from './activemq_logs'; -import { activemqMetricsSpecProvider } from './activemq_metrics'; -import { aerospikeMetricsSpecProvider } from './aerospike_metrics'; -import { apacheLogsSpecProvider } from './apache_logs'; -import { apacheMetricsSpecProvider } from './apache_metrics'; -import { auditbeatSpecProvider } from './auditbeat'; -import { auditdLogsSpecProvider } from './auditd_logs'; -import { awsLogsSpecProvider } from './aws_logs'; -import { awsMetricsSpecProvider } from './aws_metrics'; -import { azureLogsSpecProvider } from './azure_logs'; -import { azureMetricsSpecProvider } from './azure_metrics'; -import { barracudaLogsSpecProvider } from './barracuda_logs'; -import { bluecoatLogsSpecProvider } from './bluecoat_logs'; -import { cefLogsSpecProvider } from './cef_logs'; -import { cephMetricsSpecProvider } from './ceph_metrics'; -import { checkpointLogsSpecProvider } from './checkpoint_logs'; -import { ciscoLogsSpecProvider } from './cisco_logs'; -import { cloudwatchLogsSpecProvider } from './cloudwatch_logs'; -import { cockroachdbMetricsSpecProvider } from './cockroachdb_metrics'; -import { consulMetricsSpecProvider } from './consul_metrics'; -import { corednsLogsSpecProvider } from './coredns_logs'; -import { corednsMetricsSpecProvider } from './coredns_metrics'; -import { couchbaseMetricsSpecProvider } from './couchbase_metrics'; -import { couchdbMetricsSpecProvider } from './couchdb_metrics'; -import { crowdstrikeLogsSpecProvider } from './crowdstrike_logs'; -import { cylanceLogsSpecProvider } from './cylance_logs'; -import { dockerMetricsSpecProvider } from './docker_metrics'; -import { dropwizardMetricsSpecProvider } from './dropwizard_metrics'; -import { opensearchLogsSpecProvider } from './opensearch_logs'; -import { opensearchMetricsSpecProvider } from './opensearch_metrics'; -import { envoyproxyLogsSpecProvider } from './envoyproxy_logs'; -import { envoyproxyMetricsSpecProvider } from './envoyproxy_metrics'; -import { etcdMetricsSpecProvider } from './etcd_metrics'; -import { f5LogsSpecProvider } from './f5_logs'; -import { fortinetLogsSpecProvider } from './fortinet_logs'; -import { golangMetricsSpecProvider } from './golang_metrics'; -import { googlecloudLogsSpecProvider } from './googlecloud_logs'; -import { googlecloudMetricsSpecProvider } from './googlecloud_metrics'; -import { gsuiteLogsSpecProvider } from './gsuite_logs'; -import { haproxyLogsSpecProvider } from './haproxy_logs'; -import { haproxyMetricsSpecProvider } from './haproxy_metrics'; -import { ibmmqLogsSpecProvider } from './ibmmq_logs'; -import { ibmmqMetricsSpecProvider } from './ibmmq_metrics'; -import { icingaLogsSpecProvider } from './icinga_logs'; -import { iisLogsSpecProvider } from './iis_logs'; -import { iisMetricsSpecProvider } from './iis_metrics'; -import { impervaLogsSpecProvider } from './imperva_logs'; -import { infobloxLogsSpecProvider } from './infoblox_logs'; -import { iptablesLogsSpecProvider } from './iptables_logs'; -import { juniperLogsSpecProvider } from './juniper_logs'; -import { kafkaLogsSpecProvider } from './kafka_logs'; -import { kafkaMetricsSpecProvider } from './kafka_metrics'; -import { opensearchDashboardsLogsSpecProvider } from './opensearch_dashboards_logs'; -import { opensearchDashboardsMetricsSpecProvider } from './opensearch_dashboards_metrics'; -import { kubernetesMetricsSpecProvider } from './kubernetes_metrics'; -import { logstashLogsSpecProvider } from './logstash_logs'; -import { logstashMetricsSpecProvider } from './logstash_metrics'; -import { memcachedMetricsSpecProvider } from './memcached_metrics'; -import { microsoftLogsSpecProvider } from './microsoft_logs'; -import { mispLogsSpecProvider } from './misp_logs'; -import { mongodbLogsSpecProvider } from './mongodb_logs'; -import { mongodbMetricsSpecProvider } from './mongodb_metrics'; -import { mssqlLogsSpecProvider } from './mssql_logs'; -import { mssqlMetricsSpecProvider } from './mssql_metrics'; -import { muninMetricsSpecProvider } from './munin_metrics'; -import { mysqlLogsSpecProvider } from './mysql_logs'; -import { mysqlMetricsSpecProvider } from './mysql_metrics'; -import { natsLogsSpecProvider } from './nats_logs'; -import { natsMetricsSpecProvider } from './nats_metrics'; -import { netflowLogsSpecProvider } from './netflow_logs'; -import { netscoutLogsSpecProvider } from './netscout_logs'; -import { nginxLogsSpecProvider } from './nginx_logs'; -import { nginxMetricsSpecProvider } from './nginx_metrics'; -import { o365LogsSpecProvider } from './o365_logs'; -import { oktaLogsSpecProvider } from './okta_logs'; -import { openmetricsMetricsSpecProvider } from './openmetrics_metrics'; -import { oracleMetricsSpecProvider } from './oracle_metrics'; -import { osqueryLogsSpecProvider } from './osquery_logs'; -import { panwLogsSpecProvider } from './panw_logs'; -import { phpfpmMetricsSpecProvider } from './php_fpm_metrics'; -import { postgresqlLogsSpecProvider } from './postgresql_logs'; -import { postgresqlMetricsSpecProvider } from './postgresql_metrics'; -import { prometheusMetricsSpecProvider } from './prometheus_metrics'; -import { rabbitmqLogsSpecProvider } from './rabbitmq_logs'; -import { rabbitmqMetricsSpecProvider } from './rabbitmq_metrics'; -import { radwareLogsSpecProvider } from './radware_logs'; -import { redisLogsSpecProvider } from './redis_logs'; -import { redisMetricsSpecProvider } from './redis_metrics'; -import { redisenterpriseMetricsSpecProvider } from './redisenterprise_metrics'; -import { santaLogsSpecProvider } from './santa_logs'; -import { sonicwallLogsSpecProvider } from './sonicwall_logs'; -import { sophosLogsSpecProvider } from './sophos_logs'; -import { squidLogsSpecProvider } from './squid_logs'; -import { stanMetricsSpecProvider } from './stan_metrics'; -import { statsdMetricsSpecProvider } from './statsd_metrics'; -import { suricataLogsSpecProvider } from './suricata_logs'; -import { systemLogsSpecProvider } from './system_logs'; -import { systemMetricsSpecProvider } from './system_metrics'; -import { tomcatLogsSpecProvider } from './tomcat_logs'; -import { traefikLogsSpecProvider } from './traefik_logs'; -import { traefikMetricsSpecProvider } from './traefik_metrics'; -import { uptimeMonitorsSpecProvider } from './uptime_monitors'; -import { uwsgiMetricsSpecProvider } from './uwsgi_metrics'; -import { vSphereMetricsSpecProvider } from './vsphere_metrics'; -import { windowsEventLogsSpecProvider } from './windows_event_logs'; -import { windowsMetricsSpecProvider } from './windows_metrics'; -import { zeekLogsSpecProvider } from './zeek_logs'; -import { zookeeperMetricsSpecProvider } from './zookeeper_metrics'; -import { zscalerLogsSpecProvider } from './zscaler_logs'; - -export const builtInTutorials = [ - systemLogsSpecProvider, - systemMetricsSpecProvider, - apacheLogsSpecProvider, - apacheMetricsSpecProvider, - opensearchLogsSpecProvider, - iisLogsSpecProvider, - kafkaLogsSpecProvider, - logstashLogsSpecProvider, - nginxLogsSpecProvider, - nginxMetricsSpecProvider, - mysqlLogsSpecProvider, - mysqlMetricsSpecProvider, - mongodbMetricsSpecProvider, - osqueryLogsSpecProvider, - phpfpmMetricsSpecProvider, - postgresqlMetricsSpecProvider, - postgresqlLogsSpecProvider, - rabbitmqMetricsSpecProvider, - redisLogsSpecProvider, - redisMetricsSpecProvider, - suricataLogsSpecProvider, - dockerMetricsSpecProvider, - kubernetesMetricsSpecProvider, - uwsgiMetricsSpecProvider, - netflowLogsSpecProvider, - traefikLogsSpecProvider, - cephMetricsSpecProvider, - aerospikeMetricsSpecProvider, - couchbaseMetricsSpecProvider, - dropwizardMetricsSpecProvider, - opensearchMetricsSpecProvider, - etcdMetricsSpecProvider, - haproxyMetricsSpecProvider, - kafkaMetricsSpecProvider, - opensearchDashboardsMetricsSpecProvider, - memcachedMetricsSpecProvider, - muninMetricsSpecProvider, - vSphereMetricsSpecProvider, - windowsMetricsSpecProvider, - windowsEventLogsSpecProvider, - golangMetricsSpecProvider, - logstashMetricsSpecProvider, - prometheusMetricsSpecProvider, - zookeeperMetricsSpecProvider, - uptimeMonitorsSpecProvider, - cloudwatchLogsSpecProvider, - awsMetricsSpecProvider, - mssqlMetricsSpecProvider, - natsMetricsSpecProvider, - natsLogsSpecProvider, - zeekLogsSpecProvider, - corednsMetricsSpecProvider, - corednsLogsSpecProvider, - auditbeatSpecProvider, - iptablesLogsSpecProvider, - ciscoLogsSpecProvider, - envoyproxyLogsSpecProvider, - couchdbMetricsSpecProvider, - consulMetricsSpecProvider, - cockroachdbMetricsSpecProvider, - traefikMetricsSpecProvider, - awsLogsSpecProvider, - activemqLogsSpecProvider, - activemqMetricsSpecProvider, - azureMetricsSpecProvider, - ibmmqLogsSpecProvider, - ibmmqMetricsSpecProvider, - stanMetricsSpecProvider, - envoyproxyMetricsSpecProvider, - statsdMetricsSpecProvider, - redisenterpriseMetricsSpecProvider, - openmetricsMetricsSpecProvider, - oracleMetricsSpecProvider, - iisMetricsSpecProvider, - azureLogsSpecProvider, - googlecloudMetricsSpecProvider, - auditdLogsSpecProvider, - barracudaLogsSpecProvider, - bluecoatLogsSpecProvider, - cefLogsSpecProvider, - checkpointLogsSpecProvider, - crowdstrikeLogsSpecProvider, - cylanceLogsSpecProvider, - f5LogsSpecProvider, - fortinetLogsSpecProvider, - googlecloudLogsSpecProvider, - gsuiteLogsSpecProvider, - haproxyLogsSpecProvider, - icingaLogsSpecProvider, - impervaLogsSpecProvider, - infobloxLogsSpecProvider, - juniperLogsSpecProvider, - opensearchDashboardsLogsSpecProvider, - microsoftLogsSpecProvider, - mispLogsSpecProvider, - mongodbLogsSpecProvider, - mssqlLogsSpecProvider, - netscoutLogsSpecProvider, - o365LogsSpecProvider, - oktaLogsSpecProvider, - panwLogsSpecProvider, - rabbitmqLogsSpecProvider, - radwareLogsSpecProvider, - santaLogsSpecProvider, - sonicwallLogsSpecProvider, - sophosLogsSpecProvider, - squidLogsSpecProvider, - tomcatLogsSpecProvider, - zscalerLogsSpecProvider, -]; diff --git a/src/plugins/home/server/tutorials/santa_logs/index.ts b/src/plugins/home/server/tutorials/santa_logs/index.ts deleted file mode 100644 index 0008a3adb73d..000000000000 --- a/src/plugins/home/server/tutorials/santa_logs/index.ts +++ /dev/null @@ -1,79 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function santaLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'santa'; - const platforms = ['OSX'] as const; - return { - id: 'santaLogs', - name: i18n.translate('home.tutorials.santaLogs.nameTitle', { - defaultMessage: 'Google Santa logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.santaLogs.shortDescription', { - defaultMessage: 'Collect Google Santa logs about process executions on MacOS.', - }), - longDescription: i18n.translate('home.tutorials.santaLogs.longDescription', { - defaultMessage: - 'The module collects and parses logs from [Google Santa](https://github.com/google/santa), \ - a security tool for macOS that monitors process executions and can denylist/allowlist binaries. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-santa.html', - }, - }), - euiIconType: 'logoLogging', - artifacts: { - dashboards: [ - { - id: '161855f0-ff6a-11e8-93c5-d5ecd1b3e307-ecs', - linkLabel: i18n.translate('home.tutorials.santaLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Santa Overview', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-santa.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/sonicwall_logs/index.ts b/src/plugins/home/server/tutorials/sonicwall_logs/index.ts deleted file mode 100644 index 0cd3bcd90cfc..000000000000 --- a/src/plugins/home/server/tutorials/sonicwall_logs/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function sonicwallLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'sonicwall'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'sonicwallLogs', - name: i18n.translate('home.tutorials.sonicwallLogs.nameTitle', { - defaultMessage: 'Sonicwall FW logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.sonicwallLogs.shortDescription', { - defaultMessage: 'Collect Sonicwall-FW logs over syslog or from a file.', - }), - longDescription: i18n.translate('home.tutorials.sonicwallLogs.longDescription', { - defaultMessage: - 'This is a module for receiving Sonicwall-FW logs over Syslog or a file. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-sonicwall.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/sonicwall.svg', - artifacts: { - dashboards: [], - application: { - path: '/app/security', - label: i18n.translate('home.tutorials.radwareLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Security App', - }), - }, - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-sonicwall.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/sophos_logs/index.ts b/src/plugins/home/server/tutorials/sophos_logs/index.ts deleted file mode 100644 index fc3935e13238..000000000000 --- a/src/plugins/home/server/tutorials/sophos_logs/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function sophosLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'sophos'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'sophosLogs', - name: i18n.translate('home.tutorials.sophosLogs.nameTitle', { - defaultMessage: 'Sophos logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.sophosLogs.shortDescription', { - defaultMessage: 'Collect Sophos XG SFOS logs over syslog.', - }), - longDescription: i18n.translate('home.tutorials.sophosLogs.longDescription', { - defaultMessage: - 'This is a module for Sophos Products, currently it supports XG SFOS logs sent in the syslog format. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-sophos.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/sophos.svg', - artifacts: { - dashboards: [], - application: { - path: '/app/security', - label: i18n.translate('home.tutorials.sophosLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Security App', - }), - }, - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-sophos.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/squid_logs/index.ts b/src/plugins/home/server/tutorials/squid_logs/index.ts deleted file mode 100644 index b88d1e995df7..000000000000 --- a/src/plugins/home/server/tutorials/squid_logs/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function squidLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'squid'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'squidLogs', - name: i18n.translate('home.tutorials.squidLogs.nameTitle', { - defaultMessage: 'Squid logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.squidLogs.shortDescription', { - defaultMessage: 'Collect Squid logs over syslog or from a file.', - }), - longDescription: i18n.translate('home.tutorials.squidLogs.longDescription', { - defaultMessage: - 'This is a module for receiving Squid logs over Syslog or a file. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-squid.html', - }, - }), - euiIconType: 'logoLogging', - artifacts: { - dashboards: [], - application: { - path: '/app/security', - label: i18n.translate('home.tutorials.squidLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Security App', - }), - }, - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-squid.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/stan_metrics/index.ts b/src/plugins/home/server/tutorials/stan_metrics/index.ts deleted file mode 100644 index 49be1e327e96..000000000000 --- a/src/plugins/home/server/tutorials/stan_metrics/index.ts +++ /dev/null @@ -1,77 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function stanMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'stan'; - return { - id: 'stanMetrics', - name: i18n.translate('home.tutorials.stanMetrics.nameTitle', { - defaultMessage: 'STAN metrics', - }), - moduleName, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.stanMetrics.shortDescription', { - defaultMessage: 'Fetch monitoring metrics from the STAN server.', - }), - longDescription: i18n.translate('home.tutorials.stanMetrics.longDescription', { - defaultMessage: - 'The `stan` Metricbeat module fetches monitoring metrics from STAN. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-stan.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/stan.svg', - artifacts: { - dashboards: [ - { - id: 'dbf2e220-37ce-11ea-a9c8-152a657da3ab', - linkLabel: i18n.translate('home.tutorials.stanMetrics.artifacts.dashboards.linkLabel', { - defaultMessage: 'Stan metrics dashboard', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-stan.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/statsd_metrics/index.ts b/src/plugins/home/server/tutorials/statsd_metrics/index.ts deleted file mode 100644 index 1fbba2156324..000000000000 --- a/src/plugins/home/server/tutorials/statsd_metrics/index.ts +++ /dev/null @@ -1,66 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory, TutorialSchema } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { TutorialContext } from '../../services/tutorials/lib/tutorials_registry_types'; - -export function statsdMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'statsd'; - return { - id: 'statsdMetrics', - name: i18n.translate('home.tutorials.statsdMetrics.nameTitle', { - defaultMessage: 'Statsd metrics', - }), - moduleName, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.statsdMetrics.shortDescription', { - defaultMessage: 'Fetch monitoring metrics from statsd.', - }), - longDescription: i18n.translate('home.tutorials.statsdMetrics.longDescription', { - defaultMessage: - 'The `statsd` Metricbeat module fetches monitoring metrics from statsd. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-statsd.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/statsd.svg', - artifacts: { - dashboards: [], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-statsd.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/suricata_logs/index.ts b/src/plugins/home/server/tutorials/suricata_logs/index.ts deleted file mode 100644 index 89091930add9..000000000000 --- a/src/plugins/home/server/tutorials/suricata_logs/index.ts +++ /dev/null @@ -1,79 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function suricataLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'suricata'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'suricataLogs', - name: i18n.translate('home.tutorials.suricataLogs.nameTitle', { - defaultMessage: 'Suricata logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.suricataLogs.shortDescription', { - defaultMessage: 'Collect Suricata IDS/IPS/NSM logs.', - }), - longDescription: i18n.translate('home.tutorials.suricataLogs.longDescription', { - defaultMessage: - 'This is a module to the Suricata IDS/IPS/NSM log. It parses logs that are \ - in the [Suricata Eve JSON format](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: '/plugins/home/assets/tutorials/logos/suricata.svg', - artifacts: { - dashboards: [ - { - id: '78289c40-86da-11e8-b59d-21efb914e65c-ecs', - linkLabel: i18n.translate('home.tutorials.suricataLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Suricata Events Overview', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-suricata.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/system_logs/index.ts b/src/plugins/home/server/tutorials/system_logs/index.ts deleted file mode 100644 index 0809fba7455c..000000000000 --- a/src/plugins/home/server/tutorials/system_logs/index.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function systemLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'system'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'systemLogs', - name: i18n.translate('home.tutorials.systemLogs.nameTitle', { - defaultMessage: 'System logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.systemLogs.shortDescription', { - defaultMessage: 'Collect system logs of common Unix/Linux based distributions.', - }), - longDescription: i18n.translate('home.tutorials.systemLogs.longDescription', { - defaultMessage: - 'The module collects and parses logs created by the system logging service of common Unix/Linux based distributions. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-system.html', - }, - }), - euiIconType: 'logoLogging', - artifacts: { - dashboards: [ - { - id: 'Filebeat-syslog-dashboard-ecs', - linkLabel: i18n.translate('home.tutorials.systemLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'System Syslog Dashboard', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-system.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/system_metrics/index.ts b/src/plugins/home/server/tutorials/system_metrics/index.ts deleted file mode 100644 index 903591207884..000000000000 --- a/src/plugins/home/server/tutorials/system_metrics/index.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function systemMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'system'; - return { - id: 'systemMetrics', - name: i18n.translate('home.tutorials.systemMetrics.nameTitle', { - defaultMessage: 'System metrics', - }), - moduleName, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.systemMetrics.shortDescription', { - defaultMessage: 'Collect CPU, memory, network, and disk statistics from the host.', - }), - longDescription: i18n.translate('home.tutorials.systemMetrics.longDescription', { - defaultMessage: - 'The `system` Metricbeat module collects CPU, memory, network, and disk statistics from the host. \ -It collects system wide statistics and statistics per process and filesystem. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-system.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/system.svg', - artifacts: { - dashboards: [ - { - id: 'Metricbeat-system-overview-ecs', - linkLabel: i18n.translate('home.tutorials.systemMetrics.artifacts.dashboards.linkLabel', { - defaultMessage: 'System metrics dashboard', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-system.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/tomcat_logs/index.ts b/src/plugins/home/server/tutorials/tomcat_logs/index.ts deleted file mode 100644 index d7e6742f7e49..000000000000 --- a/src/plugins/home/server/tutorials/tomcat_logs/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function tomcatLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'tomcat'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'tomcatLogs', - name: i18n.translate('home.tutorials.tomcatLogs.nameTitle', { - defaultMessage: 'Tomcat logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.tomcatLogs.shortDescription', { - defaultMessage: 'Collect Apache Tomcat logs over syslog or from a file.', - }), - longDescription: i18n.translate('home.tutorials.tomcatLogs.longDescription', { - defaultMessage: - 'This is a module for receiving Apache Tomcat logs over Syslog or a file. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-tomcat.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/tomcat.svg', - artifacts: { - dashboards: [], - application: { - path: '/app/security', - label: i18n.translate('home.tutorials.tomcatLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Security App', - }), - }, - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-tomcat.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/traefik_logs/index.ts b/src/plugins/home/server/tutorials/traefik_logs/index.ts deleted file mode 100644 index de4767ac49af..000000000000 --- a/src/plugins/home/server/tutorials/traefik_logs/index.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function traefikLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'traefik'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'traefikLogs', - name: i18n.translate('home.tutorials.traefikLogs.nameTitle', { - defaultMessage: 'Traefik logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.traefikLogs.shortDescription', { - defaultMessage: 'Collect Traefik access logs.', - }), - longDescription: i18n.translate('home.tutorials.traefikLogs.longDescription', { - defaultMessage: - 'The module parses access logs created by [Træfik](https://traefik.io/). \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-traefik.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/traefik.svg', - artifacts: { - dashboards: [ - { - id: 'Filebeat-Traefik-Dashboard-ecs', - linkLabel: i18n.translate('home.tutorials.traefikLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Traefik Access Logs', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-traefik.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/traefik_metrics/index.ts b/src/plugins/home/server/tutorials/traefik_metrics/index.ts deleted file mode 100644 index 07d201f860b5..000000000000 --- a/src/plugins/home/server/tutorials/traefik_metrics/index.ts +++ /dev/null @@ -1,66 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory, TutorialSchema } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { TutorialContext } from '../../services/tutorials/lib/tutorials_registry_types'; - -export function traefikMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'traefik'; - return { - id: 'traefikMetrics', - name: i18n.translate('home.tutorials.traefikMetrics.nameTitle', { - defaultMessage: 'Traefik metrics', - }), - moduleName, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.traefikMetrics.shortDescription', { - defaultMessage: 'Fetch monitoring metrics from Traefik.', - }), - longDescription: i18n.translate('home.tutorials.traefikMetrics.longDescription', { - defaultMessage: - 'The `traefik` Metricbeat module fetches monitoring metrics from Traefik. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-traefik.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/traefik.svg', - artifacts: { - dashboards: [], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-traefik.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/uptime_monitors/index.ts b/src/plugins/home/server/tutorials/uptime_monitors/index.ts deleted file mode 100644 index f01fcfe700f2..000000000000 --- a/src/plugins/home/server/tutorials/uptime_monitors/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/heartbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function uptimeMonitorsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'uptime'; - return { - id: 'uptimeMonitors', - name: i18n.translate('home.tutorials.uptimeMonitors.nameTitle', { - defaultMessage: 'Uptime Monitors', - }), - moduleName, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.uptimeMonitors.shortDescription', { - defaultMessage: 'Monitor services for their availability', - }), - longDescription: i18n.translate('home.tutorials.uptimeMonitors.longDescription', { - defaultMessage: - 'Monitor services for their availability with active probing. \ - Given a list of URLs, Heartbeat asks the simple question: Are you alive? \ - [Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.heartbeat}/heartbeat-installation-configuration.html', - }, - }), - euiIconType: 'uptimeApp', - artifacts: { - dashboards: [], - application: { - path: '/app/uptime', - label: i18n.translate('home.tutorials.uptimeMonitors.artifacts.dashboards.linkLabel', { - defaultMessage: 'Uptime App', - }), - }, - exportedFields: { - documentationUrl: '{config.docs.beats.heartbeat}/exported-fields.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions([], context), - }; -} diff --git a/src/plugins/home/server/tutorials/uwsgi_metrics/index.ts b/src/plugins/home/server/tutorials/uwsgi_metrics/index.ts deleted file mode 100644 index ed887eb1c00e..000000000000 --- a/src/plugins/home/server/tutorials/uwsgi_metrics/index.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function uwsgiMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'uwsgi'; - return { - id: 'uwsgiMetrics', - name: i18n.translate('home.tutorials.uwsgiMetrics.nameTitle', { - defaultMessage: 'uWSGI metrics', - }), - moduleName, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.uwsgiMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from the uWSGI server.', - }), - longDescription: i18n.translate('home.tutorials.uwsgiMetrics.longDescription', { - defaultMessage: - 'The `uwsgi` Metricbeat module fetches internal metrics from the uWSGI server. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-uwsgi.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/uwsgi.svg', - isBeta: false, - artifacts: { - dashboards: [ - { - id: '32fca290-f0af-11e7-b9ff-9f96241065de-ecs', - linkLabel: i18n.translate('home.tutorials.uwsgiMetrics.artifacts.dashboards.linkLabel', { - defaultMessage: 'uWSGI metrics dashboard', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-uwsgi.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/vsphere_metrics/index.ts b/src/plugins/home/server/tutorials/vsphere_metrics/index.ts deleted file mode 100644 index c817a02903e5..000000000000 --- a/src/plugins/home/server/tutorials/vsphere_metrics/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function vSphereMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'vsphere'; - return { - id: 'vsphereMetrics', - name: i18n.translate('home.tutorials.vsphereMetrics.nameTitle', { - defaultMessage: 'vSphere metrics', - }), - moduleName, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.vsphereMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from vSphere.', - }), - longDescription: i18n.translate('home.tutorials.vsphereMetrics.longDescription', { - defaultMessage: - 'The `vsphere` Metricbeat module fetches internal metrics from a vSphere cluster. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-vsphere.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/vsphere.svg', - isBeta: true, - artifacts: { - application: { - label: i18n.translate('home.tutorials.vsphereMetrics.artifacts.application.label', { - defaultMessage: 'Discover', - }), - path: '/app/discover#/', - }, - dashboards: [], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-vsphere.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/windows_event_logs/index.ts b/src/plugins/home/server/tutorials/windows_event_logs/index.ts deleted file mode 100644 index 09ed6fbb385c..000000000000 --- a/src/plugins/home/server/tutorials/windows_event_logs/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/winlogbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function windowsEventLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'windows'; - return { - id: 'windowsEventLogs', - name: i18n.translate('home.tutorials.windowsEventLogs.nameTitle', { - defaultMessage: 'Windows Event Log', - }), - moduleName, - isBeta: false, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.windowsEventLogs.shortDescription', { - defaultMessage: 'Fetch logs from the Windows Event Log.', - }), - longDescription: i18n.translate('home.tutorials.windowsEventLogs.longDescription', { - defaultMessage: - 'Use Winlogbeat to collect the logs from the Windows Event Log. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.winlogbeat}/index.html', - }, - }), - euiIconType: 'logoWindows', - artifacts: { - application: { - label: i18n.translate('home.tutorials.windowsEventLogs.artifacts.application.label', { - defaultMessage: 'SIEM App', - }), - path: '/app/siem', - }, - dashboards: [], - exportedFields: { - documentationUrl: '{config.docs.beats.winlogbeat}/exported-fields.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(context), - }; -} diff --git a/src/plugins/home/server/tutorials/windows_metrics/index.ts b/src/plugins/home/server/tutorials/windows_metrics/index.ts deleted file mode 100644 index a6a74894a730..000000000000 --- a/src/plugins/home/server/tutorials/windows_metrics/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function windowsMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'windows'; - return { - id: 'windowsMetrics', - name: i18n.translate('home.tutorials.windowsMetrics.nameTitle', { - defaultMessage: 'Windows metrics', - }), - moduleName, - isBeta: false, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.windowsMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from Windows.', - }), - longDescription: i18n.translate('home.tutorials.windowsMetrics.longDescription', { - defaultMessage: - 'The `windows` Metricbeat module fetches internal metrics from Windows. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-windows.html', - }, - }), - euiIconType: 'logoWindows', - artifacts: { - application: { - label: i18n.translate('home.tutorials.windowsMetrics.artifacts.application.label', { - defaultMessage: 'Discover', - }), - path: '/app/discover#/', - }, - dashboards: [], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-windows.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/zeek_logs/index.ts b/src/plugins/home/server/tutorials/zeek_logs/index.ts deleted file mode 100644 index 42946dbedda6..000000000000 --- a/src/plugins/home/server/tutorials/zeek_logs/index.ts +++ /dev/null @@ -1,79 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function zeekLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'zeek'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'zeekLogs', - name: i18n.translate('home.tutorials.zeekLogs.nameTitle', { - defaultMessage: 'Zeek logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.zeekLogs.shortDescription', { - defaultMessage: 'Collect Zeek network security monitoring logs.', - }), - longDescription: i18n.translate('home.tutorials.zeekLogs.longDescription', { - defaultMessage: - 'This is a module for Zeek, which used to be called Bro. It parses logs \ - that are in the [Zeek JSON format](https://www.zeek.org/manual/release/logs/index.html). \ - [Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-zeek.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/zeek.svg', - artifacts: { - dashboards: [ - { - id: '7cbb5410-3700-11e9-aa6d-ff445a78330c', - linkLabel: i18n.translate('home.tutorials.zeekLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Zeek Overview', - }), - isOverview: true, - }, - ], - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-zeek.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -} diff --git a/src/plugins/home/server/tutorials/zookeeper_metrics/index.ts b/src/plugins/home/server/tutorials/zookeeper_metrics/index.ts deleted file mode 100644 index 9ab46408e889..000000000000 --- a/src/plugins/home/server/tutorials/zookeeper_metrics/index.ts +++ /dev/null @@ -1,77 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/metricbeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function zookeeperMetricsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'zookeeper'; - return { - id: moduleName + 'Metrics', - name: i18n.translate('home.tutorials.zookeeperMetrics.nameTitle', { - defaultMessage: 'Zookeeper metrics', - }), - moduleName, - euiIconType: '/plugins/home/assets/tutorials/logos/zookeeper.svg', - isBeta: false, - category: TutorialsCategory.METRICS, - shortDescription: i18n.translate('home.tutorials.zookeeperMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from a Zookeeper server.', - }), - longDescription: i18n.translate('home.tutorials.zookeeperMetrics.longDescription', { - defaultMessage: - 'The `{moduleName}` Metricbeat module fetches internal metrics from a Zookeeper server. \ -[Learn more]({learnMoreLink}).', - values: { - moduleName, - learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-' + moduleName + '.html', - }, - }), - artifacts: { - application: { - label: i18n.translate('home.tutorials.zookeeperMetrics.artifacts.application.label', { - defaultMessage: 'Discover', - }), - path: '/app/discover#/', - }, - dashboards: [], - exportedFields: { - documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-' + moduleName + '.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, context), - }; -} diff --git a/src/plugins/home/server/tutorials/zscaler_logs/index.ts b/src/plugins/home/server/tutorials/zscaler_logs/index.ts deleted file mode 100644 index ee081c170ce1..000000000000 --- a/src/plugins/home/server/tutorials/zscaler_logs/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 '@osd/i18n'; -import { TutorialsCategory } from '../../services/tutorials'; -import { onPremInstructions } from '../instructions/filebeat_instructions'; -import { - TutorialContext, - TutorialSchema, -} from '../../services/tutorials/lib/tutorials_registry_types'; - -export function zscalerLogsSpecProvider(context: TutorialContext): TutorialSchema { - const moduleName = 'zscaler'; - const platforms = ['OSX', 'DEB', 'RPM', 'WINDOWS'] as const; - return { - id: 'zscalerLogs', - name: i18n.translate('home.tutorials.zscalerLogs.nameTitle', { - defaultMessage: 'Zscaler Logs', - }), - moduleName, - category: TutorialsCategory.SECURITY_SOLUTION, - shortDescription: i18n.translate('home.tutorials.zscalerLogs.shortDescription', { - defaultMessage: 'This is a module for receiving Zscaler NSS logs over Syslog or a file.', - }), - longDescription: i18n.translate('home.tutorials.zscalerLogs.longDescription', { - defaultMessage: - 'This is a module for receiving Zscaler NSS logs over Syslog or a file. \ -[Learn more]({learnMoreLink}).', - values: { - learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-zscaler.html', - }, - }), - euiIconType: '/plugins/home/assets/tutorials/logos/zscaler.svg', - artifacts: { - dashboards: [], - application: { - path: '/app/security', - label: i18n.translate('home.tutorials.zscalerLogs.artifacts.dashboards.linkLabel', { - defaultMessage: 'Security App', - }), - }, - exportedFields: { - documentationUrl: '{config.docs.beats.filebeat}/exported-fields-zscaler.html', - }, - }, - completionTimeMinutes: 10, - onPrem: onPremInstructions(moduleName, platforms, context), - }; -}