From 4ed0ef22e535238e1627a9d156db454a0b985215 Mon Sep 17 00:00:00 2001 From: Eli Date: Mon, 7 Mar 2022 15:52:38 -0500 Subject: [PATCH] First commit --- Ansible/ansible.cfg | 490 ++++++ Ansible/beats/filebeat-config.yml | 2064 +++++++++++++++++++++++++ Ansible/beats/filebeat-playbook.yml | 31 + Ansible/beats/metricbeat-playbook.yml | 37 + Ansible/beats/metricbeat.yml | 163 ++ Ansible/hosts | 46 + Ansible/install-elk.yml | 44 + Ansible/webservers.yml | 37 + Diagrams/ELKStack-Azure-Cloud.png | Bin 0 -> 153081 bytes README.md | 100 +- 10 files changed, 3010 insertions(+), 2 deletions(-) create mode 100644 Ansible/ansible.cfg create mode 100644 Ansible/beats/filebeat-config.yml create mode 100644 Ansible/beats/filebeat-playbook.yml create mode 100644 Ansible/beats/metricbeat-playbook.yml create mode 100644 Ansible/beats/metricbeat.yml create mode 100644 Ansible/hosts create mode 100644 Ansible/install-elk.yml create mode 100644 Ansible/webservers.yml create mode 100644 Diagrams/ELKStack-Azure-Cloud.png diff --git a/Ansible/ansible.cfg b/Ansible/ansible.cfg new file mode 100644 index 0000000..19e15cb --- /dev/null +++ b/Ansible/ansible.cfg @@ -0,0 +1,490 @@ +# config file for ansible -- https://ansible.com/ +# =============================================== + +# nearly all parameters can be overridden in ansible-playbook +# or with command line flags. ansible will read ANSIBLE_CONFIG, +# ansible.cfg in the current working directory, .ansible.cfg in +# the home directory or /etc/ansible/ansible.cfg, whichever it +# finds first + +[defaults] + +# some basic default values... + +#inventory = /etc/ansible/hosts +#library = /usr/share/my_modules/ +#module_utils = /usr/share/my_module_utils/ +#remote_tmp = ~/.ansible/tmp +#local_tmp = ~/.ansible/tmp +#plugin_filters_cfg = /etc/ansible/plugin_filters.yml +#forks = 5 +#poll_interval = 15 +#sudo_user = root +#ask_sudo_pass = True +#ask_pass = True +#transport = smart +#remote_port = 22 +#module_lang = C +#module_set_locale = False + +# plays will gather facts by default, which contain information about +# the remote system. +# +# smart - gather by default, but don't regather if already gathered +# implicit - gather by default, turn off with gather_facts: False +# explicit - do not gather by default, must say gather_facts: True +#gathering = implicit + +# This only affects the gathering done by a play's gather_facts directive, +# by default gathering retrieves all facts subsets +# all - gather all subsets +# network - gather min and network facts +# hardware - gather hardware facts (longest facts to retrieve) +# virtual - gather min and virtual facts +# facter - import facts from facter +# ohai - import facts from ohai +# You can combine them using comma (ex: network,virtual) +# You can negate them using ! (ex: !hardware,!facter,!ohai) +# A minimal set of facts is always gathered. +#gather_subset = all + +# some hardware related facts are collected +# with a maximum timeout of 10 seconds. This +# option lets you increase or decrease that +# timeout to something more suitable for the +# environment. +# gather_timeout = 10 + +# Ansible facts are available inside the ansible_facts.* dictionary +# namespace. This setting maintains the behaviour which was the default prior +# to 2.5, duplicating these variables into the main namespace, each with a +# prefix of 'ansible_'. +# This variable is set to True by default for backwards compatibility. It +# will be changed to a default of 'False' in a future release. +# ansible_facts. +# inject_facts_as_vars = True + +# additional paths to search for roles in, colon separated +#roles_path = /etc/ansible/roles + +# uncomment this to disable SSH key host checking +#host_key_checking = False + +# change the default callback, you can only have one 'stdout' type enabled at a time. +#stdout_callback = skippy + + +## Ansible ships with some plugins that require whitelisting, +## this is done to avoid running all of a type by default. +## These setting lists those that you want enabled for your system. +## Custom plugins should not need this unless plugin author specifies it. + +# enable callback plugins, they can output to stdout but cannot be 'stdout' type. +#callback_whitelist = timer, mail + +# Determine whether includes in tasks and handlers are "static" by +# default. As of 2.0, includes are dynamic by default. Setting these +# values to True will make includes behave more like they did in the +# 1.x versions. +#task_includes_static = False +#handler_includes_static = False + +# Controls if a missing handler for a notification event is an error or a warning +#error_on_missing_handler = True + +# change this for alternative sudo implementations +#sudo_exe = sudo + +# What flags to pass to sudo +# WARNING: leaving out the defaults might create unexpected behaviours +#sudo_flags = -H -S -n + +# SSH timeout +#timeout = 10 + +# default user to use for playbooks if user is not specified +# (/usr/bin/ansible will use current user as default) +remote_user = azadmin + +# logging is off by default unless this path is defined +# if so defined, consider logrotate +#log_path = /var/log/ansible.log + +# default module name for /usr/bin/ansible +#module_name = command + +# use this shell for commands executed under sudo +# you may need to change this to bin/bash in rare instances +# if sudo is constrained +#executable = /bin/sh + +# if inventory variables overlap, does the higher precedence one win +# or are hash values merged together? The default is 'replace' but +# this can also be set to 'merge'. +#hash_behaviour = replace + +# by default, variables from roles will be visible in the global variable +# scope. To prevent this, the following option can be enabled, and only +# tasks and handlers within the role will see the variables there +#private_role_vars = yes + +# list any Jinja2 extensions to enable here: +#jinja2_extensions = jinja2.ext.do,jinja2.ext.i18n + +# if set, always use this private key file for authentication, same as +# if passing --private-key to ansible or ansible-playbook +#private_key_file = /path/to/file + +# If set, configures the path to the Vault password file as an alternative to +# specifying --vault-password-file on the command line. +#vault_password_file = /path/to/vault_password_file + +# format of string {{ ansible_managed }} available within Jinja2 +# templates indicates to users editing templates files will be replaced. +# replacing {file}, {host} and {uid} and strftime codes with proper values. +#ansible_managed = Ansible managed: {file} modified on %Y-%m-%d %H:%M:%S by {uid} on {host} +# {file}, {host}, {uid}, and the timestamp can all interfere with idempotence +# in some situations so the default is a static string: +#ansible_managed = Ansible managed + +# by default, ansible-playbook will display "Skipping [host]" if it determines a task +# should not be run on a host. Set this to "False" if you don't want to see these "Skipping" +# messages. NOTE: the task header will still be shown regardless of whether or not the +# task is skipped. +#display_skipped_hosts = True + +# by default, if a task in a playbook does not include a name: field then +# ansible-playbook will construct a header that includes the task's action but +# not the task's args. This is a security feature because ansible cannot know +# if the *module* considers an argument to be no_log at the time that the +# header is printed. If your environment doesn't have a problem securing +# stdout from ansible-playbook (or you have manually specified no_log in your +# playbook on all of the tasks where you have secret information) then you can +# safely set this to True to get more informative messages. +#display_args_to_stdout = False + +# by default (as of 1.3), Ansible will raise errors when attempting to dereference +# Jinja2 variables that are not set in templates or action lines. Uncomment this line +# to revert the behavior to pre-1.3. +#error_on_undefined_vars = False + +# by default (as of 1.6), Ansible may display warnings based on the configuration of the +# system running ansible itself. This may include warnings about 3rd party packages or +# other conditions that should be resolved if possible. +# to disable these warnings, set the following value to False: +#system_warnings = True + +# by default (as of 1.4), Ansible may display deprecation warnings for language +# features that should no longer be used and will be removed in future versions. +# to disable these warnings, set the following value to False: +#deprecation_warnings = True + +# (as of 1.8), Ansible can optionally warn when usage of the shell and +# command module appear to be simplified by using a default Ansible module +# instead. These warnings can be silenced by adjusting the following +# setting or adding warn=yes or warn=no to the end of the command line +# parameter string. This will for example suggest using the git module +# instead of shelling out to the git command. +# command_warnings = False + + +# set plugin path directories here, separate with colons +#action_plugins = /usr/share/ansible/plugins/action +#become_plugins = /usr/share/ansible/plugins/become +#cache_plugins = /usr/share/ansible/plugins/cache +#callback_plugins = /usr/share/ansible/plugins/callback +#connection_plugins = /usr/share/ansible/plugins/connection +#lookup_plugins = /usr/share/ansible/plugins/lookup +#inventory_plugins = /usr/share/ansible/plugins/inventory +#vars_plugins = /usr/share/ansible/plugins/vars +#filter_plugins = /usr/share/ansible/plugins/filter +#test_plugins = /usr/share/ansible/plugins/test +#terminal_plugins = /usr/share/ansible/plugins/terminal +#strategy_plugins = /usr/share/ansible/plugins/strategy + + +# by default, ansible will use the 'linear' strategy but you may want to try +# another one +#strategy = free + +# by default callbacks are not loaded for /bin/ansible, enable this if you +# want, for example, a notification or logging callback to also apply to +# /bin/ansible runs +#bin_ansible_callbacks = False + + +# don't like cows? that's unfortunate. +# set to 1 if you don't want cowsay support or export ANSIBLE_NOCOWS=1 +#nocows = 1 + +# set which cowsay stencil you'd like to use by default. When set to 'random', +# a random stencil will be selected for each task. The selection will be filtered +# against the `cow_whitelist` option below. +#cow_selection = default +#cow_selection = random + +# when using the 'random' option for cowsay, stencils will be restricted to this list. +# it should be formatted as a comma-separated list with no spaces between names. +# NOTE: line continuations here are for formatting purposes only, as the INI parser +# in python does not support them. +#cow_whitelist=bud-frogs,bunny,cheese,daemon,default,dragon,elephant-in-snake,elephant,eyes,\ +# hellokitty,kitty,luke-koala,meow,milk,moofasa,moose,ren,sheep,small,stegosaurus,\ +# stimpy,supermilker,three-eyes,turkey,turtle,tux,udder,vader-koala,vader,www + +# don't like colors either? +# set to 1 if you don't want colors, or export ANSIBLE_NOCOLOR=1 +#nocolor = 1 + +# if set to a persistent type (not 'memory', for example 'redis') fact values +# from previous runs in Ansible will be stored. This may be useful when +# wanting to use, for example, IP information from one group of servers +# without having to talk to them in the same playbook run to get their +# current IP information. +#fact_caching = memory + +#This option tells Ansible where to cache facts. The value is plugin dependent. +#For the jsonfile plugin, it should be a path to a local directory. +#For the redis plugin, the value is a host:port:database triplet: fact_caching_connection = localhost:6379:0 + +#fact_caching_connection=/tmp + + + +# retry files +# When a playbook fails a .retry file can be created that will be placed in ~/ +# You can enable this feature by setting retry_files_enabled to True +# and you can change the location of the files by setting retry_files_save_path + +#retry_files_enabled = False +#retry_files_save_path = ~/.ansible-retry + +# squash actions +# Ansible can optimise actions that call modules with list parameters +# when looping. Instead of calling the module once per with_ item, the +# module is called once with all items at once. Currently this only works +# under limited circumstances, and only with parameters named 'name'. +#squash_actions = apk,apt,dnf,homebrew,pacman,pkgng,yum,zypper + +# prevents logging of task data, off by default +#no_log = False + +# prevents logging of tasks, but only on the targets, data is still logged on the master/controller +#no_target_syslog = False + +# controls whether Ansible will raise an error or warning if a task has no +# choice but to create world readable temporary files to execute a module on +# the remote machine. This option is False by default for security. Users may +# turn this on to have behaviour more like Ansible prior to 2.1.x. See +# https://docs.ansible.com/ansible/become.html#becoming-an-unprivileged-user +# for more secure ways to fix this than enabling this option. +#allow_world_readable_tmpfiles = False + +# controls the compression level of variables sent to +# worker processes. At the default of 0, no compression +# is used. This value must be an integer from 0 to 9. +#var_compression_level = 9 + +# controls what compression method is used for new-style ansible modules when +# they are sent to the remote system. The compression types depend on having +# support compiled into both the controller's python and the client's python. +# The names should match with the python Zipfile compression types: +# * ZIP_STORED (no compression. available everywhere) +# * ZIP_DEFLATED (uses zlib, the default) +# These values may be set per host via the ansible_module_compression inventory +# variable +#module_compression = 'ZIP_DEFLATED' + +# This controls the cutoff point (in bytes) on --diff for files +# set to 0 for unlimited (RAM may suffer!). +#max_diff_size = 1048576 + +# This controls how ansible handles multiple --tags and --skip-tags arguments +# on the CLI. If this is True then multiple arguments are merged together. If +# it is False, then the last specified argument is used and the others are ignored. +# This option will be removed in 2.8. +#merge_multiple_cli_flags = True + +# Controls showing custom stats at the end, off by default +#show_custom_stats = True + +# Controls which files to ignore when using a directory as inventory with +# possibly multiple sources (both static and dynamic) +#inventory_ignore_extensions = ~, .orig, .bak, .ini, .cfg, .retry, .pyc, .pyo + +# This family of modules use an alternative execution path optimized for network appliances +# only update this setting if you know how this works, otherwise it can break module execution +#network_group_modules=eos, nxos, ios, iosxr, junos, vyos + +# When enabled, this option allows lookups (via variables like {{lookup('foo')}} or when used as +# a loop with `with_foo`) to return data that is not marked "unsafe". This means the data may contain +# jinja2 templating language which will be run through the templating engine. +# ENABLING THIS COULD BE A SECURITY RISK +#allow_unsafe_lookups = False + +# set default errors for all plays +#any_errors_fatal = False + +[inventory] +# enable inventory plugins, default: 'host_list', 'script', 'auto', 'yaml', 'ini', 'toml' +#enable_plugins = host_list, virtualbox, yaml, constructed + +# ignore these extensions when parsing a directory as inventory source +#ignore_extensions = .pyc, .pyo, .swp, .bak, ~, .rpm, .md, .txt, ~, .orig, .ini, .cfg, .retry + +# ignore files matching these patterns when parsing a directory as inventory source +#ignore_patterns= + +# If 'true' unparsed inventory sources become fatal errors, they are warnings otherwise. +#unparsed_is_failed=False + +[privilege_escalation] +#become=True +#become_method=sudo +#become_user=root +#become_ask_pass=False + +[paramiko_connection] + +# uncomment this line to cause the paramiko connection plugin to not record new host +# keys encountered. Increases performance on new host additions. Setting works independently of the +# host key checking setting above. +#record_host_keys=False + +# by default, Ansible requests a pseudo-terminal for commands executed under sudo. Uncomment this +# line to disable this behaviour. +#pty=False + +# paramiko will default to looking for SSH keys initially when trying to +# authenticate to remote devices. This is a problem for some network devices +# that close the connection after a key failure. Uncomment this line to +# disable the Paramiko look for keys function +#look_for_keys = False + +# When using persistent connections with Paramiko, the connection runs in a +# background process. If the host doesn't already have a valid SSH key, by +# default Ansible will prompt to add the host key. This will cause connections +# running in background processes to fail. Uncomment this line to have +# Paramiko automatically add host keys. +#host_key_auto_add = True + +[ssh_connection] + +# ssh arguments to use +# Leaving off ControlPersist will result in poor performance, so use +# paramiko on older platforms rather than removing it, -C controls compression use +#ssh_args = -C -o ControlMaster=auto -o ControlPersist=60s + +# The base directory for the ControlPath sockets. +# This is the "%(directory)s" in the control_path option +# +# Example: +# control_path_dir = /tmp/.ansible/cp +#control_path_dir = ~/.ansible/cp + +# The path to use for the ControlPath sockets. This defaults to a hashed string of the hostname, +# port and username (empty string in the config). The hash mitigates a common problem users +# found with long hostnames and the conventional %(directory)s/ansible-ssh-%%h-%%p-%%r format. +# In those cases, a "too long for Unix domain socket" ssh error would occur. +# +# Example: +# control_path = %(directory)s/%%h-%%r +#control_path = + +# Enabling pipelining reduces the number of SSH operations required to +# execute a module on the remote server. This can result in a significant +# performance improvement when enabled, however when using "sudo:" you must +# first disable 'requiretty' in /etc/sudoers +# +# By default, this option is disabled to preserve compatibility with +# sudoers configurations that have requiretty (the default on many distros). +# +#pipelining = False + +# Control the mechanism for transferring files (old) +# * smart = try sftp and then try scp [default] +# * True = use scp only +# * False = use sftp only +#scp_if_ssh = smart + +# Control the mechanism for transferring files (new) +# If set, this will override the scp_if_ssh option +# * sftp = use sftp to transfer files +# * scp = use scp to transfer files +# * piped = use 'dd' over SSH to transfer files +# * smart = try sftp, scp, and piped, in that order [default] +#transfer_method = smart + +# if False, sftp will not use batch mode to transfer files. This may cause some +# types of file transfer failures impossible to catch however, and should +# only be disabled if your sftp version has problems with batch mode +#sftp_batch_mode = False + +# The -tt argument is passed to ssh when pipelining is not enabled because sudo +# requires a tty by default. +#usetty = True + +# Number of times to retry an SSH connection to a host, in case of UNREACHABLE. +# For each retry attempt, there is an exponential backoff, +# so after the first attempt there is 1s wait, then 2s, 4s etc. up to 30s (max). +#retries = 3 + +[persistent_connection] + +# Configures the persistent connection timeout value in seconds. This value is +# how long the persistent connection will remain idle before it is destroyed. +# If the connection doesn't receive a request before the timeout value +# expires, the connection is shutdown. The default value is 30 seconds. +#connect_timeout = 30 + +# The command timeout value defines the amount of time to wait for a command +# or RPC call before timing out. The value for the command timeout must +# be less than the value of the persistent connection idle timeout (connect_timeout) +# The default value is 30 second. +#command_timeout = 30 + +[accelerate] +#accelerate_port = 5099 +#accelerate_timeout = 30 +#accelerate_connect_timeout = 5.0 + +# The daemon timeout is measured in minutes. This time is measured +# from the last activity to the accelerate daemon. +#accelerate_daemon_timeout = 30 + +# If set to yes, accelerate_multi_key will allow multiple +# private keys to be uploaded to it, though each user must +# have access to the system via SSH to add a new key. The default +# is "no". +#accelerate_multi_key = yes + +[selinux] +# file systems that require special treatment when dealing with security context +# the default behaviour that copies the existing context or uses the user default +# needs to be changed to use the file system dependent context. +#special_context_filesystems=nfs,vboxsf,fuse,ramfs,9p,vfat + +# Set this to yes to allow libvirt_lxc connections to work without SELinux. +#libvirt_lxc_noseclabel = yes + +[colors] +#highlight = white +#verbose = blue +#warn = bright purple +#error = red +#debug = dark gray +#deprecate = purple +#skip = cyan +#unreachable = red +#ok = green +#changed = yellow +#diff_add = green +#diff_remove = red +#diff_lines = cyan + + +[diff] +# Always print diff when running ( same as always running with -D/--diff ) +# always = no + +# Set how many context lines to show in diff +# context = 3 diff --git a/Ansible/beats/filebeat-config.yml b/Ansible/beats/filebeat-config.yml new file mode 100644 index 0000000..a2d0b1c --- /dev/null +++ b/Ansible/beats/filebeat-config.yml @@ -0,0 +1,2064 @@ +######################## Filebeat Configuration ############################ +# This file is a full configuration example documenting all non-deprecated +# options in comments. For a shorter configuration example, that contains only +# the most common options, please see filebeat.yml in the same directory. +# +# You can find the full configuration reference here: +# https://www.elastic.co/guide/en/beats/filebeat/index.html +filebeat.config.modules: + path: ${path.config}/modules.d/*.yml + +#========================== Modules configuration ============================= +filebeat.modules: + +#-------------------------------- System Module -------------------------------- +#- module: system + # Syslog + #syslog: + #enabled: true + + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: + + # Input configuration (advanced). Any input configuration option + # can be added under this section. + #input: + + # Authorization logs + #auth: + #enabled: true + + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: + + # Input configuration (advanced). Any input configuration option + # can be added under this section. + #input: + +#-------------------------------- Apache Module -------------------------------- +#- module: apache + # Access logs + #access: + #enabled: true + + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: + + # Input configuration (advanced). Any input configuration option + # can be added under this section. + #input: + + # Error logs + #error: + #enabled: true + + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: + + # Input configuration (advanced). Any input configuration option + # can be added under this section. + #input: +#-------------------------------- Auditd Module -------------------------------- +#- module: auditd + #log: + #enabled: true + + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: + + # Input configuration (advanced). Any input configuration option + # can be added under this section. + #input: + +#---------------------------- Elasticsearch Module ---------------------------- +- module: elasticsearch + # Server log + server: + enabled: true + + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: + + gc: + enabled: true + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: + + audit: + enabled: true + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: + + slowlog: + enabled: true + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: + + deprecation: + enabled: true + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: + +#------------------------------- Haproxy Module ------------------------------- +- module: haproxy + # All logs + log: + enabled: true + + # Set which input to use between syslog (default) or file. + #var.input: + + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: + +#-------------------------------- Icinga Module -------------------------------- +#- module: icinga + # Main logs + #main: + #enabled: true + + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: + + # Input configuration (advanced). Any input configuration option + # can be added under this section. + #input: + + # Debug logs + #debug: + #enabled: true + + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: + + # Input configuration (advanced). Any input configuration option + # can be added under this section. + #input: + + # Startup logs + #startup: + #enabled: true + + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: + + # Input configuration (advanced). Any input configuration option + # can be added under this section. + #input: + +#--------------------------------- IIS Module --------------------------------- +#- module: iis + # Access logs + #access: + #enabled: true + + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: + + # Input configuration (advanced). Any input configuration option + # can be added under this section. + #input: + + # Error logs + #error: + #enabled: true + + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: + + # Input configuration (advanced). Any input configuration option + # can be added under this section. + #input: + +#-------------------------------- Kafka Module -------------------------------- +- module: kafka + # All logs + log: + enabled: true + + # Set custom paths for Kafka. If left empty, + # Filebeat will look under /opt. + #var.kafka_home: + + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: + +#-------------------------------- Kibana Module -------------------------------- +- module: kibana + # All logs + log: + enabled: true + + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: + +#------------------------------- Logstash Module ------------------------------- +#- module: logstash + # logs + #log: + #enabled: true + + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + # var.paths: + + # Slow logs + #slowlog: + #enabled: true + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: + +#------------------------------- Mongodb Module ------------------------------- +#- module: mongodb + # Logs + #log: + #enabled: true + + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: + + # Input configuration (advanced). Any input configuration option + # can be added under this section. + #input: + +#-------------------------------- MySQL Module -------------------------------- +#- module: mysql + # Error logs + #error: + #enabled: true + + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: + + # Input configuration (advanced). Any input configuration option + # can be added under this section. + #input: + + # Slow logs + #slowlog: + #enabled: true + + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: + + # Input configuration (advanced). Any input configuration option + # can be added under this section. + #input: + +#--------------------------------- Nats Module --------------------------------- +- module: nats + # All logs + log: + enabled: true + + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: + +#-------------------------------- Nginx Module -------------------------------- +#- module: nginx + # Access logs + #access: + #enabled: true + + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: + + # Input configuration (advanced). Any input configuration option + # can be added under this section. + #input: + + # Error logs + #error: + #enabled: true + + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: + + # Input configuration (advanced). Any input configuration option + # can be added under this section. + #input: + +#------------------------------- Osquery Module ------------------------------- +- module: osquery + result: + enabled: true + + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: + + # If true, all fields created by this module are prefixed with + # `osquery.result`. Set to false to copy the fields in the root + # of the document. The default is true. + #var.use_namespace: true + +#------------------------------ PostgreSQL Module ------------------------------ +#- module: postgresql + # Logs + #log: + #enabled: true + + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: + + # Input configuration (advanced). Any input configuration option + # can be added under this section. + #input: + +#-------------------------------- Redis Module -------------------------------- +#- module: redis + # Main logs + #log: + #enabled: true + + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: ["/var/log/redis/redis-server.log*"] + + # Slow logs, retrieved via the Redis API (SLOWLOG) + #slowlog: + #enabled: true + + # The Redis hosts to connect to. + #var.hosts: ["localhost:6379"] + + # Optional, the password to use when connecting to Redis. + #var.password: + +#----------------------------- Google Santa Module ----------------------------- +- module: santa + log: + enabled: true + # Set custom paths for the log files. If left empty, + # Filebeat will choose the the default path. + #var.paths: + +#------------------------------- Traefik Module ------------------------------- +#- module: traefik + # Access logs + #access: + #enabled: true + + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: + + # Input configuration (advanced). Any input configuration option + # can be added under this section. + #input: + + +#=========================== Filebeat inputs ============================= + +# List of inputs to fetch data. +filebeat.inputs: +# Each - is an input. Most options can be set at the input level, so +# you can use different inputs for various configurations. +# Below are the input specific configurations. + +# Type of the files. Based on this the way the file is read is decided. +# The different types cannot be mixed in one input +# +# Possible options are: +# * log: Reads every line of the log file (default) +# * stdin: Reads the standard in + +#------------------------------ Log input -------------------------------- +- type: log + + # Change to true to enable this input configuration. + enabled: false + + # Paths that should be crawled and fetched. Glob based paths. + # To fetch all ".log" files from a specific level of subdirectories + # /var/log/*/*.log can be used. + # For each file found under this path, a harvester is started. + # Make sure not file is defined twice as this can lead to unexpected behaviour. + paths: + - /var/log/*.log + #- c:\programdata\elasticsearch\logs\* + + # Configure the file encoding for reading files with international characters + # following the W3C recommendation for HTML5 (http://www.w3.org/TR/encoding). + # Some sample encodings: + # plain, utf-8, utf-16be-bom, utf-16be, utf-16le, big5, gb18030, gbk, + # hz-gb-2312, euc-kr, euc-jp, iso-2022-jp, shift-jis, ... + #encoding: plain + + + # Exclude lines. A list of regular expressions to match. It drops the lines that are + # matching any regular expression from the list. The include_lines is called before + # exclude_lines. By default, no lines are dropped. + #exclude_lines: ['^DBG'] + + # Include lines. A list of regular expressions to match. It exports the lines that are + # matching any regular expression from the list. The include_lines is called before + # exclude_lines. By default, all the lines are exported. + #include_lines: ['^ERR', '^WARN'] + + # Exclude files. A list of regular expressions to match. Filebeat drops the files that + # are matching any regular expression from the list. By default, no files are dropped. + #exclude_files: ['.gz$'] + + # Optional additional fields. These fields can be freely picked + # to add additional information to the crawled log files for filtering + #fields: + # level: debug + # review: 1 + + # Set to true to store the additional fields as top level fields instead + # of under the "fields" sub-dictionary. In case of name conflicts with the + # fields added by Filebeat itself, the custom fields overwrite the default + # fields. + #fields_under_root: false + + # Set to true to publish fields with null values in events. + #keep_null: false + + # Ignore files which were modified more then the defined timespan in the past. + # ignore_older is disabled by default, so no files are ignored by setting it to 0. + # Time strings like 2h (2 hours), 5m (5 minutes) can be used. + #ignore_older: 0 + + # How often the input checks for new files in the paths that are specified + # for harvesting. Specify 1s to scan the directory as frequently as possible + # without causing Filebeat to scan too frequently. Default: 10s. + #scan_frequency: 10s + + # Defines the buffer size every harvester uses when fetching the file + #harvester_buffer_size: 16384 + + # Maximum number of bytes a single log event can have + # All bytes after max_bytes are discarded and not sent. The default is 10MB. + # This is especially useful for multiline log messages which can get large. + #max_bytes: 10485760 + + # Characters which separate the lines. Valid values: auto, line_feed, vertical_tab, form_feed, + # carriage_return, carriage_return_line_feed, next_line, line_separator, paragraph_separator. + #line_terminator: auto + + ### Recursive glob configuration + + # Expand "**" patterns into regular glob patterns. + #recursive_glob.enabled: true + + ### JSON configuration + + # Decode JSON options. Enable this if your logs are structured in JSON. + # JSON key on which to apply the line filtering and multiline settings. This key + # must be top level and its value must be string, otherwise it is ignored. If + # no text key is defined, the line filtering and multiline features cannot be used. + #json.message_key: + + # By default, the decoded JSON is placed under a "json" key in the output document. + # If you enable this setting, the keys are copied top level in the output document. + #json.keys_under_root: false + + # If keys_under_root and this setting are enabled, then the values from the decoded + # JSON object overwrite the fields that Filebeat normally adds (type, source, offset, etc.) + # in case of conflicts. + #json.overwrite_keys: false + + # If this setting is enabled, Filebeat adds a "error.message" and "error.key: json" key in case of JSON + # unmarshaling errors or when a text key is defined in the configuration but cannot + # be used. + #json.add_error_key: false + + ### Multiline options + + # Multiline can be used for log messages spanning multiple lines. This is common + # for Java Stack Traces or C-Line Continuation + + # The regexp Pattern that has to be matched. The example pattern matches all lines starting with [ + #multiline.pattern: ^\[ + + # Defines if the pattern set under pattern should be negated or not. Default is false. + #multiline.negate: false + + # Match can be set to "after" or "before". It is used to define if lines should be append to a pattern + # that was (not) matched before or after or as long as a pattern is not matched based on negate. + # Note: After is the equivalent to previous and before is the equivalent to to next in Logstash + #multiline.match: after + + # The maximum number of lines that are combined to one event. + # In case there are more the max_lines the additional lines are discarded. + # Default is 500 + #multiline.max_lines: 500 + + # After the defined timeout, an multiline event is sent even if no new pattern was found to start a new event + # Default is 5s. + #multiline.timeout: 5s + + # Setting tail_files to true means filebeat starts reading new files at the end + # instead of the beginning. If this is used in combination with log rotation + # this can mean that the first entries of a new file are skipped. + #tail_files: false + + # The Ingest Node pipeline ID associated with this input. If this is set, it + # overwrites the pipeline option from the Elasticsearch output. + #pipeline: + + # If symlinks is enabled, symlinks are opened and harvested. The harvester is opening the + # original for harvesting but will report the symlink name as source. + #symlinks: false + + # Backoff values define how aggressively filebeat crawls new files for updates + # The default values can be used in most cases. Backoff defines how long it is waited + # to check a file again after EOF is reached. Default is 1s which means the file + # is checked every second if new lines were added. This leads to a near real time crawling. + # Every time a new line appears, backoff is reset to the initial value. + #backoff: 1s + + # Max backoff defines what the maximum backoff time is. After having backed off multiple times + # from checking the files, the waiting time will never exceed max_backoff independent of the + # backoff factor. Having it set to 10s means in the worst case a new line can be added to a log + # file after having backed off multiple times, it takes a maximum of 10s to read the new line + #max_backoff: 10s + + # The backoff factor defines how fast the algorithm backs off. The bigger the backoff factor, + # the faster the max_backoff value is reached. If this value is set to 1, no backoff will happen. + # The backoff value will be multiplied each time with the backoff_factor until max_backoff is reached + #backoff_factor: 2 + + # Max number of harvesters that are started in parallel. + # Default is 0 which means unlimited + #harvester_limit: 0 + + ### Harvester closing options + + # Close inactive closes the file handler after the predefined period. + # The period starts when the last line of the file was, not the file ModTime. + # Time strings like 2h (2 hours), 5m (5 minutes) can be used. + #close_inactive: 5m + + # Close renamed closes a file handler when the file is renamed or rotated. + # Note: Potential data loss. Make sure to read and understand the docs for this option. + #close_renamed: false + + # When enabling this option, a file handler is closed immediately in case a file can't be found + # any more. In case the file shows up again later, harvesting will continue at the last known position + # after scan_frequency. + #close_removed: true + + # Closes the file handler as soon as the harvesters reaches the end of the file. + # By default this option is disabled. + # Note: Potential data loss. Make sure to read and understand the docs for this option. + #close_eof: false + + ### State options + + # Files for the modification data is older then clean_inactive the state from the registry is removed + # By default this is disabled. + #clean_inactive: 0 + + # Removes the state for file which cannot be found on disk anymore immediately + #clean_removed: true + + # Close timeout closes the harvester after the predefined time. + # This is independent if the harvester did finish reading the file or not. + # By default this option is disabled. + # Note: Potential data loss. Make sure to read and understand the docs for this option. + #close_timeout: 0 + + # Defines if inputs is enabled + #enabled: true + +#----------------------------- Stdin input ------------------------------- +# Configuration to use stdin input +#- type: stdin + +#------------------------- Redis slowlog input --------------------------- +# Experimental: Config options for the redis slow log input +#- type: redis + #enabled: false + + # List of hosts to pool to retrieve the slow log information. + #hosts: ["localhost:6379"] + + # How often the input checks for redis slow log. + #scan_frequency: 10s + + # Timeout after which time the input should return an error + #timeout: 1s + + # Network type to be used for redis connection. Default: tcp + #network: tcp + + # Max number of concurrent connections. Default: 10 + #maxconn: 10 + + # Redis AUTH password. Empty by default. + #password: foobared + +#------------------------------ Udp input -------------------------------- +# Experimental: Config options for the udp input +#- type: udp + #enabled: false + + # Maximum size of the message received over UDP + #max_message_size: 10KiB + + # Size of the UDP read buffer in bytes + #read_buffer: 0 + + +#------------------------------ TCP input -------------------------------- +# Experimental: Config options for the TCP input +#- type: tcp + #enabled: false + + # The host and port to receive the new event + #host: "localhost:9000" + + # Character used to split new message + #line_delimiter: "\n" + + # Maximum size in bytes of the message received over TCP + #max_message_size: 20MiB + + # Max number of concurrent connections, or 0 for no limit. Default: 0 + #max_connections: 0 + + # The number of seconds of inactivity before a remote connection is closed. + #timeout: 300s + + # Use SSL settings for TCP. + #ssl.enabled: true + + # List of supported/valid TLS versions. By default all TLS versions 1.0 up to + # 1.2 are enabled. + #ssl.supported_protocols: [TLSv1.0, TLSv1.1, TLSv1.2] + + # SSL configuration. By default is off. + # List of root certificates for client verifications + #ssl.certificate_authorities: ["/etc/pki/root/ca.pem"] + + # Certificate for SSL server authentication. + #ssl.certificate: "/etc/pki/client/cert.pem" + + # Server Certificate Key, + #ssl.key: "/etc/pki/client/cert.key" + + # Optional passphrase for decrypting the Certificate Key. + #ssl.key_passphrase: '' + + # Configure cipher suites to be used for SSL connections. + #ssl.cipher_suites: [] + + # Configure curve types for ECDHE based cipher suites. + #ssl.curve_types: [] + + # Configure what types of client authentication are supported. Valid options + # are `none`, `optional`, and `required`. When `certificate_authorities` is set it will + # default to `required` otherwise it will be set to `none`. + #ssl.client_authentication: "required" + +#------------------------------ Syslog input -------------------------------- +# Experimental: Config options for the Syslog input +# Accept RFC3164 formatted syslog event via UDP. +#- type: syslog + #enabled: false + #protocol.udp: + # The host and port to receive the new event + #host: "localhost:9000" + + # Maximum size of the message received over UDP + #max_message_size: 10KiB + +# Accept RFC3164 formatted syslog event via TCP. +#- type: syslog + #enabled: false + + #protocol.tcp: + # The host and port to receive the new event + #host: "localhost:9000" + + # Character used to split new message + #line_delimiter: "\n" + + # Maximum size in bytes of the message received over TCP + #max_message_size: 20MiB + + # The number of seconds of inactivity before a remote connection is closed. + #timeout: 300s + + # Use SSL settings for TCP. + #ssl.enabled: true + + # List of supported/valid TLS versions. By default all TLS versions 1.0 up to + # 1.2 are enabled. + #ssl.supported_protocols: [TLSv1.0, TLSv1.1, TLSv1.2] + + # SSL configuration. By default is off. + # List of root certificates for client verifications + #ssl.certificate_authorities: ["/etc/pki/root/ca.pem"] + + # Certificate for SSL server authentication. + #ssl.certificate: "/etc/pki/client/cert.pem" + + # Server Certificate Key, + #ssl.key: "/etc/pki/client/cert.key" + + # Optional passphrase for decrypting the Certificate Key. + #ssl.key_passphrase: '' + + # Configure cipher suites to be used for SSL connections. + #ssl.cipher_suites: [] + + # Configure curve types for ECDHE based cipher suites. + #ssl.curve_types: [] + + # Configure what types of client authentication are supported. Valid options + # are `none`, `optional`, and `required`. When `certificate_authorities` is set it will + # default to `required` otherwise it will be set to `none`. + #ssl.client_authentication: "required" + +#------------------------------ Container input -------------------------------- +#- type: container + #enabled: false + + # Paths for container logs that should be crawled and fetched. + #paths: + # -/var/lib/docker/containers/*/*.log + + # Configure stream to filter to a specific stream: stdout, stderr or all (default) + #stream: all + +#========================== Filebeat autodiscover ============================== + +# Autodiscover allows you to detect changes in the system and spawn new modules +# or inputs as they happen. + +#filebeat.autodiscover: + # List of enabled autodiscover providers +# providers: +# - type: docker +# templates: +# - condition: +# equals.docker.container.image: busybox +# config: +# - type: container +# paths: +# - /var/lib/docker/containers/${data.docker.container.id}/*.log + +#========================= Filebeat global options ============================ + +# Registry data path. If a relative path is used, it is considered relative to the +# data path. +#filebeat.registry.path: ${path.data}/registry + +# The permissions mask to apply on registry data, and meta files. The default +# value is 0600. Must be a valid Unix-style file permissions mask expressed in +# octal notation. This option is not supported on Windows. +#filebeat.registry.file_permissions: 0600 + +# The timeout value that controls when registry entries are written to disk +# (flushed). When an unwritten update exceeds this value, it triggers a write +# to disk. When flush is set to 0s, the registry is written to disk after each +# batch of events has been published successfully. The default value is 0s. +#filebeat.registry.flush: 0s + + +# Starting with Filebeat 7.0, the registry uses a new directory format to store +# Filebeat state. After you upgrade, Filebeat will automatically migrate a 6.x +# registry file to use the new directory format. If you changed +# filebeat.registry.path while upgrading, set filebeat.registry.migrate_file to +# point to the old registry file. +#filebeat.registry.migrate_file: ${path.data}/registry + +# By default Ingest pipelines are not updated if a pipeline with the same ID +# already exists. If this option is enabled Filebeat overwrites pipelines +# everytime a new Elasticsearch connection is established. +#filebeat.overwrite_pipelines: false + +# How long filebeat waits on shutdown for the publisher to finish. +# Default is 0, not waiting. +#filebeat.shutdown_timeout: 0 + +# Enable filebeat config reloading +#filebeat.config: + #inputs: + #enabled: false + #path: inputs.d/*.yml + #reload.enabled: true + #reload.period: 10s + #modules: + #enabled: false + #path: modules.d/*.yml + #reload.enabled: true + #reload.period: 10s + +#================================ General ====================================== + +# The name of the shipper that publishes the network data. It can be used to group +# all the transactions sent by a single shipper in the web interface. +# If this options is not defined, the hostname is used. +#name: + +# The tags of the shipper are included in their own field with each +# transaction published. Tags make it easy to group servers by different +# logical properties. +#tags: ["service-X", "web-tier"] + +# Optional fields that you can specify to add additional information to the +# output. Fields can be scalar values, arrays, dictionaries, or any nested +# combination of these. +#fields: +# env: staging + +# If this option is set to true, the custom fields are stored as top-level +# fields in the output document instead of being grouped under a fields +# sub-dictionary. Default is false. +#fields_under_root: false + +# Internal queue configuration for buffering events to be published. +#queue: + # Queue type by name (default 'mem') + # The memory queue will present all available events (up to the outputs + # bulk_max_size) to the output, the moment the output is ready to server + # another batch of events. + #mem: + # Max number of events the queue can buffer. + #events: 4096 + + # Hints the minimum number of events stored in the queue, + # before providing a batch of events to the outputs. + # The default value is set to 2048. + # A value of 0 ensures events are immediately available + # to be sent to the outputs. + #flush.min_events: 2048 + + # Maximum duration after which events are available to the outputs, + # if the number of events stored in the queue is < `flush.min_events`. + #flush.timeout: 1s + + # The spool queue will store events in a local spool file, before + # forwarding the events to the outputs. + # + # Beta: spooling to disk is currently a beta feature. Use with care. + # + # The spool file is a circular buffer, which blocks once the file/buffer is full. + # Events are put into a write buffer and flushed once the write buffer + # is full or the flush_timeout is triggered. + # Once ACKed by the output, events are removed immediately from the queue, + # making space for new events to be persisted. + #spool: + # The file namespace configures the file path and the file creation settings. + # Once the file exists, the `size`, `page_size` and `prealloc` settings + # will have no more effect. + #file: + # Location of spool file. The default value is ${path.data}/spool.dat. + #path: "${path.data}/spool.dat" + + # Configure file permissions if file is created. The default value is 0600. + #permissions: 0600 + + # File size hint. The spool blocks, once this limit is reached. The default value is 100 MiB. + #size: 100MiB + + # The files page size. A file is split into multiple pages of the same size. The default value is 4KiB. + #page_size: 4KiB + + # If prealloc is set, the required space for the file is reserved using + # truncate. The default value is true. + #prealloc: true + + # Spool writer settings + # Events are serialized into a write buffer. The write buffer is flushed if: + # - The buffer limit has been reached. + # - The configured limit of buffered events is reached. + # - The flush timeout is triggered. + #write: + # Sets the write buffer size. + #buffer_size: 1MiB + + # Maximum duration after which events are flushed if the write buffer + # is not full yet. The default value is 1s. + #flush.timeout: 1s + + # Number of maximum buffered events. The write buffer is flushed once the + # limit is reached. + #flush.events: 16384 + + # Configure the on-disk event encoding. The encoding can be changed + # between restarts. + # Valid encodings are: json, ubjson, and cbor. + #codec: cbor + #read: + # Reader flush timeout, waiting for more events to become available, so + # to fill a complete batch as required by the outputs. + # If flush_timeout is 0, all available events are forwarded to the + # outputs immediately. + # The default value is 0s. + #flush.timeout: 0s + +# Sets the maximum number of CPUs that can be executing simultaneously. The +# default is the number of logical CPUs available in the system. +#max_procs: + +#================================ Processors =================================== + +# Processors are used to reduce the number of fields in the exported event or to +# enhance the event with external metadata. This section defines a list of +# processors that are applied one by one and the first one receives the initial +# event: +# +# event -> filter1 -> event1 -> filter2 ->event2 ... +# +# The supported processors are drop_fields, drop_event, include_fields, +# decode_json_fields, and add_cloud_metadata. +# +# For example, you can use the following processors to keep the fields that +# contain CPU load percentages, but remove the fields that contain CPU ticks +# values: +# +#processors: +#- include_fields: +# fields: ["cpu"] +#- drop_fields: +# fields: ["cpu.user", "cpu.system"] +# +# The following example drops the events that have the HTTP response code 200: +# +#processors: +#- drop_event: +# when: +# equals: +# http.code: 200 +# +# The following example renames the field a to b: +# +#processors: +#- rename: +# fields: +# - from: "a" +# to: "b" +# +# The following example tokenizes the string into fields: +# +#processors: +#- dissect: +# tokenizer: "%{key1} - %{key2}" +# field: "message" +# target_prefix: "dissect" +# +# The following example enriches each event with metadata from the cloud +# provider about the host machine. It works on EC2, GCE, DigitalOcean, +# Tencent Cloud, and Alibaba Cloud. +# +#processors: +#- add_cloud_metadata: ~ +# +# The following example enriches each event with the machine's local time zone +# offset from UTC. +# +#processors: +#- add_locale: +# format: offset +# +# The following example enriches each event with docker metadata, it matches +# given fields to an existing container id and adds info from that container: +# +#processors: +#- add_docker_metadata: +# host: "unix:///var/run/docker.sock" +# match_fields: ["system.process.cgroup.id"] +# match_pids: ["process.pid", "process.ppid"] +# match_source: true +# match_source_index: 4 +# match_short_id: false +# cleanup_timeout: 60 +# labels.dedot: false +# # To connect to Docker over TLS you must specify a client and CA certificate. +# #ssl: +# # certificate_authority: "/etc/pki/root/ca.pem" +# # certificate: "/etc/pki/client/cert.pem" +# # key: "/etc/pki/client/cert.key" +# +# The following example enriches each event with docker metadata, it matches +# container id from log path available in `source` field (by default it expects +# it to be /var/lib/docker/containers/*/*.log). +# +#processors: +#- add_docker_metadata: ~ +# +# The following example enriches each event with host metadata. +# +#processors: +#- add_host_metadata: +# netinfo.enabled: false +# +# The following example enriches each event with process metadata using +# process IDs included in the event. +# +#processors: +#- add_process_metadata: +# match_pids: ["system.process.ppid"] +# target: system.process.parent +# +# The following example decodes fields containing JSON strings +# and replaces the strings with valid JSON objects. +# +#processors: +#- decode_json_fields: +# fields: ["field1", "field2", ...] +# process_array: false +# max_depth: 1 +# target: "" +# overwrite_keys: false +# +#processors: +#- decompress_gzip_field: +# from: "field1" +# to: "field2" +# ignore_missing: false +# fail_on_error: true +# +# The following example copies the value of message to message_copied +# +#processors: +#- copy_fields: +# fields: +# - from: message +# to: message_copied +# fail_on_error: true +# ignore_missing: false +# +# The following example truncates the value of message to 1024 bytes +# +#processors: +#- truncate_fields: +# fields: +# - message +# max_bytes: 1024 +# fail_on_error: false +# ignore_missing: true +# +# The following example preserves the raw message under event.original +# +#processors: +#- copy_fields: +# fields: +# - from: message +# to: event.original +# fail_on_error: false +# ignore_missing: true +#- truncate_fields: +# fields: +# - event.original +# max_bytes: 1024 +# fail_on_error: false +# ignore_missing: true + +#============================= Elastic Cloud ================================== + +# These settings simplify using Filebeat with the Elastic Cloud (https://cloud.elastic.co/). + +# The cloud.id setting overwrites the `output.elasticsearch.hosts` and +# `setup.kibana.host` options. +# You can find the `cloud.id` in the Elastic Cloud web UI. +#cloud.id: + +# The cloud.auth setting overwrites the `output.elasticsearch.username` and +# `output.elasticsearch.password` settings. The format is `:`. +#cloud.auth: + +#================================ Outputs ====================================== + +# Configure what output to use when sending the data collected by the beat. + +#-------------------------- Elasticsearch output ------------------------------- +output.elasticsearch: + # Boolean flag to enable or disable the output module. + #enabled: true + + # Array of hosts to connect to. + # Scheme and port can be left out and will be set to the default (http and 9200) + # In case you specify and additional path, the scheme is required: http://localhost:9200/path + # IPv6 addresses should always be defined as: https://[2001:db8::1]:9200 + hosts: ["10.1.0.4:9200"] + username: "elastic" + password: "changeme" # TODO: Change this to the password you set + + # Set gzip compression level. + #compression_level: 0 + + # Configure escaping HTML symbols in strings. + #escape_html: false + + # Optional protocol and basic auth credentials. + #protocol: "https" + #username: "elastic" + #password: "changeme" + + # Dictionary of HTTP parameters to pass within the URL with index operations. + #parameters: + #param1: value1 + #param2: value2 + + # Number of workers per Elasticsearch host. + #worker: 1 + + # Optional index name. The default is "filebeat" plus date + # and generates [filebeat-]YYYY.MM.DD keys. + # In case you modify this pattern you must update setup.template.name and setup.template.pattern accordingly. + #index: "filebeat-%{[agent.version]}-%{+yyyy.MM.dd}" + + # Optional ingest node pipeline. By default no pipeline will be used. + #pipeline: "" + + # Optional HTTP path + #path: "/elasticsearch" + + # Custom HTTP headers to add to each request + #headers: + # X-My-Header: Contents of the header + + # Proxy server URL + #proxy_url: http://proxy:3128 + + # Whether to disable proxy settings for outgoing connections. If true, this + # takes precedence over both the proxy_url field and any environment settings + # (HTTP_PROXY, HTTPS_PROXY). The default is false. + #proxy_disable: false + + # The number of times a particular Elasticsearch index operation is attempted. If + # the indexing operation doesn't succeed after this many retries, the events are + # dropped. The default is 3. + #max_retries: 3 + + # The maximum number of events to bulk in a single Elasticsearch bulk API index request. + # The default is 50. + #bulk_max_size: 50 + + # The number of seconds to wait before trying to reconnect to Elasticsearch + # after a network error. After waiting backoff.init seconds, the Beat + # tries to reconnect. If the attempt fails, the backoff timer is increased + # exponentially up to backoff.max. After a successful connection, the backoff + # timer is reset. The default is 1s. + #backoff.init: 1s + + # The maximum number of seconds to wait before attempting to connect to + # Elasticsearch after a network error. The default is 60s. + #backoff.max: 60s + + # Configure HTTP request timeout before failing a request to Elasticsearch. + #timeout: 90 + + # Use SSL settings for HTTPS. + #ssl.enabled: true + + # Configure SSL verification mode. If `none` is configured, all server hosts + # and certificates will be accepted. In this mode, SSL-based connections are + # susceptible to man-in-the-middle attacks. Use only for testing. Default is + # `full`. + #ssl.verification_mode: full + + # List of supported/valid TLS versions. By default all TLS versions from 1.0 up to + # 1.2 are enabled. + #ssl.supported_protocols: [TLSv1.0, TLSv1.1, TLSv1.2] + + # List of root certificates for HTTPS server verifications + #ssl.certificate_authorities: ["/etc/pki/root/ca.pem"] + + # Certificate for SSL client authentication + #ssl.certificate: "/etc/pki/client/cert.pem" + + # Client certificate key + #ssl.key: "/etc/pki/client/cert.key" + + # Optional passphrase for decrypting the certificate key. + #ssl.key_passphrase: '' + + # Configure cipher suites to be used for SSL connections + #ssl.cipher_suites: [] + + # Configure curve types for ECDHE-based cipher suites + #ssl.curve_types: [] + + # Configure what types of renegotiation are supported. Valid options are + # never, once, and freely. Default is never. + #ssl.renegotiation: never + +#----------------------------- Logstash output --------------------------------- +#output.logstash: + # Boolean flag to enable or disable the output module. + #enabled: true + + # The Logstash hosts + #hosts: ["localhost:5044"] + + # Number of workers per Logstash host. + #worker: 1 + + # Set gzip compression level. + #compression_level: 3 + + # Configure escaping HTML symbols in strings. + #escape_html: false + + # Optional maximum time to live for a connection to Logstash, after which the + # connection will be re-established. A value of `0s` (the default) will + # disable this feature. + # + # Not yet supported for async connections (i.e. with the "pipelining" option set) + #ttl: 30s + + # Optionally load-balance events between Logstash hosts. Default is false. + #loadbalance: false + + # Number of batches to be sent asynchronously to Logstash while processing + # new batches. + #pipelining: 2 + + # If enabled only a subset of events in a batch of events is transferred per + # transaction. The number of events to be sent increases up to `bulk_max_size` + # if no error is encountered. + #slow_start: false + + # The number of seconds to wait before trying to reconnect to Logstash + # after a network error. After waiting backoff.init seconds, the Beat + # tries to reconnect. If the attempt fails, the backoff timer is increased + # exponentially up to backoff.max. After a successful connection, the backoff + # timer is reset. The default is 1s. + #backoff.init: 1s + + # The maximum number of seconds to wait before attempting to connect to + # Logstash after a network error. The default is 60s. + #backoff.max: 60s + + # Optional index name. The default index name is set to filebeat + # in all lowercase. + #index: 'filebeat' + + # SOCKS5 proxy server URL + #proxy_url: socks5://user:password@socks5-server:2233 + + # Resolve names locally when using a proxy server. Defaults to false. + #proxy_use_local_resolver: false + + # Enable SSL support. SSL is automatically enabled if any SSL setting is set. + #ssl.enabled: true + + # Configure SSL verification mode. If `none` is configured, all server hosts + # and certificates will be accepted. In this mode, SSL based connections are + # susceptible to man-in-the-middle attacks. Use only for testing. Default is + # `full`. + #ssl.verification_mode: full + + # List of supported/valid TLS versions. By default all TLS versions from 1.0 up to + # 1.2 are enabled. + #ssl.supported_protocols: [TLSv1.0, TLSv1.1, TLSv1.2] + + # Optional SSL configuration options. SSL is off by default. + # List of root certificates for HTTPS server verifications + #ssl.certificate_authorities: ["/etc/pki/root/ca.pem"] + + # Certificate for SSL client authentication + #ssl.certificate: "/etc/pki/client/cert.pem" + + # Client certificate key + #ssl.key: "/etc/pki/client/cert.key" + + # Optional passphrase for decrypting the Certificate Key. + #ssl.key_passphrase: '' + + # Configure cipher suites to be used for SSL connections + #ssl.cipher_suites: [] + + # Configure curve types for ECDHE-based cipher suites + #ssl.curve_types: [] + + # Configure what types of renegotiation are supported. Valid options are + # never, once, and freely. Default is never. + #ssl.renegotiation: never + + # The number of times to retry publishing an event after a publishing failure. + # After the specified number of retries, the events are typically dropped. + # Some Beats, such as Filebeat and Winlogbeat, ignore the max_retries setting + # and retry until all events are published. Set max_retries to a value less + # than 0 to retry until all events are published. The default is 3. + #max_retries: 3 + + # The maximum number of events to bulk in a single Logstash request. The + # default is 2048. + #bulk_max_size: 2048 + + # The number of seconds to wait for responses from the Logstash server before + # timing out. The default is 30s. + #timeout: 30s + +#------------------------------- Kafka output ---------------------------------- +#output.kafka: + # Boolean flag to enable or disable the output module. + #enabled: true + + # The list of Kafka broker addresses from which to fetch the cluster metadata. + # The cluster metadata contain the actual Kafka brokers events are published + # to. + #hosts: ["localhost:9092"] + + # The Kafka topic used for produced events. The setting can be a format string + # using any event field. To set the topic from document type use `%{[type]}`. + #topic: beats + + # The Kafka event key setting. Use format string to create a unique event key. + # By default no event key will be generated. + #key: '' + + # The Kafka event partitioning strategy. Default hashing strategy is `hash` + # using the `output.kafka.key` setting or randomly distributes events if + # `output.kafka.key` is not configured. + #partition.hash: + # If enabled, events will only be published to partitions with reachable + # leaders. Default is false. + #reachable_only: false + + # Configure alternative event field names used to compute the hash value. + # If empty `output.kafka.key` setting will be used. + # Default value is empty list. + #hash: [] + + # Authentication details. Password is required if username is set. + #username: '' + #password: '' + + # Kafka version Filebeat is assumed to run against. Defaults to the "1.0.0". + #version: '1.0.0' + + # Configure JSON encoding + #codec.json: + # Pretty-print JSON event + #pretty: false + + # Configure escaping HTML symbols in strings. + #escape_html: false + + # Metadata update configuration. Metadata contains leader information + # used to decide which broker to use when publishing. + #metadata: + # Max metadata request retry attempts when cluster is in middle of leader + # election. Defaults to 3 retries. + #retry.max: 3 + + # Wait time between retries during leader elections. Default is 250ms. + #retry.backoff: 250ms + + # Refresh metadata interval. Defaults to every 10 minutes. + #refresh_frequency: 10m + + # Strategy for fetching the topics metadata from the broker. Default is false. + #full: false + + # The number of concurrent load-balanced Kafka output workers. + #worker: 1 + + # The number of times to retry publishing an event after a publishing failure. + # After the specified number of retries, events are typically dropped. + # Some Beats, such as Filebeat, ignore the max_retries setting and retry until + # all events are published. Set max_retries to a value less than 0 to retry + # until all events are published. The default is 3. + #max_retries: 3 + + # The maximum number of events to bulk in a single Kafka request. The default + # is 2048. + #bulk_max_size: 2048 + + # Duration to wait before sending bulk Kafka request. 0 is no delay. The default + # is 0. + #bulk_flush_frequency: 0s + + # The number of seconds to wait for responses from the Kafka brokers before + # timing out. The default is 30s. + #timeout: 30s + + # The maximum duration a broker will wait for number of required ACKs. The + # default is 10s. + #broker_timeout: 10s + + # The number of messages buffered for each Kafka broker. The default is 256. + #channel_buffer_size: 256 + + # The keep-alive period for an active network connection. If 0s, keep-alives + # are disabled. The default is 0 seconds. + #keep_alive: 0 + + # Sets the output compression codec. Must be one of none, snappy and gzip. The + # default is gzip. + #compression: gzip + + # Set the compression level. Currently only gzip provides a compression level + # between 0 and 9. The default value is chosen by the compression algorithm. + #compression_level: 4 + + # The maximum permitted size of JSON-encoded messages. Bigger messages will be + # dropped. The default value is 1000000 (bytes). This value should be equal to + # or less than the broker's message.max.bytes. + #max_message_bytes: 1000000 + + # The ACK reliability level required from broker. 0=no response, 1=wait for + # local commit, -1=wait for all replicas to commit. The default is 1. Note: + # If set to 0, no ACKs are returned by Kafka. Messages might be lost silently + # on error. + #required_acks: 1 + + # The configurable ClientID used for logging, debugging, and auditing + # purposes. The default is "beats". + #client_id: beats + + # Enable SSL support. SSL is automatically enabled if any SSL setting is set. + #ssl.enabled: true + + # Optional SSL configuration options. SSL is off by default. + # List of root certificates for HTTPS server verifications + #ssl.certificate_authorities: ["/etc/pki/root/ca.pem"] + + # Configure SSL verification mode. If `none` is configured, all server hosts + # and certificates will be accepted. In this mode, SSL based connections are + # susceptible to man-in-the-middle attacks. Use only for testing. Default is + # `full`. + #ssl.verification_mode: full + + # List of supported/valid TLS versions. By default all TLS versions from 1.0 up to + # 1.2 are enabled. + #ssl.supported_protocols: [TLSv1.0, TLSv1.1, TLSv1.2] + + # Certificate for SSL client authentication + #ssl.certificate: "/etc/pki/client/cert.pem" + + # Client Certificate Key + #ssl.key: "/etc/pki/client/cert.key" + + # Optional passphrase for decrypting the Certificate Key. + #ssl.key_passphrase: '' + + # Configure cipher suites to be used for SSL connections + #ssl.cipher_suites: [] + + # Configure curve types for ECDHE-based cipher suites + #ssl.curve_types: [] + + # Configure what types of renegotiation are supported. Valid options are + # never, once, and freely. Default is never. + #ssl.renegotiation: never + +#------------------------------- Redis output ---------------------------------- +#output.redis: + # Boolean flag to enable or disable the output module. + #enabled: true + + # Configure JSON encoding + #codec.json: + # Pretty print json event + #pretty: false + + # Configure escaping HTML symbols in strings. + #escape_html: false + + # The list of Redis servers to connect to. If load-balancing is enabled, the + # events are distributed to the servers in the list. If one server becomes + # unreachable, the events are distributed to the reachable servers only. + #hosts: ["localhost:6379"] + + # The name of the Redis list or channel the events are published to. The + # default is filebeat. + #key: filebeat + + # The password to authenticate to Redis with. The default is no authentication. + #password: + + # The Redis database number where the events are published. The default is 0. + #db: 0 + + # The Redis data type to use for publishing events. If the data type is list, + # the Redis RPUSH command is used. If the data type is channel, the Redis + # PUBLISH command is used. The default value is list. + #datatype: list + + # The number of workers to use for each host configured to publish events to + # Redis. Use this setting along with the loadbalance option. For example, if + # you have 2 hosts and 3 workers, in total 6 workers are started (3 for each + # host). + #worker: 1 + + # If set to true and multiple hosts or workers are configured, the output + # plugin load balances published events onto all Redis hosts. If set to false, + # the output plugin sends all events to only one host (determined at random) + # and will switch to another host if the currently selected one becomes + # unreachable. The default value is true. + #loadbalance: true + + # The Redis connection timeout in seconds. The default is 5 seconds. + #timeout: 5s + + # The number of times to retry publishing an event after a publishing failure. + # After the specified number of retries, the events are typically dropped. + # Some Beats, such as Filebeat, ignore the max_retries setting and retry until + # all events are published. Set max_retries to a value less than 0 to retry + # until all events are published. The default is 3. + #max_retries: 3 + + # The number of seconds to wait before trying to reconnect to Redis + # after a network error. After waiting backoff.init seconds, the Beat + # tries to reconnect. If the attempt fails, the backoff timer is increased + # exponentially up to backoff.max. After a successful connection, the backoff + # timer is reset. The default is 1s. + #backoff.init: 1s + + # The maximum number of seconds to wait before attempting to connect to + # Redis after a network error. The default is 60s. + #backoff.max: 60s + + # The maximum number of events to bulk in a single Redis request or pipeline. + # The default is 2048. + #bulk_max_size: 2048 + + # The URL of the SOCKS5 proxy to use when connecting to the Redis servers. The + # value must be a URL with a scheme of socks5://. + #proxy_url: + + # This option determines whether Redis hostnames are resolved locally when + # using a proxy. The default value is false, which means that name resolution + # occurs on the proxy server. + #proxy_use_local_resolver: false + + # Enable SSL support. SSL is automatically enabled, if any SSL setting is set. + #ssl.enabled: true + + # Configure SSL verification mode. If `none` is configured, all server hosts + # and certificates will be accepted. In this mode, SSL based connections are + # susceptible to man-in-the-middle attacks. Use only for testing. Default is + # `full`. + #ssl.verification_mode: full + + # List of supported/valid TLS versions. By default all TLS versions 1.0 up to + # 1.2 are enabled. + #ssl.supported_protocols: [TLSv1.0, TLSv1.1, TLSv1.2] + + # Optional SSL configuration options. SSL is off by default. + # List of root certificates for HTTPS server verifications + #ssl.certificate_authorities: ["/etc/pki/root/ca.pem"] + + # Certificate for SSL client authentication + #ssl.certificate: "/etc/pki/client/cert.pem" + + # Client Certificate Key + #ssl.key: "/etc/pki/client/cert.key" + + # Optional passphrase for decrypting the Certificate Key. + #ssl.key_passphrase: '' + + # Configure cipher suites to be used for SSL connections + #ssl.cipher_suites: [] + + # Configure curve types for ECDHE based cipher suites + #ssl.curve_types: [] + + # Configure what types of renegotiation are supported. Valid options are + # never, once, and freely. Default is never. + #ssl.renegotiation: never + +#------------------------------- File output ----------------------------------- +#output.file: + # Boolean flag to enable or disable the output module. + #enabled: true + + # Configure JSON encoding + #codec.json: + # Pretty-print JSON event + #pretty: false + + # Configure escaping HTML symbols in strings. + #escape_html: false + + # Path to the directory where to save the generated files. The option is + # mandatory. + #path: "/tmp/filebeat" + + # Name of the generated files. The default is `filebeat` and it generates + # files: `filebeat`, `filebeat.1`, `filebeat.2`, etc. + #filename: filebeat + + # Maximum size in kilobytes of each file. When this size is reached, and on + # every Filebeat restart, the files are rotated. The default value is 10240 + # kB. + #rotate_every_kb: 10000 + + # Maximum number of files under path. When this number of files is reached, + # the oldest file is deleted and the rest are shifted from last to first. The + # default is 7 files. + #number_of_files: 7 + + # Permissions to use for file creation. The default is 0600. + #permissions: 0600 + +#----------------------------- Console output --------------------------------- +#output.console: + # Boolean flag to enable or disable the output module. + #enabled: true + + # Configure JSON encoding + #codec.json: + # Pretty-print JSON event + #pretty: false + + # Configure escaping HTML symbols in strings. + #escape_html: false + +#================================= Paths ====================================== + +# The home path for the Filebeat installation. This is the default base path +# for all other path settings and for miscellaneous files that come with the +# distribution (for example, the sample dashboards). +# If not set by a CLI flag or in the configuration file, the default for the +# home path is the location of the binary. +#path.home: + +# The configuration path for the Filebeat installation. This is the default +# base path for configuration files, including the main YAML configuration file +# and the Elasticsearch template file. If not set by a CLI flag or in the +# configuration file, the default for the configuration path is the home path. +#path.config: ${path.home} + +# The data path for the Filebeat installation. This is the default base path +# for all the files in which Filebeat needs to store its data. If not set by a +# CLI flag or in the configuration file, the default for the data path is a data +# subdirectory inside the home path. +#path.data: ${path.home}/data + +# The logs path for a Filebeat installation. This is the default location for +# the Beat's log files. If not set by a CLI flag or in the configuration file, +# the default for the logs path is a logs subdirectory inside the home path. +#path.logs: ${path.home}/logs + +#================================ Keystore ========================================== +# Location of the Keystore containing the keys and their sensitive values. +#keystore.path: "${path.config}/beats.keystore" + +#============================== Dashboards ===================================== +# These settings control loading the sample dashboards to the Kibana index. Loading +# the dashboards are disabled by default and can be enabled either by setting the +# options here, or by using the `-setup` CLI flag or the `setup` command. +#setup.dashboards.enabled: false + +# The directory from where to read the dashboards. The default is the `kibana` +# folder in the home path. +#setup.dashboards.directory: ${path.home}/kibana + +# The URL from where to download the dashboards archive. It is used instead of +# the directory if it has a value. +#setup.dashboards.url: + +# The file archive (zip file) from where to read the dashboards. It is used instead +# of the directory when it has a value. +#setup.dashboards.file: + +# In case the archive contains the dashboards from multiple Beats, this lets you +# select which one to load. You can load all the dashboards in the archive by +# setting this to the empty string. +#setup.dashboards.beat: filebeat + +# The name of the Kibana index to use for setting the configuration. Default is ".kibana" +#setup.dashboards.kibana_index: .kibana + +# The Elasticsearch index name. This overwrites the index name defined in the +# dashboards and index pattern. Example: testbeat-* +#setup.dashboards.index: + +# Always use the Kibana API for loading the dashboards instead of autodetecting +# how to install the dashboards by first querying Elasticsearch. +#setup.dashboards.always_kibana: false + +# If true and Kibana is not reachable at the time when dashboards are loaded, +# it will retry to reconnect to Kibana instead of exiting with an error. +#setup.dashboards.retry.enabled: false + +# Duration interval between Kibana connection retries. +#setup.dashboards.retry.interval: 1s + +# Maximum number of retries before exiting with an error, 0 for unlimited retrying. +#setup.dashboards.retry.maximum: 0 + + +#============================== Template ===================================== + +# A template is used to set the mapping in Elasticsearch +# By default template loading is enabled and the template is loaded. +# These settings can be adjusted to load your own template or overwrite existing ones. + +# Set to false to disable template loading. +#setup.template.enabled: true + +# Template name. By default the template name is "filebeat-%{[agent.version]}" +# The template name and pattern has to be set in case the Elasticsearch index pattern is modified. +#setup.template.name: "filebeat-%{[agent.version]}" + +# Template pattern. By default the template pattern is "-%{[agent.version]}-*" to apply to the default index settings. +# The first part is the version of the beat and then -* is used to match all daily indices. +# The template name and pattern has to be set in case the Elasticsearch index pattern is modified. +#setup.template.pattern: "filebeat-%{[agent.version]}-*" + +# Path to fields.yml file to generate the template +#setup.template.fields: "${path.config}/fields.yml" + +# A list of fields to be added to the template and Kibana index pattern. Also +# specify setup.template.overwrite: true to overwrite the existing template. +# This setting is experimental. +#setup.template.append_fields: +#- name: field_name +# type: field_type + +# Enable JSON template loading. If this is enabled, the fields.yml is ignored. +#setup.template.json.enabled: false + +# Path to the JSON template file +#setup.template.json.path: "${path.config}/template.json" + +# Name under which the template is stored in Elasticsearch +#setup.template.json.name: "" + +# Overwrite existing template +#setup.template.overwrite: false + +# Elasticsearch template settings +setup.template.settings: + + # A dictionary of settings to place into the settings.index dictionary + # of the Elasticsearch template. For more details, please check + # https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html + #index: + #number_of_shards: 1 + #codec: best_compression + #number_of_routing_shards: 30 + + # A dictionary of settings for the _source field. For more details, please check + # https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-source-field.html + #_source: + #enabled: false + +#============================== Setup ILM ===================================== + +# Configure index lifecycle management (ILM). These settings create a write +# alias and add additional settings to the index template. When ILM is enabled, +# output.elasticsearch.index is ignored, and the write alias is used to set the +# index name. + +# Enable ILM support. Valid values are true, false, and auto. When set to auto +# (the default), the Beat uses index lifecycle management when it connects to a +# cluster that supports ILM; otherwise, it creates daily indices. +#setup.ilm.enabled: auto + +# Set the prefix used in the index lifecycle write alias name. The default alias +# name is 'filebeat-%{[agent.version]}'. +#setup.ilm.rollover_alias: "filebeat" + +# Set the rollover index pattern. The default is "%{now/d}-000001". +#setup.ilm.pattern: "{now/d}-000001" + +# Set the lifecycle policy name. The default policy name is +# 'filebeat-%{[agent.version]}'. +#setup.ilm.policy_name: "mypolicy" + +# The path to a JSON file that contains a lifecycle policy configuration. Used +# to load your own lifecycle policy. +#setup.ilm.policy_file: + +# Disable the check for an existing lifecycle policy. The default is false. If +# you disable this check, set setup.ilm.overwrite: true so the lifecycle policy +# can be installed. +#setup.ilm.check_exists: false + +# Overwrite the lifecycle policy at startup. The default is false. +#setup.ilm.overwrite: false + +#============================== Kibana ===================================== + +# Starting with Beats version 6.0.0, the dashboards are loaded via the Kibana API. +# This requires a Kibana endpoint configuration. +setup.kibana: + host: "10.1.0.4:5601" # TODO: Change this to the IP address of your ELK server + # Kibana Host + # Scheme and port can be left out and will be set to the default (http and 5601) + # In case you specify and additional path, the scheme is required: http://localhost:5601/path + # IPv6 addresses should always be defined as: https://[2001:db8::1]:5601 + #host: "localhost:5601" + + # Optional protocol and basic auth credentials. + #protocol: "https" + #username: "elastic" + #password: "changeme" + + # Optional HTTP path + #path: "" + + # Use SSL settings for HTTPS. Default is true. + #ssl.enabled: true + + # Configure SSL verification mode. If `none` is configured, all server hosts + # and certificates will be accepted. In this mode, SSL based connections are + # susceptible to man-in-the-middle attacks. Use only for testing. Default is + # `full`. + #ssl.verification_mode: full + + # List of supported/valid TLS versions. By default all TLS versions from 1.0 up to + # 1.2 are enabled. + #ssl.supported_protocols: [TLSv1.0, TLSv1.1, TLSv1.2] + + # SSL configuration. The default is off. + # List of root certificates for HTTPS server verifications + #ssl.certificate_authorities: ["/etc/pki/root/ca.pem"] + + # Certificate for SSL client authentication + #ssl.certificate: "/etc/pki/client/cert.pem" + + # Client certificate key + #ssl.key: "/etc/pki/client/cert.key" + + # Optional passphrase for decrypting the certificate key. + #ssl.key_passphrase: '' + + # Configure cipher suites to be used for SSL connections + #ssl.cipher_suites: [] + + # Configure curve types for ECDHE-based cipher suites + #ssl.curve_types: [] + + + +#================================ Logging ====================================== +# There are four options for the log output: file, stderr, syslog, eventlog +# The file output is the default. + +# Sets log level. The default log level is info. +# Available log levels are: error, warning, info, debug +#logging.level: info + +# Enable debug output for selected components. To enable all selectors use ["*"] +# Other available selectors are "beat", "publish", "service" +# Multiple selectors can be chained. +#logging.selectors: [ ] + +# Send all logging output to stderr. The default is false. +#logging.to_stderr: false + +# Send all logging output to syslog. The default is false. +#logging.to_syslog: false + +# Send all logging output to Windows Event Logs. The default is false. +#logging.to_eventlog: false + +# If enabled, Filebeat periodically logs its internal metrics that have changed +# in the last period. For each metric that changed, the delta from the value at +# the beginning of the period is logged. Also, the total values for +# all non-zero internal metrics are logged on shutdown. The default is true. +#logging.metrics.enabled: true + +# The period after which to log the internal metrics. The default is 30s. +#logging.metrics.period: 30s + +# Logging to rotating files. Set logging.to_files to false to disable logging to +# files. +logging.to_files: true +logging.files: + # Configure the path where the logs are written. The default is the logs directory + # under the home path (the binary location). + #path: /var/log/filebeat + + # The name of the files where the logs are written to. + #name: filebeat + + # Configure log file size limit. If limit is reached, log file will be + # automatically rotated + #rotateeverybytes: 10485760 # = 10MB + + # Number of rotated log files to keep. Oldest files will be deleted first. + #keepfiles: 7 + + # The permissions mask to apply when rotating log files. The default value is 0600. + # Must be a valid Unix-style file permissions mask expressed in octal notation. + #permissions: 0600 + + # Enable log file rotation on time intervals in addition to size-based rotation. + # Intervals must be at least 1s. Values of 1m, 1h, 24h, 7*24h, 30*24h, and 365*24h + # are boundary-aligned with minutes, hours, days, weeks, months, and years as + # reported by the local system clock. All other intervals are calculated from the + # Unix epoch. Defaults to disabled. + #interval: 0 + + # Rotate existing logs on startup rather than appending to the existing + # file. Defaults to true. + # rotateonstartup: true + +# Set to true to log messages in JSON format. +#logging.json: false + + +#============================== X-Pack Monitoring =============================== +# Filebeat can export internal metrics to a central Elasticsearch monitoring +# cluster. This requires xpack monitoring to be enabled in Elasticsearch. The +# reporting is disabled by default. + +# Set to true to enable the monitoring reporter. +#monitoring.enabled: false + +# Sets the UUID of the Elasticsearch cluster under which monitoring data for this +# Filebeat instance will appear in the Stack Monitoring UI. If output.elasticsearch +# is enabled, the UUID is derived from the Elasticsearch cluster referenced by output.elasticsearch. +#monitoring.cluster_uuid: + +# Uncomment to send the metrics to Elasticsearch. Most settings from the +# Elasticsearch output are accepted here as well. +# Note that the settings should point to your Elasticsearch *monitoring* cluster. +# Any setting that is not set is automatically inherited from the Elasticsearch +# output configuration, so if you have the Elasticsearch output configured such +# that it is pointing to your Elasticsearch monitoring cluster, you can simply +# uncomment the following line. +#monitoring.elasticsearch: + + # Array of hosts to connect to. + # Scheme and port can be left out and will be set to the default (http and 9200) + # In case you specify and additional path, the scheme is required: http://localhost:9200/path + # IPv6 addresses should always be defined as: https://[2001:db8::1]:9200 + #hosts: ["localhost:9200"] + + # Set gzip compression level. + #compression_level: 0 + + # Optional protocol and basic auth credentials. + #protocol: "https" + #username: "beats_system" + #password: "changeme" + + # Dictionary of HTTP parameters to pass within the URL with index operations. + #parameters: + #param1: value1 + #param2: value2 + + # Custom HTTP headers to add to each request + #headers: + # X-My-Header: Contents of the header + + # Proxy server url + #proxy_url: http://proxy:3128 + + # The number of times a particular Elasticsearch index operation is attempted. If + # the indexing operation doesn't succeed after this many retries, the events are + # dropped. The default is 3. + #max_retries: 3 + + # The maximum number of events to bulk in a single Elasticsearch bulk API index request. + # The default is 50. + #bulk_max_size: 50 + + # The number of seconds to wait before trying to reconnect to Elasticsearch + # after a network error. After waiting backoff.init seconds, the Beat + # tries to reconnect. If the attempt fails, the backoff timer is increased + # exponentially up to backoff.max. After a successful connection, the backoff + # timer is reset. The default is 1s. + #backoff.init: 1s + + # The maximum number of seconds to wait before attempting to connect to + # Elasticsearch after a network error. The default is 60s. + #backoff.max: 60s + + # Configure HTTP request timeout before failing an request to Elasticsearch. + #timeout: 90 + + # Use SSL settings for HTTPS. + #ssl.enabled: true + + # Configure SSL verification mode. If `none` is configured, all server hosts + # and certificates will be accepted. In this mode, SSL based connections are + # susceptible to man-in-the-middle attacks. Use only for testing. Default is + # `full`. + #ssl.verification_mode: full + + # List of supported/valid TLS versions. By default all TLS versions from 1.0 up to + # 1.2 are enabled. + #ssl.supported_protocols: [TLSv1.0, TLSv1.1, TLSv1.2] + + # SSL configuration. The default is off. + # List of root certificates for HTTPS server verifications + #ssl.certificate_authorities: ["/etc/pki/root/ca.pem"] + + # Certificate for SSL client authentication + #ssl.certificate: "/etc/pki/client/cert.pem" + + # Client certificate key + #ssl.key: "/etc/pki/client/cert.key" + + # Optional passphrase for decrypting the certificate key. + #ssl.key_passphrase: '' + + # Configure cipher suites to be used for SSL connections + #ssl.cipher_suites: [] + + # Configure curve types for ECDHE-based cipher suites + #ssl.curve_types: [] + + # Configure what types of renegotiation are supported. Valid options are + # never, once, and freely. Default is never. + #ssl.renegotiation: never + + #metrics.period: 10s + #state.period: 1m + +#================================ HTTP Endpoint ====================================== +# Each beat can expose internal metrics through a HTTP endpoint. For security +# reasons the endpoint is disabled by default. This feature is currently experimental. +# Stats can be access through http://localhost:5066/stats . For pretty JSON output +# append ?pretty to the URL. + +# Defines if the HTTP endpoint is enabled. +#http.enabled: false + +# The HTTP endpoint will bind to this hostname, IP address, unix socket or named pipe. +# When using IP addresses, it is recommended to only use localhost. +#http.host: localhost + +# Port on which the HTTP endpoint will bind. Default is 5066. +#http.port: 5066 + +# Define which user should be owning the named pipe. +#http.named_pipe.user: + +# Define which the permissions that should be applied to the named pipe, use the Security +# Descriptor Definition Language (SDDL) to define the permission. This option cannot be used with +# `http.user`. +#http.named_pipe.security_descriptor: + +#============================= Process Security ================================ + +# Enable or disable seccomp system call filtering on Linux. Default is enabled. +#seccomp.enabled: true + +#================================= Migration ================================== + +# This allows to enable 6.7 migration aliases +#migration.6_to_7.enabled: false diff --git a/Ansible/beats/filebeat-playbook.yml b/Ansible/beats/filebeat-playbook.yml new file mode 100644 index 0000000..6dcaed0 --- /dev/null +++ b/Ansible/beats/filebeat-playbook.yml @@ -0,0 +1,31 @@ +--- + - name: Install and launch filebeat + hosts: webservers + become: true + tasks: + - name: Download .deb file + command: curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.6.1-amd64.deb + + - name: Install filebeat from .deb + command: dpkg -i filebeat-7.6.1-amd64.deb + + - name: Drop in filebeat.yml + copy: + src: /etc/ansible/beats/filebeat-config.yml + dest: /etc/filebeat/filebeat.yml + + - name: enable and configure system module + command: filebeat modules enable system + + - name: setup filebeat + command: filebeat setup + + - name: start filebeat service + command: service filebeat start + + - name: enable service filebeat on boot + systemd: + name: filebeat + enabled: yes + + diff --git a/Ansible/beats/metricbeat-playbook.yml b/Ansible/beats/metricbeat-playbook.yml new file mode 100644 index 0000000..d1cfca3 --- /dev/null +++ b/Ansible/beats/metricbeat-playbook.yml @@ -0,0 +1,37 @@ +--- + - name: Install and launch metricbeat + hosts: elk + become: true + tasks: + - name: download Metricbeat .deb + command: curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.6.1-amd64.deb + + - name: install Metricbeat from .deb + command: dpkg -i metricbeat-7.6.1-amd64.deb + + - name: copy metricbeat.yml over + copy: + src: /etc/ansible/beats/metricbeat.yml + dest: /etc/metricbeat/metricbeat.yml + + - name: run the metricbeat modules enable docker command + command: metricbeat modules enable docker + + - name: run the metricbeat setup + command: metricbeat setup + +# - name: stop the metricbeat service before metricbeat -e +# command: service metricbeat stop + +# - name: metricbeat -e +# command: metricbeat -e + + - name: start metricbeat + command: service metricbeat start + + - name: enable service filebeat on boot + systemd: + name: metricbeat + enabled: yes + + diff --git a/Ansible/beats/metricbeat.yml b/Ansible/beats/metricbeat.yml new file mode 100644 index 0000000..973f96a --- /dev/null +++ b/Ansible/beats/metricbeat.yml @@ -0,0 +1,163 @@ +###################### Metricbeat Configuration Example ####################### + +# This file is an example configuration file highlighting only the most common +# options. The metricbeat.reference.yml file from the same directory contains all the +# supported options with more comments. You can use it as a reference. +# +# You can find the full configuration reference here: +# https://www.elastic.co/guide/en/beats/metricbeat/index.html + +#========================== Modules configuration ============================ + +metricbeat.config.modules: + # Glob pattern for configuration loading + path: ${path.config}/modules.d/*.yml + + # Set to true to enable config reloading + reload.enabled: false + + # Period on which files under path should be checked for changes + #reload.period: 10s + +#==================== Elasticsearch template setting ========================== + +setup.template.settings: + index.number_of_shards: 1 + index.codec: best_compression + #_source.enabled: false + +#================================ General ===================================== + +# The name of the shipper that publishes the network data. It can be used to group +# all the transactions sent by a single shipper in the web interface. +#name: + +# The tags of the shipper are included in their own field with each +# transaction published. +#tags: ["service-X", "web-tier"] + +# Optional fields that you can specify to add additional information to the +# output. +#fields: +# env: staging + + +#============================== Dashboards ===================================== +# These settings control loading the sample dashboards to the Kibana index. Loading +# the dashboards is disabled by default and can be enabled either by setting the +# options here or by using the `setup` command. +#setup.dashboards.enabled: false + +# The URL from where to download the dashboards archive. By default this URL +# has a value which is computed based on the Beat name and version. For released +# versions, this URL points to the dashboard archive on the artifacts.elastic.co +# website. +#setup.dashboards.url: + +#============================== Kibana ===================================== + +# Starting with Beats version 6.0.0, the dashboards are loaded via the Kibana API. +# This requires a Kibana endpoint configuration. +setup.kibana: + host: "10.1.0.4:5601" + + # Kibana Host + # Scheme and port can be left out and will be set to the default (http and 5601) + # In case you specify and additional path, the scheme is required: http://localhost:5601/path + # IPv6 addresses should always be defined as: https://[2001:db8::1]:5601 + #host: "localhost:5601" + + # Kibana Space ID + # ID of the Kibana Space into which the dashboards should be loaded. By default, + # the Default Space will be used. + #space.id: + +#============================= Elastic Cloud ================================== + +# These settings simplify using Metricbeat with the Elastic Cloud (https://cloud.elastic.co/). + +# The cloud.id setting overwrites the `output.elasticsearch.hosts` and +# `setup.kibana.host` options. +# You can find the `cloud.id` in the Elastic Cloud web UI. +#cloud.id: + +# The cloud.auth setting overwrites the `output.elasticsearch.username` and +# `output.elasticsearch.password` settings. The format is `:`. +#cloud.auth: + +#================================ Outputs ===================================== + +# Configure what output to use when sending the data collected by the beat. + +#-------------------------- Elasticsearch output ------------------------------ +output.elasticsearch: + # Array of hosts to connect to. + hosts: ["10.1.0.4:9200"] + username: "elastic" + password: "iliketoplaywithturtles" + + # Optional protocol and basic auth credentials. + #protocol: "https" + #username: "elastic" + #password: "changeme" + +#----------------------------- Logstash output -------------------------------- +#output.logstash: + # The Logstash hosts + #hosts: ["localhost:5044"] + + # Optional SSL. By default is off. + # List of root certificates for HTTPS server verifications + #ssl.certificate_authorities: ["/etc/pki/root/ca.pem"] + + # Certificate for SSL client authentication + #ssl.certificate: "/etc/pki/client/cert.pem" + + # Client Certificate Key + #ssl.key: "/etc/pki/client/cert.key" + +#================================ Processors ===================================== + +# Configure processors to enhance or manipulate events generated by the beat. + +processors: + - add_host_metadata: ~ + - add_cloud_metadata: ~ + +#================================ Logging ===================================== + +# Sets log level. The default log level is info. +# Available log levels are: error, warning, info, debug +#logging.level: debug + +# At debug level, you can selectively enable logging only for some components. +# To enable all selectors use ["*"]. Examples of other selectors are "beat", +# "publish", "service". +#logging.selectors: ["*"] + +#============================== X-Pack Monitoring =============================== +# metricbeat can export internal metrics to a central Elasticsearch monitoring +# cluster. This requires xpack monitoring to be enabled in Elasticsearch. The +# reporting is disabled by default. + +# Set to true to enable the monitoring reporter. +#monitoring.enabled: false + +# Sets the UUID of the Elasticsearch cluster under which monitoring data for this +# Metricbeat instance will appear in the Stack Monitoring UI. If output.elasticsearch +# is enabled, the UUID is derived from the Elasticsearch cluster referenced by output.elasticsearch. +#monitoring.cluster_uuid: + +# Uncomment to send the metrics to Elasticsearch. Most settings from the +# Elasticsearch output are accepted here as well. +# Note that the settings should point to your Elasticsearch *monitoring* cluster. +# Any setting that is not set is automatically inherited from the Elasticsearch +# output configuration, so if you have the Elasticsearch output configured such +# that it is pointing to your Elasticsearch monitoring cluster, you can simply +# uncomment the following line. +#monitoring.elasticsearch: + +#================================= Migration ================================== + +# This allows to enable 6.7 migration aliases +#migration.6_to_7.enabled: true diff --git a/Ansible/hosts b/Ansible/hosts new file mode 100644 index 0000000..1ebaf9a --- /dev/null +++ b/Ansible/hosts @@ -0,0 +1,46 @@ +# This is the default ansible 'hosts' file. +# +# It should live in /etc/ansible/hosts +# +# - Comments begin with the '#' character +# - Blank lines are ignored +# - Groups of hosts are delimited by [header] elements +# - You can enter hostnames or ip addresses +# - A hostname/ip can be a member of multiple groups + +# Ex 1: Ungrouped hosts, specify before any group headers. + +#green.example.com +#blue.example.com +#192.168.100.1 +#192.168.100.10 + +# Ex 2: A collection of hosts belonging to the 'webservers' group + +[webservers] +10.0.0.6 ansible_python_interpreter=/usr/bin/python3 +10.0.0.8 ansible_python_interpreter=/usr/bin/python3 +10.0.0.9 ansible_python_interpreter=/usr/bin/python3 + +[elk] +10.1.0.4 ansible_python_interpreter=/usr/bin/python3 + +# If you have multiple hosts following a pattern you can specify +# them like this: + +#www[001:006].example.com + +# Ex 3: A collection of database servers in the 'dbservers' group + +#[dbservers] +# +#db01.intranet.mydomain.net +#db02.intranet.mydomain.net +#10.25.1.56 +#10.25.1.57 + +# Here's another example of host ranges, this time there are no +# leading 0s: + +#db-[99:101]-node.example.com + diff --git a/Ansible/install-elk.yml b/Ansible/install-elk.yml new file mode 100644 index 0000000..33a90c4 --- /dev/null +++ b/Ansible/install-elk.yml @@ -0,0 +1,44 @@ +--- + - name: Install ELK + hosts: elk + become: true + tasks: + - name: Increase system memory available + ansible.posix.sysctl: + name: vm.max_map_count + value: '262144' + + - name: Update apt + apt: + update_cache: yes + + - name: Install docker + apt: + name: docker.io + state: present + + - name: Install python3-pip + apt: + name: python3-pip + state: present + + - name: Install docker for Python + pip: + name: docker + + - name: Install cyberxsecurity-dvwa + docker_container: + name: ELK-stack + image: sebp/elk:761 + state: started + restart_policy: always + published_ports: + - 5601:5601 + - 9200:9200 + - 5044:5044 + + - name: Enable docker service + systemd: + name: docker + enabled: yes + diff --git a/Ansible/webservers.yml b/Ansible/webservers.yml new file mode 100644 index 0000000..ca5a4df --- /dev/null +++ b/Ansible/webservers.yml @@ -0,0 +1,37 @@ +--- + - name: My first playbook + hosts: webservers + become: true + tasks: + + - name: Update apt + apt: + update_cache: yes + + - name: Install docker + apt: + name: docker.io + state: present + + - name: Install python3-pip + apt: + name: python3-pip + state: present + + - name: Install docker for Python + pip: + name: docker + + - name: Install cyberxsecurity-dvwa + docker_container: + name: dvwa + image: cyberxsecurity/dvwa + state: started + restart_policy: always + published_ports: 80:80 + + - name: Enable docker servicee + systemd: + name: docker + enabled: yes + diff --git a/Diagrams/ELKStack-Azure-Cloud.png b/Diagrams/ELKStack-Azure-Cloud.png new file mode 100644 index 0000000000000000000000000000000000000000..ef8bf7c32b162470c319896f9215bebcc32fe156 GIT binary patch literal 153081 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