Add more Beats tutorials to Kibana Home (#16054)

This adds a few more Kibana Home tutorials:

* Redis logs
* Redis metrics
* Docker metrics
* Kubernetes metrics

The instructions follow the logic and share the text with the existing modules.
This commit is contained in:
Tudor Golubenco 2018-01-16 11:49:18 -08:00 committed by GitHub
parent 0c907baf01
commit 868d5422ab
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
25 changed files with 918 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 616 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 KiB

View file

@ -0,0 +1,50 @@
import { INSTRUCTION_VARIANT } from '../../../common/tutorials/instruction_variant';
import { METRICBEAT_INSTRUCTIONS } from '../../../common/tutorials/metricbeat_instructions';
import { METRICBEAT_CLOUD_INSTRUCTIONS } from '../../../common/tutorials/metricbeat_cloud_instructions';
import { ENABLE_INSTRUCTIONS } from './enable';
export const ELASTIC_CLOUD_INSTRUCTIONS = {
instructionSets: [
{
title: 'Getting Started',
instructionVariants: [
{
id: INSTRUCTION_VARIANT.OSX,
instructions: [
METRICBEAT_INSTRUCTIONS.INSTALL.OSX,
METRICBEAT_CLOUD_INSTRUCTIONS.CONFIG.OSX,
ENABLE_INSTRUCTIONS.OSX,
METRICBEAT_INSTRUCTIONS.START.OSX
]
},
{
id: INSTRUCTION_VARIANT.DEB,
instructions: [
METRICBEAT_INSTRUCTIONS.INSTALL.DEB,
METRICBEAT_CLOUD_INSTRUCTIONS.CONFIG.DEB,
ENABLE_INSTRUCTIONS.DEB,
METRICBEAT_INSTRUCTIONS.START.DEB
]
},
{
id: INSTRUCTION_VARIANT.RPM,
instructions: [
METRICBEAT_INSTRUCTIONS.INSTALL.RPM,
METRICBEAT_CLOUD_INSTRUCTIONS.CONFIG.RPM,
ENABLE_INSTRUCTIONS.RPM,
METRICBEAT_INSTRUCTIONS.START.RPM
]
},
{
id: INSTRUCTION_VARIANT.WINDOWS,
instructions: [
METRICBEAT_INSTRUCTIONS.INSTALL.WINDOWS,
METRICBEAT_CLOUD_INSTRUCTIONS.CONFIG.WINDOWS,
ENABLE_INSTRUCTIONS.WINDOWS,
METRICBEAT_INSTRUCTIONS.START.WINDOWS
]
}
]
}
]
};

View file

@ -0,0 +1,32 @@
export const ENABLE_INSTRUCTIONS = {
OSX: {
title: 'Enable and configure the docker module',
textPre: 'From the installation directory, run:',
commands: [
'./metricbeat modules enable docker',
],
textPost: 'Modify the settings in the `modules.d/docker.yml` file.'
},
DEB: {
title: 'Enable and configure the docker module',
commands: [
'sudo metricbeat modules enable docker',
],
textPost: 'Modify the settings in the `/etc/metricbeat/modules.d/docker.yml` file.'
},
RPM: {
title: 'Enable and configure the docker module',
commands: [
'sudo metricbeat modules enable docker',
],
textPost: 'Modify the settings in the `/etc/metricbeat/modules.d/docker.yml` file.'
},
WINDOWS: {
title: 'Enable and configure the docker module',
textPre: 'From the `C:\\Program Files\\Metricbeat` folder, run:',
commands: [
'PS C:\\Program Files\\Metricbeat> metricbeat.exe modules enable docker',
],
textPost: 'Modify the settings in the `modules.d/docker.yml` file.'
}
};

View file

@ -0,0 +1,34 @@
import { TUTORIAL_CATEGORY } from '../../../common/tutorials/tutorial_category';
import { ON_PREM_INSTRUCTIONS } from './on_prem';
import { ELASTIC_CLOUD_INSTRUCTIONS } from './elastic_cloud';
import { ON_PREM_ELASTIC_CLOUD_INSTRUCTIONS } from './on_prem_elastic_cloud';
export function dockerMetricsSpecProvider() {
return {
id: 'dockerMetrics',
name: 'Docker metrics',
category: TUTORIAL_CATEGORY.METRICS,
shortDescription: 'Fetches metrics about your Docker containers.',
longDescription: 'The `docker` Metricbeat module fetches metrics from the Docker server.' +
' [Learn more]({config.docs.beats.metricbeat}/metricbeat-module-docker.html)' +
' about the docker module.',
//iconPath: '', TODO
artifacts: {
dashboards: [
{
title: 'AV4REOpp5NkDleZmzKkE',
linkLabel: 'Docker metrics dashboard',
isOverview: true
}
],
exportedFields: {
documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-docker.html'
}
},
completionTimeMinutes: 10,
previewImagePath: '/plugins/kibana/home/tutorial_resources/docker_metrics/screenshot.png',
onPrem: ON_PREM_INSTRUCTIONS,
elasticCloud: ELASTIC_CLOUD_INSTRUCTIONS,
onPremElasticCloud: ON_PREM_ELASTIC_CLOUD_INSTRUCTIONS
};
}

View file

@ -0,0 +1,49 @@
import { INSTRUCTION_VARIANT } from '../../../common/tutorials/instruction_variant';
import { METRICBEAT_INSTRUCTIONS } from '../../../common/tutorials/metricbeat_instructions';
import { ENABLE_INSTRUCTIONS } from './enable';
export const ON_PREM_INSTRUCTIONS = {
instructionSets: [
{
title: 'Getting Started',
instructionVariants: [
{
id: INSTRUCTION_VARIANT.OSX,
instructions: [
METRICBEAT_INSTRUCTIONS.INSTALL.OSX,
METRICBEAT_INSTRUCTIONS.CONFIG.OSX,
ENABLE_INSTRUCTIONS.OSX,
METRICBEAT_INSTRUCTIONS.START.OSX
]
},
{
id: INSTRUCTION_VARIANT.DEB,
instructions: [
METRICBEAT_INSTRUCTIONS.INSTALL.DEB,
METRICBEAT_INSTRUCTIONS.CONFIG.DEB,
ENABLE_INSTRUCTIONS.DEB,
METRICBEAT_INSTRUCTIONS.START.DEB
]
},
{
id: INSTRUCTION_VARIANT.RPM,
instructions: [
METRICBEAT_INSTRUCTIONS.INSTALL.RPM,
METRICBEAT_INSTRUCTIONS.CONFIG.RPM,
ENABLE_INSTRUCTIONS.RPM,
METRICBEAT_INSTRUCTIONS.START.RPM
]
},
{
id: INSTRUCTION_VARIANT.WINDOWS,
instructions: [
METRICBEAT_INSTRUCTIONS.INSTALL.WINDOWS,
METRICBEAT_INSTRUCTIONS.CONFIG.WINDOWS,
ENABLE_INSTRUCTIONS.WINDOWS,
METRICBEAT_INSTRUCTIONS.START.WINDOWS
]
}
]
}
]
};

View file

@ -0,0 +1,61 @@
import { INSTRUCTION_VARIANT } from '../../../common/tutorials/instruction_variant';
import { METRICBEAT_INSTRUCTIONS } from '../../../common/tutorials/metricbeat_instructions';
import {
TRYCLOUD_OPTION1,
TRYCLOUD_OPTION2
} from '../../../common/tutorials/onprem_cloud_instructions';
import { ENABLE_INSTRUCTIONS } from './enable';
export const ON_PREM_ELASTIC_CLOUD_INSTRUCTIONS = {
instructionSets: [
{
title: 'Getting Started',
instructionVariants: [
{
id: INSTRUCTION_VARIANT.OSX,
instructions: [
TRYCLOUD_OPTION1,
TRYCLOUD_OPTION2,
METRICBEAT_INSTRUCTIONS.INSTALL.OSX,
METRICBEAT_INSTRUCTIONS.CONFIG.OSX,
ENABLE_INSTRUCTIONS.OSX,
METRICBEAT_INSTRUCTIONS.START.OSX
]
},
{
id: INSTRUCTION_VARIANT.DEB,
instructions: [
TRYCLOUD_OPTION1,
TRYCLOUD_OPTION2,
METRICBEAT_INSTRUCTIONS.INSTALL.DEB,
METRICBEAT_INSTRUCTIONS.CONFIG.DEB,
ENABLE_INSTRUCTIONS.DEB,
METRICBEAT_INSTRUCTIONS.START.DEB
]
},
{
id: INSTRUCTION_VARIANT.RPM,
instructions: [
TRYCLOUD_OPTION1,
TRYCLOUD_OPTION2,
METRICBEAT_INSTRUCTIONS.INSTALL.RPM,
METRICBEAT_INSTRUCTIONS.CONFIG.RPM,
ENABLE_INSTRUCTIONS.RPM,
METRICBEAT_INSTRUCTIONS.START.RPM
]
},
{
id: INSTRUCTION_VARIANT.WINDOWS,
instructions: [
TRYCLOUD_OPTION1,
TRYCLOUD_OPTION2,
METRICBEAT_INSTRUCTIONS.INSTALL.WINDOWS,
METRICBEAT_INSTRUCTIONS.CONFIG.WINDOWS,
ENABLE_INSTRUCTIONS.WINDOWS,
METRICBEAT_INSTRUCTIONS.START.WINDOWS
]
}
]
}
]
};

View file

@ -0,0 +1,50 @@
import { INSTRUCTION_VARIANT } from '../../../common/tutorials/instruction_variant';
import { METRICBEAT_INSTRUCTIONS } from '../../../common/tutorials/metricbeat_instructions';
import { METRICBEAT_CLOUD_INSTRUCTIONS } from '../../../common/tutorials/metricbeat_cloud_instructions';
import { ENABLE_INSTRUCTIONS } from './enable';
export const ELASTIC_CLOUD_INSTRUCTIONS = {
instructionSets: [
{
title: 'Getting Started',
instructionVariants: [
{
id: INSTRUCTION_VARIANT.OSX,
instructions: [
METRICBEAT_INSTRUCTIONS.INSTALL.OSX,
METRICBEAT_CLOUD_INSTRUCTIONS.CONFIG.OSX,
ENABLE_INSTRUCTIONS.OSX,
METRICBEAT_INSTRUCTIONS.START.OSX
]
},
{
id: INSTRUCTION_VARIANT.DEB,
instructions: [
METRICBEAT_INSTRUCTIONS.INSTALL.DEB,
METRICBEAT_CLOUD_INSTRUCTIONS.CONFIG.DEB,
ENABLE_INSTRUCTIONS.DEB,
METRICBEAT_INSTRUCTIONS.START.DEB
]
},
{
id: INSTRUCTION_VARIANT.RPM,
instructions: [
METRICBEAT_INSTRUCTIONS.INSTALL.RPM,
METRICBEAT_CLOUD_INSTRUCTIONS.CONFIG.RPM,
ENABLE_INSTRUCTIONS.RPM,
METRICBEAT_INSTRUCTIONS.START.RPM
]
},
{
id: INSTRUCTION_VARIANT.WINDOWS,
instructions: [
METRICBEAT_INSTRUCTIONS.INSTALL.WINDOWS,
METRICBEAT_CLOUD_INSTRUCTIONS.CONFIG.WINDOWS,
ENABLE_INSTRUCTIONS.WINDOWS,
METRICBEAT_INSTRUCTIONS.START.WINDOWS
]
}
]
}
]
};

View file

@ -0,0 +1,32 @@
export const ENABLE_INSTRUCTIONS = {
OSX: {
title: 'Enable and configure the kubernetes module',
textPre: 'From the installation directory, run:',
commands: [
'./metricbeat modules enable kubernetes',
],
textPost: 'Modify the settings in the `modules.d/kubernetes.yml` file.'
},
DEB: {
title: 'Enable and configure the kubernetes module',
commands: [
'sudo metricbeat modules enable kubernetes',
],
textPost: 'Modify the settings in the `/etc/metricbeat/modules.d/kubernetes.yml` file.'
},
RPM: {
title: 'Enable and configure the kubernetes module',
commands: [
'sudo metricbeat modules enable kubernetes',
],
textPost: 'Modify the settings in the `/etc/metricbeat/modules.d/kubernetes.yml` file.'
},
WINDOWS: {
title: 'Enable and configure the kubernetes module',
textPre: 'From the `C:\\Program Files\\Metricbeat` folder, run:',
commands: [
'PS C:\\Program Files\\Metricbeat> metricbeat.exe modules enable kubernetes',
],
textPost: 'Modify the settings in the `modules.d/kubernetes.yml` file.'
}
};

View file

@ -0,0 +1,34 @@
import { TUTORIAL_CATEGORY } from '../../../common/tutorials/tutorial_category';
import { ON_PREM_INSTRUCTIONS } from './on_prem';
import { ELASTIC_CLOUD_INSTRUCTIONS } from './elastic_cloud';
import { ON_PREM_ELASTIC_CLOUD_INSTRUCTIONS } from './on_prem_elastic_cloud';
export function kubernetesMetricsSpecProvider() {
return {
id: 'kubernetesMetrics',
name: 'Kubernetes metrics',
category: TUTORIAL_CATEGORY.METRICS,
shortDescription: 'Fetches metrics from your Kubernetes installation.',
longDescription: 'The `kubernetes` Metricbeat module fetches metrics from the Kubernetes APIs.' +
' [Learn more]({config.docs.beats.metricbeat}/metricbeat-module-kubernetes.html)' +
' about the kubernetes module.',
//iconPath: '', TODO
artifacts: {
dashboards: [
{
title: 'AV4RGUqo5NkDleZmzKuZ',
linkLabel: 'Kubernetes metrics dashboard',
isOverview: true
}
],
exportedFields: {
documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-kubernetes.html'
}
},
completionTimeMinutes: 10,
previewImagePath: '/plugins/kibana/home/tutorial_resources/kubernetes_metrics/screenshot.png',
onPrem: ON_PREM_INSTRUCTIONS,
elasticCloud: ELASTIC_CLOUD_INSTRUCTIONS,
onPremElasticCloud: ON_PREM_ELASTIC_CLOUD_INSTRUCTIONS
};
}

View file

@ -0,0 +1,49 @@
import { INSTRUCTION_VARIANT } from '../../../common/tutorials/instruction_variant';
import { METRICBEAT_INSTRUCTIONS } from '../../../common/tutorials/metricbeat_instructions';
import { ENABLE_INSTRUCTIONS } from './enable';
export const ON_PREM_INSTRUCTIONS = {
instructionSets: [
{
title: 'Getting Started',
instructionVariants: [
{
id: INSTRUCTION_VARIANT.OSX,
instructions: [
METRICBEAT_INSTRUCTIONS.INSTALL.OSX,
METRICBEAT_INSTRUCTIONS.CONFIG.OSX,
ENABLE_INSTRUCTIONS.OSX,
METRICBEAT_INSTRUCTIONS.START.OSX
]
},
{
id: INSTRUCTION_VARIANT.DEB,
instructions: [
METRICBEAT_INSTRUCTIONS.INSTALL.DEB,
METRICBEAT_INSTRUCTIONS.CONFIG.DEB,
ENABLE_INSTRUCTIONS.DEB,
METRICBEAT_INSTRUCTIONS.START.DEB
]
},
{
id: INSTRUCTION_VARIANT.RPM,
instructions: [
METRICBEAT_INSTRUCTIONS.INSTALL.RPM,
METRICBEAT_INSTRUCTIONS.CONFIG.RPM,
ENABLE_INSTRUCTIONS.RPM,
METRICBEAT_INSTRUCTIONS.START.RPM
]
},
{
id: INSTRUCTION_VARIANT.WINDOWS,
instructions: [
METRICBEAT_INSTRUCTIONS.INSTALL.WINDOWS,
METRICBEAT_INSTRUCTIONS.CONFIG.WINDOWS,
ENABLE_INSTRUCTIONS.WINDOWS,
METRICBEAT_INSTRUCTIONS.START.WINDOWS
]
}
]
}
]
};

View file

@ -0,0 +1,61 @@
import { INSTRUCTION_VARIANT } from '../../../common/tutorials/instruction_variant';
import { METRICBEAT_INSTRUCTIONS } from '../../../common/tutorials/metricbeat_instructions';
import {
TRYCLOUD_OPTION1,
TRYCLOUD_OPTION2
} from '../../../common/tutorials/onprem_cloud_instructions';
import { ENABLE_INSTRUCTIONS } from './enable';
export const ON_PREM_ELASTIC_CLOUD_INSTRUCTIONS = {
instructionSets: [
{
title: 'Getting Started',
instructionVariants: [
{
id: INSTRUCTION_VARIANT.OSX,
instructions: [
TRYCLOUD_OPTION1,
TRYCLOUD_OPTION2,
METRICBEAT_INSTRUCTIONS.INSTALL.OSX,
METRICBEAT_INSTRUCTIONS.CONFIG.OSX,
ENABLE_INSTRUCTIONS.OSX,
METRICBEAT_INSTRUCTIONS.START.OSX
]
},
{
id: INSTRUCTION_VARIANT.DEB,
instructions: [
TRYCLOUD_OPTION1,
TRYCLOUD_OPTION2,
METRICBEAT_INSTRUCTIONS.INSTALL.DEB,
METRICBEAT_INSTRUCTIONS.CONFIG.DEB,
ENABLE_INSTRUCTIONS.DEB,
METRICBEAT_INSTRUCTIONS.START.DEB
]
},
{
id: INSTRUCTION_VARIANT.RPM,
instructions: [
TRYCLOUD_OPTION1,
TRYCLOUD_OPTION2,
METRICBEAT_INSTRUCTIONS.INSTALL.RPM,
METRICBEAT_INSTRUCTIONS.CONFIG.RPM,
ENABLE_INSTRUCTIONS.RPM,
METRICBEAT_INSTRUCTIONS.START.RPM
]
},
{
id: INSTRUCTION_VARIANT.WINDOWS,
instructions: [
TRYCLOUD_OPTION1,
TRYCLOUD_OPTION2,
METRICBEAT_INSTRUCTIONS.INSTALL.WINDOWS,
METRICBEAT_INSTRUCTIONS.CONFIG.WINDOWS,
ENABLE_INSTRUCTIONS.WINDOWS,
METRICBEAT_INSTRUCTIONS.START.WINDOWS
]
}
]
}
]
};

View file

@ -0,0 +1,50 @@
import { INSTRUCTION_VARIANT } from '../../../common/tutorials/instruction_variant';
import { FILEBEAT_INSTRUCTIONS } from '../../../common/tutorials/filebeat_instructions';
import { FILEBEAT_CLOUD_INSTRUCTIONS } from '../../../common/tutorials/filebeat_cloud_instructions';
import { ENABLE_INSTRUCTIONS } from './enable';
export const ELASTIC_CLOUD_INSTRUCTIONS = {
instructionSets: [
{
title: 'Getting Started',
instructionVariants: [
{
id: INSTRUCTION_VARIANT.OSX,
instructions: [
FILEBEAT_INSTRUCTIONS.INSTALL.OSX,
FILEBEAT_CLOUD_INSTRUCTIONS.CONFIG.OSX,
ENABLE_INSTRUCTIONS.OSX,
FILEBEAT_INSTRUCTIONS.START.OSX
]
},
{
id: INSTRUCTION_VARIANT.DEB,
instructions: [
FILEBEAT_INSTRUCTIONS.INSTALL.DEB,
FILEBEAT_CLOUD_INSTRUCTIONS.CONFIG.DEB,
ENABLE_INSTRUCTIONS.DEB,
FILEBEAT_INSTRUCTIONS.START.DEB
]
},
{
id: INSTRUCTION_VARIANT.RPM,
instructions: [
FILEBEAT_INSTRUCTIONS.INSTALL.RPM,
FILEBEAT_CLOUD_INSTRUCTIONS.CONFIG.RPM,
ENABLE_INSTRUCTIONS.RPM,
FILEBEAT_INSTRUCTIONS.START.RPM
]
},
{
id: INSTRUCTION_VARIANT.WINDOWS,
instructions: [
FILEBEAT_INSTRUCTIONS.INSTALL.WINDOWS,
FILEBEAT_CLOUD_INSTRUCTIONS.CONFIG.WINDOWS,
ENABLE_INSTRUCTIONS.WINDOWS,
FILEBEAT_INSTRUCTIONS.START.WINDOWS
]
}
]
}
]
};

View file

@ -0,0 +1,32 @@
export const ENABLE_INSTRUCTIONS = {
OSX: {
title: 'Enable and configure the redis module',
textPre: 'From the installation directory, run:',
commands: [
'./filebeat modules enable redis',
],
textPost: 'Modify the settings in the `modules.d/redis.yml` file.'
},
DEB: {
title: 'Enable and configure the redis module',
commands: [
'sudo filebeat modules enable redis',
],
textPost: 'Modify the settings in the `/etc/filebeat/modules.d/redis.yml` file.'
},
RPM: {
title: 'Enable and configure the redis module',
commands: [
'sudo filebeat modules enable redis',
],
textPost: 'Modify the settings in the `/etc/filebeat/modules.d/redis.yml` file.'
},
WINDOWS: {
title: 'Enable and configure the redis module',
textPre: 'From the `C:\\Program Files\\Filebeat` folder, run:',
commands: [
'PS C:\\Program Files\\Filebeat> filebeat.exe modules enable redis',
],
textPost: 'Modify the settings in the `modules.d/redis.yml` file.'
}
};

View file

@ -0,0 +1,40 @@
import { TUTORIAL_CATEGORY } from '../../../common/tutorials/tutorial_category';
import { ON_PREM_INSTRUCTIONS } from './on_prem';
import { ELASTIC_CLOUD_INSTRUCTIONS } from './elastic_cloud';
import { ON_PREM_ELASTIC_CLOUD_INSTRUCTIONS } from './on_prem_elastic_cloud';
export function redisLogsSpecProvider() {
return {
id: 'redisLogs',
name: 'Redis logs',
category: TUTORIAL_CATEGORY.LOGGING,
shortDescription: 'Collect and parse error and slow logs created by Redis.',
longDescription: '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]({config.docs.beats.filebeat}/filebeat-module-redis.html)' +
' about the `redis` module.',
//iconPath: '', TODO
artifacts: {
dashboards: [
{
title: '7fea2930-478e-11e7-b1f0-cb29bac6bf8b',
linkLabel: 'Redis logs dashboard',
isOverview: true
}
],
exportedFields: {
documentationUrl: '{config.docs.beats.filebeat}/exported-fields-redis.html'
}
},
completionTimeMinutes: 10,
previewImagePath: '/plugins/kibana/home/tutorial_resources/redis_logs/screenshot.png',
onPrem: ON_PREM_INSTRUCTIONS,
elasticCloud: ELASTIC_CLOUD_INSTRUCTIONS,
onPremElasticCloud: ON_PREM_ELASTIC_CLOUD_INSTRUCTIONS
};
}

View file

@ -0,0 +1,49 @@
import { INSTRUCTION_VARIANT } from '../../../common/tutorials/instruction_variant';
import { FILEBEAT_INSTRUCTIONS } from '../../../common/tutorials/filebeat_instructions';
import { ENABLE_INSTRUCTIONS } from './enable';
export const ON_PREM_INSTRUCTIONS = {
instructionSets: [
{
title: 'Getting Started',
instructionVariants: [
{
id: INSTRUCTION_VARIANT.OSX,
instructions: [
FILEBEAT_INSTRUCTIONS.INSTALL.OSX,
FILEBEAT_INSTRUCTIONS.CONFIG.OSX,
ENABLE_INSTRUCTIONS.OSX,
FILEBEAT_INSTRUCTIONS.START.OSX
]
},
{
id: INSTRUCTION_VARIANT.DEB,
instructions: [
FILEBEAT_INSTRUCTIONS.INSTALL.DEB,
FILEBEAT_INSTRUCTIONS.CONFIG.DEB,
ENABLE_INSTRUCTIONS.DEB,
FILEBEAT_INSTRUCTIONS.START.DEB
]
},
{
id: INSTRUCTION_VARIANT.RPM,
instructions: [
FILEBEAT_INSTRUCTIONS.INSTALL.RPM,
FILEBEAT_INSTRUCTIONS.CONFIG.RPM,
ENABLE_INSTRUCTIONS.RPM,
FILEBEAT_INSTRUCTIONS.START.RPM
]
},
{
id: INSTRUCTION_VARIANT.WINDOWS,
instructions: [
FILEBEAT_INSTRUCTIONS.INSTALL.WINDOWS,
FILEBEAT_INSTRUCTIONS.CONFIG.WINDOWS,
ENABLE_INSTRUCTIONS.WINDOWS,
FILEBEAT_INSTRUCTIONS.START.WINDOWS
]
}
]
}
]
};

View file

@ -0,0 +1,61 @@
import { INSTRUCTION_VARIANT } from '../../../common/tutorials/instruction_variant';
import { FILEBEAT_INSTRUCTIONS } from '../../../common/tutorials/filebeat_instructions';
import {
TRYCLOUD_OPTION1,
TRYCLOUD_OPTION2
} from '../../../common/tutorials/onprem_cloud_instructions';
import { ENABLE_INSTRUCTIONS } from './enable';
export const ON_PREM_ELASTIC_CLOUD_INSTRUCTIONS = {
instructionSets: [
{
title: 'Getting Started',
instructionVariants: [
{
id: INSTRUCTION_VARIANT.OSX,
instructions: [
TRYCLOUD_OPTION1,
TRYCLOUD_OPTION2,
FILEBEAT_INSTRUCTIONS.INSTALL.OSX,
FILEBEAT_INSTRUCTIONS.CONFIG.OSX,
ENABLE_INSTRUCTIONS.OSX,
FILEBEAT_INSTRUCTIONS.START.OSX
]
},
{
id: INSTRUCTION_VARIANT.DEB,
instructions: [
TRYCLOUD_OPTION1,
TRYCLOUD_OPTION2,
FILEBEAT_INSTRUCTIONS.INSTALL.DEB,
FILEBEAT_INSTRUCTIONS.CONFIG.DEB,
ENABLE_INSTRUCTIONS.DEB,
FILEBEAT_INSTRUCTIONS.START.DEB
]
},
{
id: INSTRUCTION_VARIANT.RPM,
instructions: [
TRYCLOUD_OPTION1,
TRYCLOUD_OPTION2,
FILEBEAT_INSTRUCTIONS.INSTALL.RPM,
FILEBEAT_INSTRUCTIONS.CONFIG.RPM,
ENABLE_INSTRUCTIONS.RPM,
FILEBEAT_INSTRUCTIONS.START.RPM
]
},
{
id: INSTRUCTION_VARIANT.WINDOWS,
instructions: [
TRYCLOUD_OPTION1,
TRYCLOUD_OPTION2,
FILEBEAT_INSTRUCTIONS.INSTALL.WINDOWS,
FILEBEAT_INSTRUCTIONS.CONFIG.WINDOWS,
ENABLE_INSTRUCTIONS.WINDOWS,
FILEBEAT_INSTRUCTIONS.START.WINDOWS
]
}
]
}
]
};

View file

@ -0,0 +1,50 @@
import { INSTRUCTION_VARIANT } from '../../../common/tutorials/instruction_variant';
import { METRICBEAT_INSTRUCTIONS } from '../../../common/tutorials/metricbeat_instructions';
import { METRICBEAT_CLOUD_INSTRUCTIONS } from '../../../common/tutorials/metricbeat_cloud_instructions';
import { ENABLE_INSTRUCTIONS } from './enable';
export const ELASTIC_CLOUD_INSTRUCTIONS = {
instructionSets: [
{
title: 'Getting Started',
instructionVariants: [
{
id: INSTRUCTION_VARIANT.OSX,
instructions: [
METRICBEAT_INSTRUCTIONS.INSTALL.OSX,
METRICBEAT_CLOUD_INSTRUCTIONS.CONFIG.OSX,
ENABLE_INSTRUCTIONS.OSX,
METRICBEAT_INSTRUCTIONS.START.OSX
]
},
{
id: INSTRUCTION_VARIANT.DEB,
instructions: [
METRICBEAT_INSTRUCTIONS.INSTALL.DEB,
METRICBEAT_CLOUD_INSTRUCTIONS.CONFIG.DEB,
ENABLE_INSTRUCTIONS.DEB,
METRICBEAT_INSTRUCTIONS.START.DEB
]
},
{
id: INSTRUCTION_VARIANT.RPM,
instructions: [
METRICBEAT_INSTRUCTIONS.INSTALL.RPM,
METRICBEAT_CLOUD_INSTRUCTIONS.CONFIG.RPM,
ENABLE_INSTRUCTIONS.RPM,
METRICBEAT_INSTRUCTIONS.START.RPM
]
},
{
id: INSTRUCTION_VARIANT.WINDOWS,
instructions: [
METRICBEAT_INSTRUCTIONS.INSTALL.WINDOWS,
METRICBEAT_CLOUD_INSTRUCTIONS.CONFIG.WINDOWS,
ENABLE_INSTRUCTIONS.WINDOWS,
METRICBEAT_INSTRUCTIONS.START.WINDOWS
]
}
]
}
]
};

View file

@ -0,0 +1,32 @@
export const ENABLE_INSTRUCTIONS = {
OSX: {
title: 'Enable and configure the redis module',
textPre: 'From the installation directory, run:',
commands: [
'./metricbeat modules enable redis',
],
textPost: 'Modify the settings in the `modules.d/redis.yml` file.'
},
DEB: {
title: 'Enable and configure the redis module',
commands: [
'sudo metricbeat modules enable redis',
],
textPost: 'Modify the settings in the `/etc/metricbeat/modules.d/redis.yml` file.'
},
RPM: {
title: 'Enable and configure the redis module',
commands: [
'sudo metricbeat modules enable redis',
],
textPost: 'Modify the settings in the `/etc/metricbeat/modules.d/redis.yml` file.'
},
WINDOWS: {
title: 'Enable and configure the redis module',
textPre: 'From the `C:\\Program Files\\Metricbeat` folder, run:',
commands: [
'PS C:\\Program Files\\Metricbeat> metricbeat.exe modules enable redis',
],
textPost: 'Modify the settings in the `modules.d/redis.yml` file.'
}
};

View file

@ -0,0 +1,34 @@
import { TUTORIAL_CATEGORY } from '../../../common/tutorials/tutorial_category';
import { ON_PREM_INSTRUCTIONS } from './on_prem';
import { ELASTIC_CLOUD_INSTRUCTIONS } from './elastic_cloud';
import { ON_PREM_ELASTIC_CLOUD_INSTRUCTIONS } from './on_prem_elastic_cloud';
export function redisMetricsSpecProvider() {
return {
id: 'redisMetrics',
name: 'Redis metrics',
category: TUTORIAL_CATEGORY.METRICS,
shortDescription: 'Fetches internal metrics from Redis.',
longDescription: 'The `redis` Metricbeat module fetches internal metrics from the Redis server.' +
' [Learn more]({config.docs.beats.metricbeat}/metricbeat-module-redis.html)' +
' about the redis module.',
//iconPath: '', TODO
artifacts: {
dashboards: [
{
title: 'AV4YjZ5pux-M-tCAunxK',
linkLabel: 'Redis metrics dashboard',
isOverview: true
}
],
exportedFields: {
documentationUrl: '{config.docs.beats.metricbeat}/exported-fields-redis.html'
}
},
completionTimeMinutes: 10,
previewImagePath: '/plugins/kibana/home/tutorial_resources/redis_metrics/screenshot.png',
onPrem: ON_PREM_INSTRUCTIONS,
elasticCloud: ELASTIC_CLOUD_INSTRUCTIONS,
onPremElasticCloud: ON_PREM_ELASTIC_CLOUD_INSTRUCTIONS
};
}

View file

@ -0,0 +1,49 @@
import { INSTRUCTION_VARIANT } from '../../../common/tutorials/instruction_variant';
import { METRICBEAT_INSTRUCTIONS } from '../../../common/tutorials/metricbeat_instructions';
import { ENABLE_INSTRUCTIONS } from './enable';
export const ON_PREM_INSTRUCTIONS = {
instructionSets: [
{
title: 'Getting Started',
instructionVariants: [
{
id: INSTRUCTION_VARIANT.OSX,
instructions: [
METRICBEAT_INSTRUCTIONS.INSTALL.OSX,
METRICBEAT_INSTRUCTIONS.CONFIG.OSX,
ENABLE_INSTRUCTIONS.OSX,
METRICBEAT_INSTRUCTIONS.START.OSX
]
},
{
id: INSTRUCTION_VARIANT.DEB,
instructions: [
METRICBEAT_INSTRUCTIONS.INSTALL.DEB,
METRICBEAT_INSTRUCTIONS.CONFIG.DEB,
ENABLE_INSTRUCTIONS.DEB,
METRICBEAT_INSTRUCTIONS.START.DEB
]
},
{
id: INSTRUCTION_VARIANT.RPM,
instructions: [
METRICBEAT_INSTRUCTIONS.INSTALL.RPM,
METRICBEAT_INSTRUCTIONS.CONFIG.RPM,
ENABLE_INSTRUCTIONS.RPM,
METRICBEAT_INSTRUCTIONS.START.RPM
]
},
{
id: INSTRUCTION_VARIANT.WINDOWS,
instructions: [
METRICBEAT_INSTRUCTIONS.INSTALL.WINDOWS,
METRICBEAT_INSTRUCTIONS.CONFIG.WINDOWS,
ENABLE_INSTRUCTIONS.WINDOWS,
METRICBEAT_INSTRUCTIONS.START.WINDOWS
]
}
]
}
]
};

View file

@ -0,0 +1,61 @@
import { INSTRUCTION_VARIANT } from '../../../common/tutorials/instruction_variant';
import { METRICBEAT_INSTRUCTIONS } from '../../../common/tutorials/metricbeat_instructions';
import {
TRYCLOUD_OPTION1,
TRYCLOUD_OPTION2
} from '../../../common/tutorials/onprem_cloud_instructions';
import { ENABLE_INSTRUCTIONS } from './enable';
export const ON_PREM_ELASTIC_CLOUD_INSTRUCTIONS = {
instructionSets: [
{
title: 'Getting Started',
instructionVariants: [
{
id: INSTRUCTION_VARIANT.OSX,
instructions: [
TRYCLOUD_OPTION1,
TRYCLOUD_OPTION2,
METRICBEAT_INSTRUCTIONS.INSTALL.OSX,
METRICBEAT_INSTRUCTIONS.CONFIG.OSX,
ENABLE_INSTRUCTIONS.OSX,
METRICBEAT_INSTRUCTIONS.START.OSX
]
},
{
id: INSTRUCTION_VARIANT.DEB,
instructions: [
TRYCLOUD_OPTION1,
TRYCLOUD_OPTION2,
METRICBEAT_INSTRUCTIONS.INSTALL.DEB,
METRICBEAT_INSTRUCTIONS.CONFIG.DEB,
ENABLE_INSTRUCTIONS.DEB,
METRICBEAT_INSTRUCTIONS.START.DEB
]
},
{
id: INSTRUCTION_VARIANT.RPM,
instructions: [
TRYCLOUD_OPTION1,
TRYCLOUD_OPTION2,
METRICBEAT_INSTRUCTIONS.INSTALL.RPM,
METRICBEAT_INSTRUCTIONS.CONFIG.RPM,
ENABLE_INSTRUCTIONS.RPM,
METRICBEAT_INSTRUCTIONS.START.RPM
]
},
{
id: INSTRUCTION_VARIANT.WINDOWS,
instructions: [
TRYCLOUD_OPTION1,
TRYCLOUD_OPTION2,
METRICBEAT_INSTRUCTIONS.INSTALL.WINDOWS,
METRICBEAT_INSTRUCTIONS.CONFIG.WINDOWS,
ENABLE_INSTRUCTIONS.WINDOWS,
METRICBEAT_INSTRUCTIONS.START.WINDOWS
]
}
]
}
]
};

View file

@ -6,6 +6,10 @@ import { nginxLogsSpecProvider } from './nginx_logs';
import { nginxMetricsSpecProvider } from './nginx_metrics';
import { mysqlLogsSpecProvider } from './mysql_logs';
import { mysqlMetricsSpecProvider } from './mysql_metrics';
import { redisLogsSpecProvider } from './redis_logs';
import { redisMetricsSpecProvider } from './redis_metrics';
import { dockerMetricsSpecProvider } from './docker_metrics';
import { kubernetesMetricsSpecProvider } from './kubernetes_metrics';
import { netflowSpecProvider } from './netflow';
export function registerTutorials(server) {
@ -17,5 +21,9 @@ export function registerTutorials(server) {
server.registerTutorial(nginxMetricsSpecProvider);
server.registerTutorial(mysqlLogsSpecProvider);
server.registerTutorial(mysqlMetricsSpecProvider);
server.registerTutorial(redisLogsSpecProvider);
server.registerTutorial(redisMetricsSpecProvider);
server.registerTutorial(dockerMetricsSpecProvider);
server.registerTutorial(kubernetesMetricsSpecProvider);
server.registerTutorial(netflowSpecProvider);
}