Version information
This version is compatible with:
- Puppet Enterprise 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x
- Puppet >= 6.21.0 < 8.0.0
- ,
Start using this module
Add this module to your Puppetfile:
mod 'capsi-beats', '0.1.1'
Learn more about managing modules with a PuppetfileDocumentation
beats
This Puppet module allow the management of Elastic Beats. It's aimed to be simple and allow fine grained configuration with Hiera and come with minimal default configuration.
Table of Contents
- Description
- Roadmap
- Setup
- Usage
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
Description
Actually, this module can only manage Filebeat and Metricbeat on Debian based OS.
Roadmap
- Implement Packetbeat
- Implement Auditbeat
- Deploy on Windows Hosts
- Implement Winlogbeat
- Test the usage of the repository (some issues where identified in the past with the update)
Setup
What beats affects
Install Beats, manage it's configuration and service restart.
Beginning with beats
Usage
Coming soon
Limitations
Agent compatibility: Filebeat, Metricbeat
Os compatibility: Debian.
Development
Any contribution to this module are welcome.
Documentation
Reference
Table of Contents
Classes
Public Classes
beats::config::filebeat
: Configuration of filebeatbeats::config::metricbeat
: Configuration of filebeatbeats::filebeat
: Install and manage filebeat service and configuration filebeats::install::debian::remove_repo
: Remove the elastic repositorybeats::metricbeat
: Install and manage metricbeat service and configuration filebeats::modules::filebeat::apache
: Configuration of apache filebeat modulebeats::modules::filebeat::auditd
: Configuration of audits filebeat modulebeats::modules::filebeat::elasticsearch
: Configuration of elasticsearch filebeat modulebeats::modules::filebeat::haproxy
: Configuration of haproxy eilebeat modulebeats::modules::filebeat::iptables
: Configuration of iptables filebeat modulebeats::modules::filebeat::kibana
: Configuration of kibana filebeat modulebeats::modules::filebeat::mysql
: Configuration of mysql filebeat modulebeats::modules::filebeat::nginx
: Configuration of nginx filebeat modulebeats::modules::filebeat::postgresql
: Configuration of postgresql filebeat modulebeats::modules::filebeat::system
: Configuration of system filebeat modulebeats::modules::metricbeat::apache
: Configuration of apache metricbeat modulebeats::modules::metricbeat::beat
: Configuration of beat metricbeat modulebeats::modules::metricbeat::docker
: Configuration of docker metricbeat modulebeats::modules::metricbeat::elasticsearch
: Configuration of elasticsearch metricbeat modulebeats::modules::metricbeat::kibana
: Configuration of kibana metricbeat modulebeats::modules::metricbeat::linux
: Configuration of linux metricbeat modulebeats::modules::metricbeat::mongodb
: Configuration of mongodb metricbeat modulebeats::modules::metricbeat::mysql
: Configuration of mysql metricbeat modulebeats::modules::metricbeat::nginx
: Configuration of nginx metricbeat modulebeats::modules::metricbeat::system
: Configuration of system metricbeat module
Private Classes
beats::install::debian::filebeat
: Install and manage filebeat service and configuration file on Debianbeats::install::debian::metricbeat
: Install and manage metricbeat service and configuration file on Debian
Functions
beats::get_checksum
: Retrieves beat SHA-512 Hash from a cache file, or get it from artifacts.elastic.co
Classes
beats::config::filebeat
Configuration of filebeat
Parameters
The following parameters are available in the beats::config::filebeat
class:
enable_input_log
enable_input_filestream
paths_input_log
paths_input_filestream
output_elasticsearch
output_logstash
processors
override_input_log
override_input_filestream
override_config_setup
override
enable_input_log
Data type: Boolean
enable_input_filestream
Data type: Boolean
paths_input_log
Data type: Array[String]
paths_input_filestream
Data type: Array[String]
output_elasticsearch
Data type: Optional[Hash[String, Any]]
output_logstash
Data type: Optional[Hash[String, Any]]
processors
Data type: Array[Hash[String, Any]]
override_input_log
Data type: Hash[String, Any]
Default value: {}
override_input_filestream
Data type: Hash[String, Any]
Default value: {}
override_config_setup
Data type: Hash[String, Any]
Default value: {}
override
Data type: Hash[String, Any]
Default value: {}
beats::config::metricbeat
Configuration of filebeat
Parameters
The following parameters are available in the beats::config::metricbeat
class:
output_elasticsearch
Data type: Optional[Hash[String, Any]]
output_logstash
Data type: Optional[Hash[String, Any]]
processors
Data type: Array[Hash[String, Any]]
override_config_setup
Data type: Hash[String, Any]
Default value: {}
override
Data type: Hash[String, Any]
Default value: {}
beats::filebeat
Install and manage filebeat service and configuration file
Examples
class { beats::filebeat:
version => '7.17',
}
Parameters
The following parameters are available in the beats::filebeat
class:
version
Data type: String
The version of the beat to install
checksum
Data type: String
The SHA-512 checksum of the Debian package or "auto"
Default value: 'auto'
arch
Data type: String
The architecture of the beat to download
Default value: $facts['os']['architecture']
service_ensure
Data type: String
Default value: 'running'
service_atboot
Data type: Boolean
Default value: true
beats::install::debian::remove_repo
Remove the elastic repository
Examples
include beats::install::debian::remove_repo
Parameters
The following parameters are available in the beats::install::debian::remove_repo
class:
remove_repository
Data type: Boolean
Set to true to remove the elastic repository from the system This allow the installation of the .deb without using a repository
Default value: true
repository
Data type: String
Name of the repository in /etc/apt/sources.list.d
Default value: 'elastic'
beats::metricbeat
Install and manage metricbeat service and configuration file
Examples
class { beats::metricbeat:
version => '7.17',
}
Parameters
The following parameters are available in the beats::metricbeat
class:
version
Data type: String
The version of the beat to install
checksum
Data type: String
The SHA-512 checksum of the Debian package or "auto"
Default value: 'auto'
arch
Data type: String
The architecture of the beat to download
Default value: $architecture
service_ensure
Data type: String
Default value: 'running'
service_atboot
Data type: Boolean
Default value: true
beats::modules::filebeat::apache
Configuration of apache filebeat module
Parameters
The following parameters are available in the beats::modules::filebeat::apache
class:
enable
Data type: Boolean
enable_access
Data type: Boolean
enable_error
Data type: Boolean
override
Data type: Hash[String, Any]
Default value: {}
beats::modules::filebeat::auditd
Configuration of audits filebeat module
Parameters
The following parameters are available in the beats::modules::filebeat::auditd
class:
enable
Data type: Boolean
override
Data type: Hash[String, Any]
Default value: {}
beats::modules::filebeat::elasticsearch
Configuration of elasticsearch filebeat module
Parameters
The following parameters are available in the beats::modules::filebeat::elasticsearch
class:
enable
Data type: Boolean
enable_server
Data type: Boolean
enable_gc
Data type: Boolean
enable_audit
Data type: Boolean
enable_slowlog
Data type: Boolean
enable_deprecation
Data type: Boolean
override
Data type: Hash[String, Any]
Default value: {}
beats::modules::filebeat::haproxy
Configuration of haproxy eilebeat module
Parameters
The following parameters are available in the beats::modules::filebeat::haproxy
class:
enable
Data type: Boolean
override
Data type: Hash[String, Any]
Default value: {}
beats::modules::filebeat::iptables
Configuration of iptables filebeat module
Parameters
The following parameters are available in the beats::modules::filebeat::iptables
class:
enable
Data type: Boolean
override
Data type: Hash[String, Any]
Default value: {}
beats::modules::filebeat::kibana
Configuration of kibana filebeat module
Parameters
The following parameters are available in the beats::modules::filebeat::kibana
class:
enable
Data type: Boolean
enable_log
Data type: Boolean
enable_audit
Data type: Boolean
override
Data type: Hash[String, Any]
Default value: {}
beats::modules::filebeat::mysql
Configuration of mysql filebeat module
Parameters
The following parameters are available in the beats::modules::filebeat::mysql
class:
enable
Data type: Boolean
enable_error
Data type: Boolean
enable_slowlog
Data type: Boolean
override
Data type: Hash[String, Any]
Default value: {}
beats::modules::filebeat::nginx
Configuration of nginx filebeat module
Parameters
The following parameters are available in the beats::modules::filebeat::nginx
class:
enable
Data type: Boolean
enable_access
Data type: Boolean
enable_error
Data type: Boolean
enable_ingress_controller
Data type: Boolean
override
Data type: Hash[String, Any]
Default value: {}
beats::modules::filebeat::postgresql
Configuration of postgresql filebeat module
Parameters
The following parameters are available in the beats::modules::filebeat::postgresql
class:
enable
Data type: Boolean
override
Data type: Hash[String, Any]
Default value: {}
beats::modules::filebeat::system
Configuration of system filebeat module
Parameters
The following parameters are available in the beats::modules::filebeat::system
class:
enable
Data type: Boolean
enable_syslog
Data type: Boolean
enable_auth
Data type: Boolean
override
Data type: Hash[String, Any]
Default value: {}
beats::modules::metricbeat::apache
Configuration of apache metricbeat module
Parameters
The following parameters are available in the beats::modules::metricbeat::apache
class:
enable
Data type: Boolean
hosts
Data type: Array[String]
override
Data type: Hash[String, Any]
Default value: {}
beats::modules::metricbeat::beat
Configuration of beat metricbeat module
Parameters
The following parameters are available in the beats::modules::metricbeat::beat
class:
enable
Data type: Boolean
hosts
Data type: Array[String]
override
Data type: Hash[String, Any]
Default value: {}
beats::modules::metricbeat::docker
Configuration of docker metricbeat module
Parameters
The following parameters are available in the beats::modules::metricbeat::docker
class:
enable
Data type: Boolean
hosts
Data type: Array[String]
override
Data type: Hash[String, Any]
Default value: {}
beats::modules::metricbeat::elasticsearch
Configuration of elasticsearch metricbeat module
Parameters
The following parameters are available in the beats::modules::metricbeat::elasticsearch
class:
enable
Data type: Boolean
hosts
Data type: Array[String]
override
Data type: Hash[String, Any]
Default value: {}
beats::modules::metricbeat::kibana
Configuration of kibana metricbeat module
Parameters
The following parameters are available in the beats::modules::metricbeat::kibana
class:
enable
Data type: Boolean
hosts
Data type: Array[String]
override
Data type: Hash[String, Any]
Default value: {}
beats::modules::metricbeat::linux
Configuration of linux metricbeat module
Parameters
The following parameters are available in the beats::modules::metricbeat::linux
class:
enable
Data type: Boolean
metrics
Data type: Array[String]
override
Data type: Hash[String, Any]
Default value: {}
beats::modules::metricbeat::mongodb
Configuration of mongodb metricbeat module
Parameters
The following parameters are available in the beats::modules::metricbeat::mongodb
class:
enable
Data type: Boolean
hosts
Data type: Array[String]
override
Data type: Hash[String, Any]
Default value: {}
beats::modules::metricbeat::mysql
Configuration of mysql metricbeat module
Parameters
The following parameters are available in the beats::modules::metricbeat::mysql
class:
enable
Data type: Boolean
hosts
Data type: Array[String]
override
Data type: Hash[String, Any]
Default value: {}
beats::modules::metricbeat::nginx
Configuration of nginx metricbeat module
Parameters
The following parameters are available in the beats::modules::metricbeat::nginx
class:
enable
Data type: Boolean
hosts
Data type: Array[String]
status_path
Data type: String
override
Data type: Hash[String, Any]
Default value: {}
beats::modules::metricbeat::system
Configuration of system metricbeat module
Parameters
The following parameters are available in the beats::modules::metricbeat::system
class:
enable
Data type: Boolean
metrics_base
Data type: Array[String]
override_base
Data type: Hash[String, Any]
Default value: {}
override_fs
Data type: Hash[String, Any]
Default value: {}
override_uptime
Data type: Hash[String, Any]
Default value: {}
Functions
beats::get_checksum
Type: Ruby 4.x API
Retrieves beat SHA-512 Hash from a cache file, or get it from artifacts.elastic.co
Examples
$checksum = get_checksum($url)
beats::get_checksum(String $url, String $beat, String $version)
The beats::get_checksum function.
Returns: String
Examples
$checksum = get_checksum($url)
url
Data type: String
beat
Data type: String
version
Data type: String
Dependencies
- puppetlabs-apt (>= 4.5.1 < 9.0.0)
- puppetlabs-stdlib (>= 1.0.0 < 9.0.0)