Version information
This version is compatible with:
- Puppet Enterprise 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2016.4.x
- Puppet >= 4.10.0 < 7.0.0
- , , ,
Start using this module
Add this module to your Puppetfile:
mod 'seanhood-honeytail', '0.1.0'
Learn more about managing modules with a PuppetfileDocumentation
puppet-honeytail
This module installs and configures Honeycomb's honeytail
. honeytail is an open source agent for ingesting data into Honeycomb and making it available for exploration.
Table of Contents
- Description
- Usage - Configuration options and additional functionality
- Limitations - OS compatibility, etc.
Description
This module uses a feature of systemd to trivially run multiple instances of honeytail
with different configuration. This allows you to ingest application and web server logs residing on the same machine.
Usage
This example below shows the configuration required to collect logs from MySQL/MariaDB. Note: There is some configuration required inside of MySQL to get the most out of Honeycomb. Refer to the honeytail
docs for this information: https://docs.honeycomb.io/getting-data-in/integrations/databases/mysql/logs/
class {'honeytail':
direct_download => 'https://honeycomb.io/download/honeytail/linux/honeytail-1.762-1.x86_64.rpm'
}
honeytail::instance {'mysql':
config => {
'Required Options' => {
'ParserName' => 'mysql',
'WriteKey' => 'REDACTED',
'LogFiles' => '/var/lib/mysql/slow-query.log',
'Dataset' => 'mysql'
}
}
}
Reference
Table of Contents
Classes
Public Classes
honeytail
: This module installs, configures and manages Honeycomb.io's honeytail
Private Classes
honeytail::config
: This class handles the configuration.honeytail::package
: This class handles installing the honeytail packagehoneytail::service
: This class creates our systemd mess
Defined types
honeytail::instance
: Creates an instanciated instance of honeytail using the provided configuration
Classes
honeytail
This module installs, configures and manages Honeycomb.io's honeytail
Examples
class {'honeytail':
direct_download => 'https://honeycomb.io/download/honeytail/linux/honeytail-1.762-1.x86_64.rpm'
}
Parameters
The following parameters are available in the honeytail
class.
version
Data type: String
Default value: 'installed'
direct_download
Data type: Optional[String]
Default value: undef
Defined types
honeytail::instance
Creates an instanciated instance of honeytail using the provided configuration
Examples
honeytail::instance {'mysql':
config => {
'Required Options' => {
'ParserName' => 'mysql',
'WriteKey' => 'REDACTED',
'LogFiles' => '/var/lib/mysql/slow-query.log',
'Dataset' => 'mysql'
}
}
}
Parameters
The following parameters are available in the honeytail::instance
defined type.
config
Data type: Hash
The configuration to pass to honeytail. Honeytail uses ini format for it's configuration, please refer to examples, honeytail docs and puppetlabs-inifile module docs.
ensure
Data type: Enum['running', 'stopped']
Whether the instanciated honeytail service should be running. Default value: 'running'
Default value: running
enable
Data type: Boolean
Whether to enable the instanciated honeytail service at boot. Default value: true.
Default value: true
Changelog
All notable changes to this project will be documented in this file.
Release v0.1.0
First release of puppet-honeytail :partying_face:
Features
-
Implements core features:
- Installs Honeytail
- Sets up Systemd service
- Can create multiple honeytail instances with the
honeytail::instance
resource
-
Unit and Acceptance Tests
Bugfixes
- (prerelease) puppetlabs/inifile was replaced with hash2stuff as inifile doesn't support purging resources #8
Known Issues
- Module has only been tested on CentOS 7
- Currently no support for CentOS 6
Dependencies
- camptocamp/systemd (>= 1.0.0 < 2.8.0)
- puppet/archive (>= 1.3.0 < 5.0.0)
- mmckinst/hash2stuff (>= 1.0.0 < 2.0.0)