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, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x
- Puppet >= 6.1.0 < 8.0.0
- Gentoo , , , , , , ,
Tasks:
- getval
- listval
Start using this module
Add this module to your Puppetfile:
mod 'puppet-collectd', '14.0.0'
Learn more about managing modules with a PuppetfileDocumentation
Collectd module for Puppet
Description
Puppet module for configuring collectd and plugins.
Usage
The simplest use case is to use all of the configurations in
the default collectd.conf
file shipped with collectd. This can
be done by simply including the class:
include ::collectd
Collectd is most useful when configured with customized plugins.
This is accomplished by removing the default collectd.conf
file
and replacing it with a file that includes all alternative
configurations. Configure a node with the following class
declaration:
class { '::collectd':
purge => true,
recurse => true,
purge_config => true,
minimum_version => '5.4',
}
Set purge
, recurse
, and purge_config
to true
in order to override
the default configurations shipped in collectd.conf
and use
custom configurations stored in conf.d
. From here you can set up
additional plugins as shown below.
Specifying the version
or minimum_version
of collectd as shown above reduces
the need for two puppet runs to converge. See
Puppet needs two runs to correctly write my conf, why?
below.
Hiera example in YAML of passing install_options
to the package resource for
managing the collectd package. This parameter must be an array.
collectd::package_install_options:
- '--nogpgcheck'
Simple Plugins
Example of how to load plugins with no additional configuration:
collectd::plugin { 'battery': }
Where battery
is the name of the plugin.
Note: this should only be done in the case of a class for the plugin not existing in this module.
Repo management
The module will enable a repo by default.
On CentOS that will be EPEL:
On Ubuntu that'll be the CollectD PPA:
Public key keyserver
In case you need to change the server where to download the public key from for
whatever reason (AKA: server is down) you can use the parameter
$package_keyserver
CI Packages
Recently, Collectd CI packages are also avaliable from the CI repo
More information is avaliable here:
You can choose the CI repo with the $ci_package_repo
parameter.
$ci_package_repo
has to match '5.4', '5.5', '5.6', '5.7' or 'master' (RC for next release) as
these are the current branches being built in the Collectd CI.
Configurable Plugins
Parameters will vary widely between plugins. See the collectd documentation for each plugin for configurable attributes.
aggregation
(see collectd::plugin::aggregation below)amqp
(see collectd::plugin::amqp below)apache
(see collectd::plugin::apache below)battery
(see collectd::plugin::battery below)bind
(see collectd::plugin::bind below)ceph
(see collectd::plugin::ceph below)cgroups
(see collectd::plugin::cgroups below)chain
(see collectd::plugin::chain below)conntrack
(see collectd::plugin::conntrack below)cpu
(see collectd::plugin::cpu below)cpufreq
(see collectd::plugin::cpufreq below)csv
(see collectd::plugin::csv below)cuda
(see collectd::plugin::cuda below)curl
(see collectd::plugin::curl below)curl_json
(see collectd::plugin::curl_json below)dbi
(see collectd::plugin::dbi below)df
(see collectd::plugin::df below)disk
(see collectd::plugin::disk below)dns
(see collectd::plugin::dns below)dcpmm
(see collectd::plugin::dcpmm below)dpdk_telemetry
(see collectd::plugin::dpdk_telemetry below)entropy
(see collectd::plugin::entropy below)exec
(see collectd::plugin::exec below)ethstat
(see collectd::plugin::ethstat below)fhcount
(see collectd::plugin::fhcount below)filecount
(see collectd::plugin::filecount below)filter
(see collectd::plugin::filter below)genericjmx
(see collectd::plugin::genericjmx below)hddtemp
(see collectd::plugin::hddtemp below)hugepages
(see collectd::plugin::hugepages below)intel_pmu
(see collectd::plugin::intel_pmu below)intel_rdt
(see collectd::plugin::intel_rdt below)interface
(see collectd::plugin::interface below)ipc
(see collectd::plugin::ipc below)ipmi
(see collectd::plugin::ipmi below)iptables
(see collectd::plugin::iptables below)iscdhcp
(see collectd::plugin::iscdhcp below)irq
(see collectd::plugin::irq below)java
(see collectd::plugin::java below)load
(see collectd::plugin::load below)logfile
(see collectd::plugin::logfile below)virt
(see collectd::plugin::virt below)lvm
(see collectd::plugin::lvm below)mcelog
(see collectd::plugin::mcelog below)memcached
(see collectd::plugin::memcached below )memory
(see collectd::plugin::memory below )mongodb
(see collectd::plugin::mongodb below )mysql
(see collectd::plugin::mysql below)netlink
(see collectd::plugin::netlink below)network
(see collectd::plugin::network below)nfs
(see collectd::plugin::nfs below)nginx
(see collectd::plugin::nginx below)ntpd
(see collectd::plugin::ntpd below)numa
(see collectd::plugin::numa below)nut
(see collectd::plugin::nut below)openldap
(see collectd::plugin::openldap below)openvpn
(see collectd::plugin::openvpn below)pcie_errors
(see collectd::plugin::pcie_errors below)perl
(see collectd::plugin::perl below)ping
(see collectd::plugin::ping below)postgresql
(see collectd::plugin::postgresql below)processes
(see collectd::plugin:processes below)protocols
(see collectd::plugin:protocols below)python
(see collectd::plugin::python below)redis
(see collectd::plugin::redis below)rabbitmq
(see collectd-rabbitmq and below for implementation notesrrdcached
(see collectd::plugin::rrdcached below)rrdtool
(see collectd::plugin::rrdtool below)sensors
(see collectd::plugin::sensors below)smart
(see collectd::plugin::smart below)snmp
(see collectd::plugin::snmp below)snmp_agent
(see collectd::plugin::snmp_agent below)statsd
(see collectd::plugin::statsd below)swap
(see collectd::plugin::swap below)syslog
(see collectd::plugin::syslog below)tail
(see collectd::plugin::tail below)target_v5upgrade
(see collectd::plugin::target_v5upgrade below)tcpconns
(see collectd::plugin::tcpconns below)thermal
(see collectd::plugin::thermal below)threshold
(see collect::plugin::threshold below)unixsock
(see collectd::plugin::unixsock below)uptime
(see collectd::plugin::uptime below)users
(see collectd::plugin::users below)uuid
(see collectd::plugin::uuid below)varnish
(see collectd::plugin::varnish below)vmem
(see collectd::plugin::vmem below)write_graphite
(see collectd::plugin::write_graphite below)write_http
(see collectd::plugin::write_http below)write_kafka
(see collectd::plugin::write_kafka below)write_log
(see collectd::plugin::write_log below)write_prometheus
(see collectd::plugin::write_prometheus below)write_network
(see collectd::plugin::write_network below)write_riemann
(see collectd::plugin::write_riemann below)write_sensu
(see collectd::plugin::write_sensu below)write_tsdb
(see collectd::plugin::write_tsdb below)zfs_arc
(see collectd::plugin::zfs_arc below)zookeeper
(see collectd::plugin::zookeeper below)
Class: collectd::plugin::aggregation
collectd::plugin::aggregation::aggregator { 'cpu':
plugin => 'cpu',
agg_type => 'cpu',
groupby => ['Host', 'TypeInstance',],
calculateaverage => true,
}
You can as well configure this plugin with a parameterized class :
class { 'collectd::plugin::aggregation':
aggregators => {
'cpu' => {
plugin => 'cpu',
agg_type => 'cpu',
groupby => ["Host", "TypeInstance",],
calculateaverage => true,
},
},
}
Class: collectd::plugin::amqp
class { 'collectd::plugin::amqp':
amqphost => '127.0.0.1',
amqpvhost => 'myvirtualhost',
graphiteprefix => 'collectdmetrics',
amqppersistent => true,
}
Class: collectd::plugin::apache
class { 'collectd::plugin::apache':
instances => {
'apache80' => {
'url' => 'http://localhost/mod_status?auto',
'user' => 'collectd',
'password' => 'hoh2Coo6'
},
'lighttpd8080' => {
'url' => 'http://localhost:8080/mod_status?auto'
}
},
}
Class: collectd::plugin::battery
class { 'collectd::plugin::battery':
interval => 30,
values_percentage => true,
report_degraded => true,
query_state_fs => true,
}
Class: collectd::plugin::bind
class { 'collectd::plugin::bind':
url => 'http://localhost:8053/',
}
Class: collectd::plugin::ceph
class { 'collectd::plugin::ceph':
daemons => [
'[clustername]-osd.0',
'[clustername]-osd.1',
'[clustername]-osd.2',
'[clustername]-mon.[hostname].asok'
],
manage_package => true
}
Class: collectd::plugin::cgroups
See collectd plugin_cgroups documentation for more details.
class { 'collectd::plugin::cgroups':
ignore_selected => true,
cgroups => ['array', 'of', 'paths']
}
Class: collectd::plugin::chain
class { 'collectd::plugin::chain':
chainname => "PostCache",
defaulttarget => "write",
rules => [
{
'match' => {
'type' => 'regex',
'matches' => {
'Plugin' => "^cpu$",
'PluginInstance' => "^[0-9]+$",
},
},
'targets' => [
{
'type' => "write",
'attributes' => {
"Plugin" => "aggregation",
},
},
{
'type' => "stop",
},
],
},
],
}
Class: collectd::plugin::conntrack
class { 'collectd::plugin::conntrack':
}
Class: collectd::plugin::cpu
-
reportbystate
available from collectd version >= 5.5 -
reportbycpu
available from collectd version >= 5.5 -
valuespercentage
available from collectd version >= 5.5 -
reportnumcpu
available from collectd version >= 5.6See collectd plugin_cpu documentation for more details.
class { 'collectd::plugin::cpu':
reportbystate => true,
reportbycpu => true,
valuespercentage => true,
}
Class: collectd::plugin::cpufreq
class { 'collectd::plugin::cpufreq':
}
Class: collectd::plugin::csv
class { 'collectd::plugin::csv':
datadir => '/etc/collectd/var/lib/collectd/csv',
storerates => false,
}
Class: collectd::plugin::cuda
class { 'collectd::plugin::cuda':
}
Class: collectd::plugin::curl
collectd::plugin::curl::page {
'stock_quotes':
url => 'http://finance.google.com/finance?q=NYSE%3AAMD',
user => 'foo',
password => 'bar',
matches => [
{
'dstype' => 'GaugeAverage',
'instance' => 'AMD',
'regex' => ']*> *([0-9]*\\.[0-9]+) *',
'type' => 'stock_value',
}],
}
You can as well configure this plugin with a parameterized class :
class { 'collectd::plugin::curl':
pages => {
'stock_GM' => {
url => 'http://finance.google.com/finance?q=NYSE%3AGM',
user => 'foo',
password => 'bar',
matches => [
{
'dstype' => 'GaugeAverage',
'instance' => 'AMD',
'regex' => ']*> *([0-9]*\\.[0-9]+) *',
'type' => 'stock_value',
},
],
},
},
}
Class: collectd::plugin::curl_json
collectd::plugin::curl_json {
'rabbitmq_overview':
url => 'http://localhost:55672/api/overview',
host => 'rabbitmq.example.net',
instance => 'rabbitmq_overview',
interval => '300',
user => 'user',
password => 'password',
digest => 'false',
verifypeer => 'false',
verifyhost => 'false',
cacert => '/path/to/ca.crt',
header => 'Accept: application/json',
post => '{secret: \"mysecret\"}',
timeout => '1000',
keys => {
'message_stats/publish' => {
'type' => 'gauge',
'instance' => 'overview',
},
}
}
Class: collectd::plugin::dbi
collectd::plugin::dbi::database{'monitoring_node1':
driver => 'mysql',
driveroption => {
'host' => 'hostname',
'username' => 'user',
'password' => 'password',
'dbname' => 'monitoring'
},
query => ['log_delay'],
}
collectd::plugin::dbi::query{'log_delay':
statement => 'SELECT * FROM log_delay_repli;',
results => [{
type => 'gauge',
instanceprefix => 'log_delay',
instancesfrom => 'inet_server_port',
valuesfrom => 'log_delay',
}],
}
You can as well configure this plugin as a parameterized class :
class { 'collectd::plugin::dbi':
package => 'libdbd-mysql',
databases => {
'monitoring_node1' => {
driver => 'mysql',
driveroption => {
'host' => 'hostname',
'username' => 'user',
'password' => 'password',
'dbname' => 'monitoring'
},
query => ['log_delay'],
}
},
}
Class: collectd::plugin::df
class { 'collectd::plugin::df':
devices => ['proc','sysfs'],
mountpoints => ['/u'],
fstypes => ['nfs','tmpfs','autofs','gpfs','proc','devpts'],
ignoreselected => true,
}
Class: collectd::plugin::disk
class { 'collectd::plugin::disk':
disks => ['/^dm/'],
ignoreselected => true,
udevnameattr => 'DM_NAME',
}
Class: collectd::plugin::dns
class { 'collectd::plugin::dns':
}
Parameters
See collectd documentation.
ensure
Optional. String that must be 'present' or 'absent'.
- Default: 'present'
ignoresource
Optional. String of IP address to ignore.
- Default: undef
interface
String of interface to use. May be interface identifier such as 'eth0' or 'any'.
- Default: 'any'
interval
Numeric for interval in seconds. Changing this can be a disaster. Consult the documentation.
- Default: undef
manage_package
Boolean to determine if system package for collectd's dns plugin should be managed. If set to true, you must specify the package name for any unsupported OS.
- Default: false
package_name
String for name of package. A value of 'USE_DEFAULTS' will set the value based on the platform. This is necessary when setting manage_package on an unsupported platform.
- Default: 'USE_DEFAULTS'
selectnumericquerytypes
Boolean for SelectNumericQueryTypes configuration option.
- Default: true
Class: collectd::plugin::dpdk_telemetry
class { 'collectd::plugin::dpdk_telemetry':
client_socket_path => '/var/run/.client',
dpdk_socket_path => '/var/run/dpdk/rte/telemetry',
}
Class: collectd::plugin::dcpmm
class { 'collectd::plugin::dcpmm':
interval => 10.0,
collect_health => false,
collect_perf_metrics => true,
enable_dispatch_all => false,
}
Class: collectd::plugin::entropy
class { 'collectd::plugin::entropy':
}
Class: collectd::plugin::exec
collectd::plugin::exec::cmd {
'dummy':
user => nobody,
group => nogroup,
exec => ["/bin/echo", "PUTVAL myhost/foo/gauge-flat N:1"],
}
You can also configure this plugin with a parameterized class:
class { 'collectd::plugin::exec':
commands => {
'dummy1' => {
user => nobody,
group => nogroup,
exec => ["/bin/echo", "PUTVAL myhost/foo/gauge-flat1 N:1"],
},
'dummy2' => {
user => nobody,
group => nogroup,
exec => ["/bin/echo", "PUTVAL myhost/foo/gauge-flat2 N:1"],
},
}
}
Class: collectd::plugin::ethstat
class { 'collectd::plugin::ethstat':
interfaces => [ 'eth0', 'eth1'],
maps => [
'"rx_csum_offload_errors" "if_rx_errors" "checksum_offload"', '"multicast" "if_multicast"'
],
mappedonly => false,
}
Class: collectd::plugin::fhcount
class { 'collectd::plugin::fhcount':
valuesabsolute => true,
valuespercentage => false,
}
Class: collectd::plugin::fscache
class { 'collectd::plugin::fscache':
}
Class: collectd::plugin::filecount
collectd::plugin::filecount::directory {'foodir':
path => '/path/to/dir',
pattern => '*.conf',
mtime => '-5m',
recursive => true,
includehidden => false
}
You can also configure this plugin with a parameterized class:
class { 'collectd::plugin::filecount':
directories => {
'foodir' => {
'path' => '/path/to/dir',
'pattern' => '*.conf',
'mtime' => '-5m',
'recursive' => true,
'includehidden' => false
},
},
}
For backwards compatibility:
class { 'collectd::plugin::filecount':
directories => {
'active' => '/var/spool/postfix/active',
'incoming' => '/var/spool/postfix/incoming'
},
}
Class: collectd::plugin::filter
The filter plugin implements the powerful filter configuration of collectd. For further details have a look on the collectd manpage.
Parameters
ensure
("ensure"
,"absent"
): Ob absent it will remove all references of the filter plugins.Note
: The Chain config needs to be purged by the chain define.precachechain
(String): The Name of the default Pre Chain.postcachechain
(String): The Name of the default Post Chain.
Examples
Overwrite default chains
class { 'collectd::plugin::filter':
ensure => 'present',
precachechain => 'PreChain',
postcachechain => 'PostChain',
}
Full Example
This Example will rename the hostname of the mysql plugin.
include collectd::plugin::filter
# define default chains with default target
collectd::plugin::filter::chain { 'PreChain':
target => 'return'
}
collectd::plugin::filter::chain { 'PostChain':
target => 'write'
}
# create a third chain,
$chainname = 'MyAweseomeChain'
collectd::plugin::filter::chain { $chainname:
ensure => present,
target => 'return'
}
# add a new rule to chain
$rulename = 'MyAweseomeRule'
collectd::plugin::filter::rule { $rulename:
chain => $chainname,
}
# add a new match rule, match metrics of the mysql plugin
collectd::plugin::filter::match { "Match mysql plugin":
chain => $chainname,
rule => $rulename,
plugin => 'regex',
options => {
'Plugin' => '^mysql',
}
}
#rewrite hostname
collectd::plugin::filter::target{ "overwrite hostname":
chain => $chainname,
rule => $rulename,
plugin => 'set',
options => {
'Host' => 'hostname.domain',
},
}
# hook the configured chain in the prechain
collectd::plugin::filter::target{ "1_prechain_jump_${chainname}":
chain => 'PreChain',
plugin => 'jump',
options => {
'Chain' => $chainname,
},
}
Define: collectd::plugin::filter::chain
This define will create a new chain, which is required by targets, matches and rules.
Parameters
ensure
("ensure"
,"absent"
): When set to absent it will remove the chain with all assigned rules, targets and matches.target
('notification','replace','set','return','stop','write','jump'
): Optional. Set default target if no target has been applied. Strongly recommend for default chains.target_options
(Hash): If target is specified, pass optional hash to define.
Example
see collectd::plugin::filter above
Define: collectd::plugin::filter::rule
This define will add a new rule to a specific chain
Parameters
chain
(String): Assign to this chain.
Example
see collectd::plugin::filter above
Define: collectd::plugin::filter::target
This define will add a target to a chain or rule.
Parameters
chain
(String): Assign to this chain.plugin
('notification','replace','set','return','stop','write','jump'
): The plugin of the target.options
(Hash): Optional parameters of the target plugin.rule
(String): Optional. Assign to this rule. If not present, target will be applied at the end of chain without rule matching.
Example
see collectd::plugin::filter above
Define: collectd::plugin::filter::match
This define will add a match rule.
Parameters
chain
(String): Assign to this chain.rule
(String): Assign to this rule.plugin
('regex','timediff','value','empty_counter','hashed'
): The plugin of the match.options
(Hash): Optional parameters of the match plugin.
Example
see collectd::plugin::filter above
Class: collectd::plugin::genericjmx
include collectd::plugin::genericjmx
collectd::plugin::genericjmx::mbean {
'garbage_collector':
object_name => 'java.lang:type=GarbageCollector,*',
instance_prefix => 'gc-',
instance_from => ['name'],
values => [
{
mbean_type => 'invocations',
table => false,
attribute => 'CollectionCount',
},
{
mbean_type => 'total_time_in_ms',
instance_prefix => 'collection_time',
table => false,
attribute => 'CollectionTime',
},
];
}
collectd::plugin::genericjmx::connection {
'java_app':
host => $fqdn,
service_url => 'service:jmx:rmi:///jndi/rmi://localhost:3637/jmxrmi',
collect => [ 'memory-heap', 'memory-nonheap','garbage_collector' ],
}
Class: collectd::plugin::hddtemp
class { 'collectd::plugin::hddtemp':
host => '127.0.0.1',
port => 7634,
}
Class: collectd::plugin::hugepages
class { 'collectd::plugin::hugepages':
report_per_node_hp => true,
report_root_hp => true,
values_pages => true,
values_bytes => false,
values_percentage => false
}
Class: collectd::plugin::intel_pmu
class { 'collectd::plugin::intel_pmu':
report_hardware_cache_events => true,
report_kernel_pmu_events => true,
report_software_events => true,
}
Class: collectd::plugin::mcelog
class { 'collectd::plugin::mcelog':
mceloglogfile => '/var/log/mcelog'
memory => true
mcelogclientsocket => '/var/run/mcelog-client'
persistentnotification => true
}
Class: collectd::plugin::intel_rdt
class { 'collectd::plugin::intel_rdt':
cores => ['0-2' '3,4,6' '8-10,15']
}
Class: collectd::plugin::interface
class { 'collectd::plugin::interface':
interfaces => ['lo'],
ignoreselected => true
}
Class: collectd::plugin::irq
class { 'collectd::plugin::irq':
irqs => ['7', '23'],
ignoreselected => true,
}
Class: collectd::plugin::ipc
class { 'collectd::plugin::ipc':
}
Class: collectd::plugin::ipmi
class { 'collectd::plugin::ipmi':
ignore_selected => true,
sensors => ['temperature'],
notify_sensor_add => true,
notify_sensor_remove => true,
notify_sensor_not_present => true,
}
Class: collectd::plugin::iptables
class { 'collectd::plugin::iptables':
chains => {
'nat' => 'In_SSH',
'filter' => 'HTTP',
},
chains6 => {
'filter' => 'HTTP6',
},
}
Class: collectd::plugin::iscdhcp
class { 'collectd::plugin::iscdhcp': }
Class: collectd::plugin::java
jvmarg options must be declared if declaring loadplugin, as the JVM must be initialized prior to loading collectd java plugins.
class { 'collectd::plugin::java':
jvmarg => ['arg1', 'arg2'],
loadplugin => {"plugin.name" => ["option line 1", "option line 2"]}
}
Class: collectd::plugin::load
class { 'collectd::plugin::load':
}
Class: collectd::plugin::logfile
class { 'collectd::plugin::logfile':
log_level => 'warning',
log_file => '/var/log/collected.log'
}
Class: collectd::plugin::virt
The interface_format parameter was introduced in collectd 5.0 and will therefore be ignored (with a warning) when specified with older versions.
class { 'collectd::plugin::virt':
connection => 'qemu:///system',
interface_format => 'address'
}
Class: collectd::plugin::lvm
class { 'collectd::plugin::lvm': }
Class: collectd::plugin::memcached
The plugin supports multiple instances specified via host+port and socket:
class { 'collectd::plugin::memcached':
instances => {
'sessions1' => {
'host' => '192.168.122.1',
'port' => '11211',
},
'storage1' => {
'host' => '192.168.122.1',
'port' => '11212',
},
'sessions2' => {
'socket' => '/var/run/memcached.sessions.sock',
},
'storage2' => {
'socket' => '/var/run/memcached.storage.sock',
},
}
}
Class: collectd::plugin::memory
class { 'collectd::plugin::memory':
}
Class: collectd::plugin::mysql
collectd::plugin::mysql::database { 'betadase':
host => 'localhost',
username => 'stahmna',
password => 'secret',
port => '3306',
masterstats => true,
wsrepstats => true,
}
Class: collectd::plugin::mongodb
class { 'collectd::plugin::mongodb':
db_user => 'admin',
db_pass => 'adminpass',
}
Parameters
ensure
(String): String that must be 'present' or 'absent'. Default: 'present'interval
(String): Number of seconds that collectd pauses between data collection. Default: undefdb_host
(String): String that holds the IP of the MongoDB server. Default: '127.0.0.1'db_user
(String): Required. String that specifies the user name of an account that can log into MongoDBdb_user
(String): Required. String that specifies the password of an account that can log into MongoDBconfigured_dbs
(String): Optional. Array of Strings that lists the databases that should be monitored in addition to the "admin"db_port
(String): Required if the configured_dbs parameter is set. Unused otherwise. Integer that specifies with port MongoDB listens on.
class { 'collectd::plugin::mongodb':
db_host => '127.0.0.1',
db_user => 'foo',
db_pass => 'bar',
db_port => '27017',
configured_dbs => ['database', 'names'],
collectd_dir => '/collectd/module/path',
}
Class: collectd::plugin::netlink
class { 'collectd::plugin::netlink':
interfaces => ['eth0', 'eth1'],
verboseinterfaces => ['ppp0'],
qdiscs => ['"eth0" "pfifo_fast-1:0"', '"ppp0"'],
classes => ['"ppp0" "htb-1:10"'],
filters => ['"ppp0" "u32-1:0"'],
ignoreselected => false,
}
Class: collectd::plugin::network
collectd::plugin::network::server{'hostname':
port => 25826,
}
collectd::plugin::network::listener{'hostname':
port => 25826,
}
You can as well configure this plugin with a parameterized class :
class { 'collectd::plugin::network':
timetolive => '70',
maxpacketsize => '42',
forward => false,
reportstats => true,
servers => { 'hostname' => {
'port' => '25826',
'interface' => 'eth0',
'securitylevel' => '',
'username' => 'foo',
'password' => 'bar',},
},
listeners => { 'hostname' => {
'port' => '25826',
'interface' => 'eth0',
'securitylevel' => '',
'authfile' => '/etc/collectd/passwd',},
},
}
Class: collectd::plugin::nfs
class { 'collectd::plugin::nfs':
}
Class: collectd::plugin::nginx
class { 'collectd::plugin::nginx':
url => 'https://localhost:8433',
user => 'stats',
password => 'uleePi4A',
}
Class: collectd::plugin::ntpd
class { 'collectd::plugin::ntpd':
host => 'localhost',
port => 123,
reverselookups => false,
includeunitid => false,
}
Class: collectd::plugin::numa
class { 'collectd::plugin::numa':
}
Class: collectd::plugin::nut
class { 'collectd::plugin::nut':
upss => [ 'ups@localhost:port' ]
}
Class: collectd::plugin::openldap
class { 'collectd::plugin::openldap':
instances => {
'foo' => {
'url' => 'ldap://localhost/'
},
'bar' => {
'url' => 'ldaps://localhost/'
}
},
}
Class: collectd::plugin::openvpn
statusfile
(String or Array) Status file(s) to collect data from. (Default/etc/openvpn/openvpn-status.log
)improvednamingschema
(Bool) When enabled, the filename of the status file will be used as plugin instance and the client's "common name" will be used as type instance. This is required when reading multiple status files. (Default:false
)collectcompression
Sets whether or not statistics about the compression used by OpenVPN should be collected. This information is only available in single mode. (Defaulttrue
)collectindividualusers
Sets whether or not traffic information is collected for each connected client individually. If set to false, currently no traffic data is collected at all because aggregating this data in a save manner is tricky. (Defaulttrue
)collectusercount
When enabled, the number of currently connected clients or users is collected. This is especially interesting when CollectIndividualUsers is disabled, but can be configured independently from that option. (Defaultfalse
)
Watch multiple statusfile
s:
class { 'collectd::plugin::openvpn':
statusfile => [
'/etc/openvpn/openvpn-status-tcp.log',
'/etc/openvpn/openvpn-status-udp.log'
],
collectindividualusers => false,
collectusercount => true,
}
Watch the single default statusfile
:
class { 'collectd::plugin::openvpn':
collectindividualusers => false,
collectusercount => true,
}
Class: collectd::plugin::pcie_errors
class { 'collectd::plugin::pcie_errors':
source => undef,
access_dir => undef,
report_masked => false,
persistent_notifications => false,
}
Class: collectd::plugin::perl
This class has no parameters and will load the actual perl plugin.
It will be automatically included if any perl::plugin
is defined.
Example
include collectd::plugin::perl
Define: collectd::plugin::perl::plugin
This define will load a new perl plugin.
Parameters
module
(String): name of perl module to load (mandatory)enable_debugger
(False or String): whether to load the perl debugger. See collectd-perl manpage for more details.include_dir
(String or Array): directories to add to @INCprovider
("package"
,"cpan"
,"file"
orfalse
): method to get the plugin codesource
(String): this parameter is consumed by the provider to infer the source of the plugin codedestination
(String or false): path to plugin code ifprovider
isfile
. Ignored otherwise.order
(String containing numbers): order in which the plugin should be loaded. Defaults to"00"
config
(Hash): plugin configuration in form of a hash. This will be converted to a suitable structure understood by liboconfig which is the collectd configuration parser. Defaults to{}
Examples
Using a preinstalled plugin
collectd::plugin::perl::plugin { 'foo':
module => 'Collectd::Plugins::Foo',
enable_debugger => "",
include_dir => '/usr/lib/collectd/perl5/lib',
}
Using a plugin from a file from source
collectd::plugin::perl::plugin { 'baz':
module => 'Collectd::Plugins::Baz',
provider => 'file',
source => 'puppet:///modules/myorg/baz_collectd.pm',
destination => '/path/to/my/perl5/modules'
}
Using a plugin from cpan (requires the puppet cpan module)
collectd::plugin::perl::plugin {
'openafs_vos':
module => 'Collectd::Plugins::OpenAFS::VOS',
provider => 'cpan',
source => 'Collectd::Plugins::OpenAFS',
config => {'VosBin' => '/usr/afsws/etc/vos'},
}
Using a plugin from package source
collectd::plugin::perl::plugin {
'bar':
module => 'Collectd::Plugins::Bar',
provider => 'package',
source => 'perl-Collectd-Plugins-Bar',
config => {'foo' => 'bar'},
}
Class: collectd::plugin::ping
class { 'collectd::plugin::ping':
hosts => ['example.com'],
}
Class: collectd::plugin::postgresql
collectd::plugin::postgresql::database{'monitoring_node1':
name => 'monitoring',
port => '5433',
instance => 'node1',
host => 'localhost',
user => 'collectd',
password => 'collectd',
query => 'log_delay',
}
collectd::plugin::postgresql::query{'log_delay':
statement => 'SELECT * FROM log_delay_repli;',
params => ['database'],
results => [{
type => 'gauge',
instanceprefix => 'log_delay',
instancesfrom => 'inet_server_port',
valuesfrom => 'log_delay',
}],
}
collectd::plugin::postgresql::writer{'sqlstore':
statement => 'SELECT collectd_insert($1, $2, $3, $4, $5, $6, $7, $8, $9);',
storerates => 'true',
}
You can as well configure this plugin as a parameterized class :
class { 'collectd::plugin::postgresql':
databases => {
'postgres' => {
'host' => '/var/run/postgresql/',
'user' => 'postgres',
'password' => 'postgres',
'sslmode' => 'disable',
'query' => [ 'query_plans', 'queries', 'table_states', 'disk_io' ],
},
'devdb' => {
'host' => 'host.example.com',
'port' => '5432',
'user' => 'postgres',
'password' => 'secret',
'sslmode' => 'prefer',
}
}
}
Class: collectd::plugin::powerdns
You can either specify powerdns servers / recursors at once:
class { 'collectd::plugin::powerdns':
recursors => {
'recursor1' => {
'socket' => '/var/run/my-socket',
'collect' => ['cache-hits', 'cache-misses'],
},
'recursor2' => {}
},
servers => {
'server1' => {
'socket' => '/var/run/my-socket',
'collect' => ['latency', 'recursing-answers', 'recursing-questions'],
}
},
}
Or define single server / recursor:
collectd::plugin::powerdns::recursor { 'my-recursor' :
socket => '/var/run/my-socket',
collect => ['cache-hits', 'cache-misses'],
}
collectd::plugin::powerdns::server { 'my-server' :
socket => '/var/run/my-socket',
collect => ['latency', 'recursing-answers', 'recursing-questions'],
}
Class: collectd::plugin::processes
You can either specify processes / process matches at once:
class { 'collectd::plugin::processes':
processes => ['process1', 'process2'],
process_matches => [
{ name => 'process-all', regex => 'process.*' }
],
}
Or define single processes / process matches:
collectd::plugin::processes::process { 'collectd' : }
collectd::plugin::processes::processmatch { 'elasticsearch' :
regex => '.*java.*org.elasticsearch.bootstrap.Elasticsearch'
}
Class: collectd::plugin::protocols
-
values
is an array ofProtocol
names,Protocol:ValueName
pairs, or a regex -
see
/proc/net/netstat
and/proc/net/snmp
for a list ofProtocol
targetsSee collectd.conf documentation for details
class { 'collectd::plugin::protocols':
values => ['/^Tcp:*/', '/^Udp:*/', 'Icmp:InErrors' ],
ignoreselected => false,
}
Class: collectd::plugin::python
The plugin uses a fact python_dir
to find the python load path for modules.
python or python3 must be installed as a pre-requisite for the this
fact to give a non-default value.
-
modulepaths
is an array of paths where will be Collectd looking for Python modules, Puppet will ensure that each of specified directories exists and it is owned byroot
(andchmod 0750
). If you don't specify anymodulepaths
a default value for given distribution will be used. -
modules
a Hash containing configuration of Python modules, where the key is the module name -
globals
Unlike most other plugins, this one should setGlobals true
. This will cause collectd to export the name of all objects in the Python interpreter for all plugins to see. If you don't do this or your platform does not support it, the embedded interpreter will start anyway but you won't be able to load certain Python modules, e.g. "time". -
interactive
whentrue
it will launch an interactive Python interpreter that reads from and writes to the terminal (default:false
) -
logtraces
if a Python script throws an exception it will be logged by collectd with the name of the exception and the message (default:false
) -
conf_name
name of the file that will contain the python module configuration (default:python-config.conf
)See collectd-python documentation for more details.
NOTE: Since v3.4.0
the syntax of this plugin has changed. Make sure to update
your existing configuration. Now you can specify multiple Python modules at once:
class { 'collectd::plugin::python':
modulepaths => ['/usr/share/collectd/python'],
modules => {
'elasticsearch' => {
'script_source' => 'puppet:///modules/myorg/elasticsearch_collectd_python.py',
'config' => [{'Cluster' => 'elasticsearch'},],
},
'another-module' => {
'config' => [{'Verbose' => 'true'},],
}
}
logtraces => true,
interactive => false,
}
When script_source
provided, a file called {module}.py
will be created in $modulepath/$module.py
.
Or define single module:
collectd::plugin::python::module {'zk-collectd':
script_source => 'puppet:///modules/myorg/zk-collectd.py',
config => [
{'Hosts' => "localhost:2181",
'Verbose' => true,
'Values' => ["abc","def"],
'Name' => 'My Name',
'Limit' => 4.5,
}
]
}
The resulting configuration would be
Import "zk-collectd"
<Module "zk-collectd">
Hosts "localhost:2181"
Verbose true
Values "abc" "def"
Limit 4.5
</Module>
Each plugin might use different modulepath
, however make sure that all paths
are included in collectd::plugin::python
variable modulepaths
. If no
modulepath
is specified, OS default will be used.
collectd::plugin::python::module {'my-module':
modulepath => '/var/share/collectd',
script_source => 'puppet:///modules/myorg/my-module.py',
config => [
{'Key' => "value",
'Value' => 3.4,
}
]
}
Class: collectd::plugin::redis
class { 'collectd::plugin::redis':
nodes => {
'node1' => {
'host' => 'localhost',
},
'node2' => {
'host' => 'node2.example.com',
'port' => '6380',
'timeout' => 3000,
},
'node3' => {
'host' => 'node3.example.com',
'queries' => {
'dbsize' => {
'type' => 'count',
'query' => 'DBSIZE',
},
},
},
}
}
Class: collectd::plugin::rabbitmq
Please note the rabbitmq plugin provides a types.db.custom. You will need to add this to collectd::config::typesdb via hiera or in a manifest. Failure to set the types.db.custom content will result in no metrics from the rabbitmq plugin.
The rabbitmq plugin has not been ported to python3 and will fail on CentOS 8 #75
set typesdb to include the collectd-rabbitmq types.db.custom
collectd::config::typesdb:
- /usr/share/collectd/types.db
- /usr/share/collect-rabbitmq/types.db.custom
class { '::collectd::plugin::rabbitmq':
config => {
'Username' => 'admin',
'Password' => $admin_pass,
'Scheme' => 'https',
'Port' => '15671',
'Host' => $facts['fqdn'],
'Realm' => 'RabbitMQ Management',
},
}
Class: collectd::plugin::rrdcached
class { 'collectd::plugin::rrdcached':
daemonaddress => 'unix:/var/run/rrdcached.sock',
datadir => '/var/lib/rrdcached/db/collectd',
}
Class: collectd::plugin::rrdtool
class { 'collectd::plugin::rrdtool':
datadir => '/var/lib/collectd/rrd',
createfilesasync => false,
rrarows => 1200,
rratimespan => [3600, 86400, 604800, 2678400, 31622400],
xff => 0.1,
cacheflush => 900,
cachetimeout => 120,
writespersecond => 50
}
Class: collectd::plugin::sensors
class {'collectd::plugin::sensors':
sensors => ['sensors-coretemp-isa-0000/temperature-temp2', 'sensors-coretemp-isa-0000/temperature-temp3'],
ignoreselected => false,
}
Class: collectd::plugin::smart
class { '::collectd::plugin::smart':
disks => ['/^dm/'],
ignoreselected => true,
}
Class: collectd::plugin::snmp
class {'collectd::plugin::snmp':
data => {
amavis_incoming_messages => {
'type' => 'counter',
'table' => false,
'instance' => 'amavis.inMsgs',
'values' => ['AMAVIS-MIB::inMsgs.0'],
'ignore' => [ '00:00', '*IgnoreString' ],
'invert_match' => false,
}
},
hosts => {
debianvm => {
'address' => '127.0.0.1',
'version' => 2,
'community' => 'public',
'collect' => ['amavis_incoming_messages'],
'interval' => 10
}
},
}
class { 'collectd::plugin::snmp':
data => {
hc_octets => {
'type' => 'if_octets',
'table' => true,
'instance' => 'IF-MIB::ifName',
'values' => ['IF-MIB::ifHCInOctets', 'IF-MIB::ifHCOutOctets'],
},
},
hosts => {
router => {
'address' => '192.0.2.1',
'version' => 3,
'security_level' => 'authPriv',
'username' => 'collectd',
'auth_protocol' => 'SHA',
'auth_passphrase' => 'mekmitasdigoat',
'privacy_protocol' => 'AES',
'privacy_passphrase' => 'mekmitasdigoat',
'collect' => ['hc_octets'],
'interval' => 10,
},
},
}
Class: collectd::plugin::snmp_agent
class {'collectd::plugin::snmp_agent':
table => {
ifTable => {
'indexoid' => 'IF-MIB::ifIndex',
'sizeoid' => 'IF-MIB::ifNumber',
data => [{
ifDescr => {
'plugin' => 'interface',
'oids' => 'IF-MIB::ifDescr'
},
'ifDescr2' => {
'plugin' => 'interface2',
'oids' => 'IF-MIB::ifDescr2'
}
}]
}
},
data => {
memAvailReal => {
'plugin' => 'memory',
'type' => 'memory',
'oids' => '1.3.6.1.4.1.2021.4.6.0',
'typeinstance' => 'free',
'indexkey' => {
'source' => 'PluginInstance'
}
}
}
}
Class: collectd::plugin::statsd
class { 'collectd::plugin::statsd':
host => '0.0.0.0',
port => 8125,
deletecounters => false,
deletetimers => false,
deletegauges => false,
deletesets => false,
timerpercentile => ['50','90'],
}
Class: collectd::plugin::swap
class { 'collectd::plugin::swap':
reportbydevice => false,
reportbytes => true
}
Class: collectd::plugin::syslog
class { 'collectd::plugin::syslog':
log_level => 'warning'
}
Class: collectd::plugin::target_v5upgrade
class { 'collectd::plugin::target_v5upgrade':
}
Class: collectd::plugin::tcpconns
class { 'collectd::plugin::tcpconns':
localports => ['25', '12026'],
remoteports => ['25'],
listening => false,
}
Class: collectd::plugin::tail
collectd::plugin::tail::file { 'exim-log':
filename => '/var/log/exim4/mainlog',
instance => 'exim',
matches => [
{
regex => 'S=([1-9][0-9]*)',
dstype => 'CounterAdd',
type => 'ipt_bytes',
instance => 'total',
},
{
regex => '\\<R=local_user\\>',
dstype => 'CounterInc',
type => 'counter',
instance => 'local_user',
}
]
}
Class: collectd::plugin::tail_csv
class { '::collectd::plugin::tail_csv':
metrics => {
'snort-dropped' => {
'type' => 'gauge',
'values_from' => 1,
'instance' => "dropped"
},
},
files => {
'/var/log/snort/snort.stats' => {
'collect' => ['snort-dropped'],
'plugin' => 'snortstats',
'instance' => 'eth0',
'interval' => 600,
'time_from' => 5,
}
}
}
Class: collectd::plugin::thermal
class { '::collectd::plugin::thermal':
devices => ['foo0'],
ignoreselected => false,
}
Class: collectd::plugin::threshold
class { 'collectd::plugin::threshold':
hosts => [
{
name => 'example.com',
plugins => [
{
name => 'load',
types => [
{
name => 'load',
data_source => 'shortterm',
warning_max => $facts.dig('processors', 'count') * 1.2,
failure_max => $facts.dig('processors', 'count') * 1.9,
},
{
name => 'load',
data_source => 'midterm',
warning_max => $facts.dig('processors', 'count') * 1.1,
failure_max => $facts.dig('processors', 'count') * 1.7,
},
{
name => 'load',
data_source => 'longterm',
warning_max => $facts.dig('processors', 'count'),
failure_max => $facts.dig('processors', 'count') * 1.5,
},
],
},
],
},
],
plugins => [
# See plugin definition above
],
types => [
# See types definition above
],
}
Class: collectd::plugin::unixsock
class {'collectd::plugin::unixsock':
socketfile => '/var/run/collectd-sock',
socketgroup => 'nagios',
socketperms => '0770',
deletesocket => false,
}
Class: collectd::plugin::uptime
class {'collectd::plugin::uptime':
}
Class: collectd::plugin::users
class {'collectd::plugin::users':
}
Class: collectd::plugin::uuid
class {'collectd::plugin::uuid':
uuid_file => '/etc/uuid',
}
Class: collectd::plugin::varnish
class { 'collectd::plugin::varnish':
instances => {
'instanceName' => {
'CollectCache' => 'true',
'CollectBackend' => 'true',
'CollectConnections' => 'true',
'CollectSHM' => 'true',
'CollectESI' => 'false',
'CollectFetch' => 'true',
'CollectHCB' => 'false',
'CollectTotals' => 'true',
'CollectWorkers' => 'true',
}
},
}
Class: collectd::plugin::vmem
class { 'collectd::plugin::vmem':
verbose => true,
}
Class: collectd::plugin::write_graphite
The write_graphite
plugin writes data to Graphite, an open-source metrics
storage and graphing project.
collectd::plugin::write_graphite::carbon {'my_graphite':
graphitehost => 'graphite.example.org',
graphiteport => 2003,
graphiteprefix => '',
protocol => 'tcp'
}
You can define multiple Graphite backends where will be metrics send. Each backend should have unique title:
collectd::plugin::write_graphite::carbon {'secondary_graphite':
graphitehost => 'graphite.example.org',
graphiteport => 2004,
graphiteprefix => '',
protocol => 'udp',
escapecharacter => '_',
alwaysappendds => true,
storerates => true,
separateinstances => false,
logsenderrors => true
}
Class: collectd::plugin::write_http
The write_http plugin supports two ways of configuration, the old plugin format using urls:
class { 'collectd::plugin::write_http':
urls => {
'collect1.example.org' => { 'format' => 'JSON' },
'collect2.example.org' => {},
}
}
And the new plugin format using nodes:
class { 'collectd::plugin::write_http':
nodes => {
'collect1' => { 'url' => 'collect1.example.org', 'format' => 'JSON' },
'collect2' => { 'url' => 'collect2.example.org'},
}
}
Class: collectd::plugin::write_kafka
- Requires the Apache Kafka C/C++ library
- Available in collectd version >= 5.5.
class { 'collectd::plugin::write_kafka':
kafka_host => 'localhost',
kafka_port => 9092,
topics => {
'mytopic' => { 'format' => 'JSON' },
},
properties => {
'myproperty' => { 'myvalue' },
},
meta => {
'mymeta' => { 'myvalue' },
}
}
Class: collectd::plugin::write_log
class { 'collectd::plugin::write_log':
format => 'JSON',
}
Class: collectd::plugin::write_prometheus
class { 'collectd::plugin::write_prometheus':
port => '9103',
}
Note: Requires collectd 5.7 or later.
Class: collectd::plugin::write_network
Deprecated
class { 'collectd::plugin::write_network':
servers => {
'collect1.example.org' => { 'serverport' => '25826' },
'collect2.example.org' => { 'serverport' => '25826' }
}
}
Class: collectd::plugin::write_riemann
class { 'collectd::plugin::write_riemann':
nodes => [
{
'name' => 'riemann.example.org',
'host' => 'riemann.example.org',
'port' => 5555,
'protocol' => 'TCP'
}
],
tags => ['foo'],
attributes => {'bar' => 'baz'},
}
Class: collectd::plugin::write_sensu
class { 'collectd::plugin::write_sensu':
sensu_host => 'sensu.example.org',
sensu_port => 3030,
}
Class: collectd::plugin::write_tsdb
class { 'collectd::plugin::write_tsdb':
host => 'tsdb.example.org',
port => 4242,
host_tags => ['environment=production', 'colocation=AWS'],
store_rates => false,
always_append_ds => false,
}
Class: collectd::plugin::zfs_arc
class { 'collectd::plugin::zfs_arc':
}
Class: collectd::plugin::zookeeper
class { 'collectd::plugin::zookeeper':
zookeeper_host => 'localhost',
zookeeper_port => '2181',
}
types.db
Collectd needs to know how to handle each collected datapoint.
For this it uses a database file called types.db
Those files can be created using the collectd::typesdb
and collectd::type
define resources.
$db = '/etc/collectd/types.db'
collectd::typesdb { $db: }
collectd::type { "response_size-${db}":
target => $db,
ds_type => 'ABSOLUTE',
min => 0,
max => 10000000,
ds_name => 'value',
}
class { 'collectd':
typesdb => [
'/usr/share/collectd/types.db',
$typesdb,
],
}
Other software may need to read the Collectd types database files. To allow
non-root users to read from a collectd::typesdb
file like so:
$db = '/etc/collectd/types.db'
collectd::typesdb { $db:
mode => '0644',
}
Puppet Tasks
Assuming that the collectdctl command is available on remote nodes puppet tasks exist to
run collectdctl and collect results from nodes. The tasks rely on python3
being available
also.
Puppet Task collectd::listval
$ bolt task show collectd::listval
collectd::listval - Lists all available collectd metrics
USAGE:
bolt task run --nodes <node-name> collectd::listval
collectd::listval - Lists all available collectd metrics
USAGE:
bolt task run --nodes <node-name> collectd::listval
Puppet Task collectd::getval
$ bolt task show collectd::getval
collectd::getval - Get a particular metric for a host
USAGE:
bolt task run --nodes <node-name> collectd::getval metric=<value>
PARAMETERS:
- metric: String[1]
Name of metric, e.g. load/load-relative
Example Task collectd::getval
$ bolt -u root task run collectd::getval metric=load/load-relative -n aiadm32.example.org
returns the values of the load metric.
{
"metric": "load/load-relative",
"values": {
"shortterm": "1.750000e-01",
"longterm": "8.000000e-02",
"midterm": "8.500000e-02"
}
}
Limitations
See metadata.json for supported platforms
Known issues
Puppet needs two runs to correctly write my conf, why?
Some plugins will need two runs of Puppet to fully generate the configuration
for collectd. See this issue.
This can be avoided by specifying a minimum version ($minimum_version
) for
the collectd class. e.g. Setting this to 1.2.3 will make this module assume on
the first run (when the fact responsible to provide the collectd version is not
yet available) that your systems are running collectd 1.2.3 and generate the
configuration accordingly.
Development
Running tests
This project contains tests for rspec-puppet.
Quickstart:
gem install bundler
bundle install
bundle exec rake lint
bundle exec rake validate
bundle exec rake rubocop
bundle exec rake spec SPEC_OPTS='--format documentation'
Version scoping
Some plugins or some options in plugins are only available for recent versions of collectd.
This module shall not use unsupported configuration directives. Look at templates/loadplugin.conf.erb for a hands-on example.
Please make use of the search by branch/tags on the collectd github to see when a function has been first released.
Reading the collectd.conf.pod file is good, validating the presence of the code in the .c files is even better.
Authors
Puppet-collectd is maintained by VoxPupuli. Before moving to VoxPupuli it was written and maintained by TheCAT in the pdxcat github org.
Reference
Table of Contents
Classes
Public Classes
collectd
: installs and configures collectdcollectd::config
: privatecollectd::params
collectd::plugin::aggregation
: collectd::plugin::aggregationcollectd::plugin::amqp
: https://collectd.org/wiki/index.php/Plugin:AMQPcollectd::plugin::amqp1
: == Class: collectd::plugin::amqp1 Class to manage amqp1 write plugin for collectd Documentation: https://collectd.org/documentation/manpacollectd::plugin::apache
: https://collectd.org/wiki/index.php/Plugin:Apachecollectd::plugin::battery
: == Class: collectd::plugin::battery Class to manage battery write plugin for collectd Documentation: https://collectd.org/documentation/mcollectd::plugin::bind
: https://collectd.org/wiki/index.php/Plugin:BINDcollectd::plugin::ceph
: == Class: collectd::plugin::ceph Class to manage ceph plugin for collectd === Parameters [ensure] ensure param for collectd::plugin typecollectd::plugin::cgroups
: https://collectd.org/wiki/index.php/Plugin:cgroupscollectd::plugin::chain
collectd::plugin::connectivity
: == Class: collectd::plugin::connectivity Class to manage connectivity plugin for collectd Documentation: https://collectd.org/documentaticollectd::plugin::conntrack
: https://collectd.org/wiki/index.php/Plugin:ConnTrackcollectd::plugin::contextswitch
: https://collectd.org/wiki/index.php/Plugin:ContextSwitchcollectd::plugin::cpu
: https://collectd.org/wiki/index.php/Plugin:CPUcollectd::plugin::cpufreq
: https://collectd.org/wiki/index.php/Plugin:CPUFreqcollectd::plugin::csv
: https://collectd.org/wiki/index.php/Plugin:CSVcollectd::plugin::cuda
: Class: collectd::plugin::cudacollectd::plugin::curl
collectd::plugin::dbi
: https://collectd.org/wiki/index.php/Plugin:DBIcollectd::plugin::dcpmm
: Class to manage dcpmm plugin for collectd. The dcpmm plugin will collect Intel(R) Optane(TM) DC Persistent Memory related performance statiscollectd::plugin::df
: https://collectd.org/wiki/index.php/Plugin:DFcollectd::plugin::disk
: https://collectd.org/wiki/index.php/Plugin:Diskcollectd::plugin::dns
: Class: collectd::plugin::dnscollectd::plugin::dpdk_telemetry
: Class to manage dpdk_telemetry plugin for collectd. The dpdk_telemetry plugin collects DPDK ethernet device metrics via dpdk_telemetry libracollectd::plugin::entropy
: https://collectd.org/wiki/index.php/Plugin:Entropycollectd::plugin::ethstat
: https://collectd.org/wiki/index.php/Plugin:Ethstatcollectd::plugin::exec
: See http://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_execcollectd::plugin::fhcount
: https://collectd.org/wiki/index.php/Plugin:Fhcountcollectd::plugin::filecount
: https://collectd.org/wiki/index.php/Plugin:FileCountcollectd::plugin::filter
: https://collectd.org/wiki/index.php/Chainscollectd::plugin::fscache
: https://collectd.org/wiki/index.php/Plugin:FSCachecollectd::plugin::genericjmx
: https://collectd.org/wiki/index.php/Plugin:GenericJMXcollectd::plugin::hddtemp
: https://collectd.org/wiki/index.php/Plugin:HDDTempcollectd::plugin::hugepages
: == Class: collectd::plugin::hugepages Class to manage hugepages write plugin for collectd Documentation: https://collectd.org/documentaticollectd::plugin::intel_pmu
: https://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_intel_pmucollectd::plugin::intel_rdt
: == Class: collectd::plugin::intel_rdt Class to manage intel_rdt write plugin for collectd Documentation: https://collectd.org/documentaticollectd::plugin::interface
: https://collectd.org/wiki/index.php/Plugin:Interfacecollectd::plugin::ipc
: == Class: collectd::plugin::ipc Class to manage ipc write plugin for collectd Documentation: https://collectd.org/documentation/manpages/collectd::plugin::ipmi
: https://collectd.org/wiki/index.php/Plugin:IPMIcollectd::plugin::iptables
: https://collectd.org/wiki/index.php/Plugin:IPTablescollectd::plugin::irq
: https://collectd.org/wiki/index.php/Plugin:IRQcollectd::plugin::iscdhcp
: Class: collectd::plugin::iscdhcpcollectd::plugin::java
: https://collectd.org/wiki/index.php/Plugin:Javacollectd::plugin::load
: https://collectd.org/wiki/index.php/Plugin:Loadcollectd::plugin::logfile
: https://collectd.org/wiki/index.php/Plugin:LogFilecollectd::plugin::logparser
: https://wiki.opnfv.org/display/fastpath/Logparser+plugin+HLDcollectd::plugin::lvm
: https://collectd.org/wiki/index.php/Plugin:LVMcollectd::plugin::mcelog
: https://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_mcelogcollectd::plugin::memcached
: https://collectd.org/wiki/index.php/Plugin:memcachedcollectd::plugin::memory
: https://collectd.org/wiki/index.php/Plugin:Memorycollectd::plugin::mongodb
: Class: collectd::plugin::mongodbcollectd::plugin::mysql
: MySQL plugin https://collectd.org/wiki/index.php/Plugin:MySQLcollectd::plugin::netlink
: https://collectd.org/wiki/index.php/Plugin:Netlinkcollectd::plugin::network
: https://collectd.org/wiki/index.php/Plugin:Networkcollectd::plugin::nfs
: https://collectd.org/wiki/index.php/Plugin:NFScollectd::plugin::nginx
: https://collectd.org/wiki/index.php/Plugin:nginxcollectd::plugin::ntpd
: https://collectd.org/wiki/index.php/Plugin:NTPdcollectd::plugin::numa
: == Class: collectd::plugin::numa Class to manage numa write plugin for collectd Documentation: https://collectd.org/documentation/manpagecollectd::plugin::nut
: https://collectd.org/wiki/index.php/Plugin:Nutcollectd::plugin::openldap
: https://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_openldapcollectd::plugin::openvpn
: https://collectd.org/wiki/index.php/Plugin:OpenVPNcollectd::plugin::oracle
: Oracle plugin https://collectd.org/wiki/index.php/Plugin:Oraclecollectd::plugin::ovs_events
: == Class: collectd::plugin::ovs_events Class to manage ovs_events plugin for collectd Documentation: https://collectd.org/documentation/mcollectd::plugin::ovs_stats
: == Class: collectd::plugin::ovs_stats Class to manage ovs_stats plugin for collectd Documentation: https://collectd.org/documentation/mancollectd::plugin::pcie_errors
: Class to manage pcie_errors plugin for collectdcollectd::plugin::perl
: See http://collectd.org/documentation/manpages/collectd-perl.5.shtmlcollectd::plugin::ping
: See http://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_pingcollectd::plugin::postgresql
: https://collectd.org/wiki/index.php/Plugin:PostgreSQLcollectd::plugin::powerdns
: See http://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_powerdnscollectd::plugin::processes
: See http://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_processescollectd::plugin::procevent
: == Class: collectd::plugin::procevent Class to manage procevent plugin for collectd Documentation: https://collectd.org/documentation/mancollectd::plugin::protocols
: See http://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_protocolscollectd::plugin::python
: See http://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_pythoncollectd::plugin::rabbitmq
: rabbitmq plugin https://pypi.python.org/pypi/collectd-rabbitmq == Class collectd::plugin::rabbitmq Configures rabbitmq metrics collection.collectd::plugin::redis
: https://collectd.org/wiki/index.php/Plugin:Rediscollectd::plugin::rrdcached
: https://collectd.org/wiki/index.php/Rrdcachedcollectd::plugin::rrdtool
: https://collectd.org/wiki/index.php/Plugin:RRDtoolcollectd::plugin::sensors
: https://collectd.org/wiki/index.php/Plugin:Sensorscollectd::plugin::smart
: https://collectd.org/wiki/index.php/Plugin:SMARTcollectd::plugin::snmp
: https://collectd.org/wiki/index.php/Plugin:SNMPcollectd::plugin::snmp_agent
: Class: collectd::plugin::snmp_agentcollectd::plugin::statsd
: https://collectd.org/wiki/index.php/Plugin:StatsDcollectd::plugin::swap
: https://collectd.org/wiki/index.php/Plugin:Swapcollectd::plugin::sysevent
: == Class: collectd::plugin::sysevent Class to manage sysevent plugin for collectd Documentation: https://collectd.org/documentation/manpacollectd::plugin::syslog
: https://collectd.org/wiki/index.php/Plugin:SysLogcollectd::plugin::table
: https://collectd.org/wiki/index.php/Chainscollectd::plugin::tail
: Tail plugin https://collectd.org/wiki/index.php/Plugin:Tailcollectd::plugin::tail_csv
: https://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_tail_csvcollectd::plugin::target_v5upgrade
: https://collectd.org/wiki/index.php/Target:v5_upgradecollectd::plugin::tcpconns
: https://collectd.org/wiki/index.php/Plugin:TCPConnscollectd::plugin::thermal
: https://collectd.org/wiki/index.php/Plugin:thermalcollectd::plugin::threshold
: http://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_thresholdcollectd::plugin::turbostat
: https://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_turbostatcollectd::plugin::unixsock
: https://collectd.org/wiki/index.php/Plugin:UnixSockcollectd::plugin::uptime
: https://collectd.org/wiki/index.php/Plugin:Uptimecollectd::plugin::users
: https://collectd.org/wiki/index.php/Plugin:Userscollectd::plugin::uuid
: https://collectd.org/wiki/index.php/Plugin:UUIDcollectd::plugin::varnish
: https://collectd.org/wiki/index.php/Plugin:Varnishcollectd::plugin::virt
: https://collectd.org/wiki/index.php/Plugin:virtcollectd::plugin::vmem
: https://collectd.org/wiki/index.php/Plugin:vmemcollectd::plugin::write_graphite
: https://collectd.org/wiki/index.php/Graphitecollectd::plugin::write_http
: Enable write_http plugincollectd::plugin::write_kafka
collectd::plugin::write_log
collectd::plugin::write_network
: A define to make a generic network output for collectdcollectd::plugin::write_prometheus
collectd::plugin::write_riemann
: https://collectd.org/wiki/index.php/Plugin:Write_Riemanncollectd::plugin::write_sensu
: https://collectd.org/wiki/index.php/Plugin:Write_Sensucollectd::plugin::write_tsdb
: https://collectd.org/wiki/index.php/Plugin:Write_TSDBcollectd::plugin::zfs_arc
: https://collectd.org/wiki/index.php/Plugin:ZFS_ARCcollectd::plugin::zookeeper
collectd::repo
: collectd::repo Handle package repo configurationcollectd::repo::debian
collectd::repo::redhat
collectd::service
Private Classes
collectd::install
: installs collectd
Defined types
collectd::plugin
collectd::plugin::aggregation::aggregator
collectd::plugin::apache::instance
: https://collectd.org/wiki/index.php/Plugin:Apachecollectd::plugin::curl::page
collectd::plugin::curl_json
: See http://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_curl_jsoncollectd::plugin::dbi::database
: database allows you to create blocks with the same name of database,collectd::plugin::dbi::query
collectd::plugin::exec::cmd
collectd::plugin::filecount::directory
: https://collectd.org/wiki/index.php/Plugin:FileCountcollectd::plugin::filter::chain
: https://collectd.org/wiki/index.php/Chainscollectd::plugin::filter::match
: https://collectd.org/wiki/index.php/Chainscollectd::plugin::filter::rule
: https://collectd.org/wiki/index.php/Chainscollectd::plugin::filter::target
: https://collectd.org/wiki/index.php/Chainscollectd::plugin::genericjmx::connection
: https://collectd.org/wiki/index.php/Plugin:GenericJMXcollectd::plugin::genericjmx::mbean
: https://collectd.org/wiki/index.php/Plugin:GenericJMXcollectd::plugin::mysql::database
collectd::plugin::network::listener
collectd::plugin::network::server
collectd::plugin::nut::ups
collectd::plugin::oracle::database
: https://collectd.org/wiki/index.php/Plugin:Oraclecollectd::plugin::oracle::query
: https://collectd.org/wiki/index.php/Plugin:Oraclecollectd::plugin::perl::plugin
collectd::plugin::postgresql::database
: databasename allows you to create blocks with the same name of database, useful if you have multiple instances of different versiocollectd::plugin::postgresql::query
collectd::plugin::postgresql::writer
collectd::plugin::powerdns::recursor
collectd::plugin::powerdns::server
collectd::plugin::processes::process
collectd::plugin::processes::processmatch
collectd::plugin::python::module
: Single module definitioncollectd::plugin::snmp::data
: https://collectd.org/wiki/index.php/Plugin:SNMPcollectd::plugin::snmp::host
: https://collectd.org/wiki/index.php/Plugin:SNMPcollectd::plugin::tail::file
collectd::plugin::write_graphite::carbon
: a single graphite backendcollectd::type
collectd::typesdb
: This define initialize a collectd typesdb file
Functions
collectd::indent
collectd_convert_processes
: Converts the array from the old style to define process or processmatch in the processes plugin into a create_resources compatible hash which
Data types
Collectd::Amqp::Format
: https://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_amqpCollectd::Bind::View
: https://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_bindCollectd::Filter::Builtintarget
: https://collectd.org/wiki/index.php/Chains#Built-in_targetsCollectd::Filter::Match
: https://collectd.org/wiki/index.php/Table_of_MatchesCollectd::Filter::Plugintarget
: https://collectd.org/wiki/index.php/Table_of_TargetsCollectd::Filter::Target
: https://collectd.org/wiki/index.php/ChainsCollectd::LOGPARSER::Logfile
: https://wiki.opnfv.org/display/fastpath/Logparser+plugin+HLDCollectd::LOGPARSER::Match
: https://wiki.opnfv.org/display/fastpath/Logparser+plugin+HLDCollectd::LOGPARSER::Message
: https://wiki.opnfv.org/display/fastpath/Logparser+plugin+HLDCollectd::MCELOG::Memory
: https://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_mcelogCollectd::Manifests::Init
Collectd::Network::SecurityLevel
Collectd::Redis::Node
Collectd::SNMP::AuthProtocol
Collectd::SNMP::Data
Collectd::SNMP::Host
Collectd::SNMP::Host::V2
Collectd::SNMP::Host::V3
Collectd::SNMP::PrivacyProtocol
Collectd::SNMP::SecurityLevel
Collectd::SNMP::Version
Collectd::SNMP::Version::V2
Collectd::SNMP::Version::V3
Collectd::SNMP_AGENT::Data
: https://wiki.opnfv.org/display/fastpath/SNMP+Agent+HLDCollectd::SNMP_AGENT::IndexKey
: https://wiki.opnfv.org/display/fastpath/SNMP+Agent+HLDCollectd::SNMP_AGENT::Table
: https://wiki.opnfv.org/display/fastpath/SNMP+Agent+HLDCollectd::Table::Result
: https://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_tableCollectd::Table::Table
: https://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_tableCollectd::Tail_Csv::File
: https://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_tail_csvCollectd::Tail_Csv::Metric
: https://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_tail_csvCollectd::Threshold::Host
Collectd::Threshold::Plugin
Collectd::Threshold::Type
Collectd::Write_riemann::Node
Tasks
Classes
collectd
installs and configures collectd
Examples
Install collectd utilities
class{'collectd':
utils => true,
}
Parameters
The following parameters are available in the collectd
class:
utils
autoloadplugin
collectd_hostname
conf_content
config_file
fqdnlookup
has_wordexp
include
interval
internal_stats
manage_package
manage_repo
ci_package_repo
manage_service
minimum_version
package_ensure
package_install_options
package_keyserver
package_name
package_provider
plugin_conf_dir
plugin_conf_dir_mode
purge
purge_config
read_threads
recurse
config_group
config_mode
config_owner
service_enable
service_ensure
service_name
timeout
typesdb
write_queue_limit_high
write_queue_limit_low
write_threads
utils
Data type: Boolean
Install collectd utilities package containing collectdctl, collectd-nagios
Default value: $collectd::params::utils
autoloadplugin
Data type: Boolean
Default value: $collectd::params::autoloadplugin
collectd_hostname
Data type: String
Default value: $collectd::params::collectd_hostname
conf_content
Data type: Optional[String]
Default value: $collectd::params::conf_content
config_file
Data type: String
Default value: $collectd::params::config_file
fqdnlookup
Data type: Boolean
Default value: $collectd::params::fqdnlookup
has_wordexp
Data type: Boolean
Default value: $collectd::params::has_wordexp
include
Data type: Array
Default value: $collectd::params::include
interval
Data type: Integer[1]
Default value: $collectd::params::interval
internal_stats
Data type: Boolean
Default value: $collectd::params::internal_stats
manage_package
Data type: Boolean
Default value: $collectd::params::manage_package
manage_repo
Data type: Boolean
Default value: $collectd::params::manage_repo
ci_package_repo
Data type: Optional[Collectd::Manifests::Init]
Default value: $collectd::params::ci_package_repo
manage_service
Data type: Boolean
Default value: $collectd::params::manage_service
minimum_version
Data type: String
Default value: $collectd::params::minimum_version
package_ensure
Data type: String
Default value: $collectd::params::package_ensure
package_install_options
Data type: Optional[Array]
Default value: $collectd::params::package_install_options
package_keyserver
Data type: Stdlib::Fqdn
Default value: $collectd::params::package_keyserver
package_name
Data type: Variant[String[1],Array[String[1]]]
Default value: $collectd::params::package_name
package_provider
Data type: Optional[String]
Default value: $collectd::params::package_provider
plugin_conf_dir
Data type: Stdlib::Absolutepath
Default value: $collectd::params::plugin_conf_dir
plugin_conf_dir_mode
Data type: String
Default value: $collectd::params::plugin_conf_dir_mode
purge
Data type: Boolean
Default value: $collectd::params::purge
purge_config
Data type: Boolean
Default value: $collectd::params::purge_config
read_threads
Data type: Integer[1]
Default value: $collectd::params::read_threads
recurse
Data type: Boolean
Default value: $collectd::params::recurse
config_group
Data type: String
Default value: $collectd::params::config_group
config_mode
Data type: String
Default value: $collectd::params::config_mode
config_owner
Data type: String
Default value: $collectd::params::config_owner
service_enable
Data type: Boolean
Default value: $collectd::params::service_enable
service_ensure
Data type: String
Default value: $collectd::params::service_ensure
service_name
Data type: String
Default value: $collectd::params::service_name
timeout
Data type: Integer[1]
Default value: $collectd::params::timeout
typesdb
Data type: Array
Default value: $collectd::params::typesdb
write_queue_limit_high
Data type: Optional[Integer]
Default value: $collectd::params::write_queue_limit_high
write_queue_limit_low
Data type: Optional[Integer]
Default value: $collectd::params::write_queue_limit_low
write_threads
Data type: Integer[1]
Default value: $collectd::params::write_threads
collectd::config
private
collectd::params
The collectd::params class.
collectd::plugin::aggregation
collectd::plugin::aggregation
Parameters
The following parameters are available in the collectd::plugin::aggregation
class:
ensure
Data type: Enum['present', 'absent']
Default value: 'present'
interval
Data type: Optional[Integer[1]]
Default value: undef
aggregators
Data type: Hash
Default value: {}
collectd::plugin::amqp
https://collectd.org/wiki/index.php/Plugin:AMQP
Parameters
The following parameters are available in the collectd::plugin::amqp
class:
ensure
manage_package
amqphost
amqpport
amqpvhost
amqpuser
amqppass
amqpformat
amqpstorerates
amqpexchange
amqppersistent
amqproutingkey
graphiteprefix
escapecharacter
interval
graphiteseparateinstances
graphitealwaysappendds
ensure
Data type: Enum['present', 'absent']
Default value: 'present'
manage_package
Data type: Boolean
Default value: $collectd::manage_package
amqphost
Data type: Stdlib::Host
Default value: 'localhost'
amqpport
Data type: Stdlib::Port
Default value: 5672
amqpvhost
Data type: String
Default value: 'graphite'
amqpuser
Data type: String
Default value: 'graphite'
amqppass
Data type: String
Default value: 'graphite'
amqpformat
Data type: Collectd::Amqp::Format
Default value: 'Graphite'
amqpstorerates
Data type: Boolean
Default value: false
amqpexchange
Data type: String
Default value: 'metrics'
amqppersistent
Data type: Boolean
Default value: true
amqproutingkey
Data type: String
Default value: 'collectd'
graphiteprefix
Data type: String
Default value: 'collectd.'
escapecharacter
Data type: String[1]
Default value: '_'
interval
Data type: Optional[Integer[1]]
Default value: undef
graphiteseparateinstances
Data type: Boolean
Default value: false
graphitealwaysappendds
Data type: Boolean
Default value: false
collectd::plugin::amqp1
== Class: collectd::plugin::amqp1
Class to manage amqp1 write plugin for collectd
Documentation: https://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_amqp1
=== Parameters
[ensure] Ensure param for collectd::plugin type. Defaults to 'ensure'
[manage_package] Set to true if Puppet should manage plugin package installation. Defaults to $collectd::manage_package
[transport] Name of the transport. Default to 'metrics'
[host] Hostname or IP address of the AMQP 1.0 intermediary. Defaults to the 'localhost'
[port] Service name or port number on which the AMQP 1.0 intermediary accepts connections. This argument must be a string, even if the numeric form is used. Defaults to 5672
[user] User part of credentials used to authenticate to the AMQP 1.0 intermediary. Defaults to 'guest'
[password] Password part of credentials used to authenticate to the AMQP 1.0 intermediary. Defaults to 'guest'
[address] This option specifies the prefix for the send-to value in the message. Defaults to 'collectd'
[retry_delay] When the AMQP1 connection is lost, defines the time in seconds to wait before attempting to reconnect. Defaults to 1
[send_queue_limit] Limits the SentQueue to a defined value, helps to keep memory usage low when the write target does not respond.
[interval] Interval setting for the plugin Defaults to undef
[instances] Hash of Hashes representing Instance blocks in plugin configuration file. Key of outter hash represents instance name. The 'address' value concatenated with the 'name' given will be used as the send-to address for communications over the messaging link. Only following keys on inner hashes are taken into account:
- format (string): 'Command'|'JSON'|'Graphite'; defines format in which messages are sent to the intermediary
- presettle (bool): If set to false (the default), the plugin will wait for a message acknowledgement from the messaging bus before sending the next message. Otherwise the plugin will not wait for a message acknowledgement.
- notify (bool): If set to false (the default), the plugin will service the instance write call back as a value list. If set to true the plugin will service the instance as a write notification callback for alert formatting.
- store_rates (bool): Determines whether or not COUNTER, DERIVE and ABSOLUTE data sources are converted to a rate (GAUGE value). If set to false (the default), no conversion is performed. Otherwise the conversion is performed using the internal value cache. Please note that currently this option is only used if the 'format' option has been set to 'JSON'.
- graphite_prefix (string): A prefix can be added in the metric name when outputting in the 'Graphite' format. It's added before the host name.
- graphite_postfix (string): A postfix can be added in the metric name when outputting in the 'Graphite' format. It's added after the host name.
- graphiteescape_char (string): Specify a character to replace dots in the host part of the metric name. In 'Graphite' metric name, dots are used as separators between different metric parts (host, plugin, type). Default is ''.
- graphite_separate_instances (bool): If set to true, the plugin instance and type instance will be in their own path component, for example 'host.cpu.0.cpu.idle'. If set to false (the default), the plugin and plugin instance (and likewise the type and type instance) are put into one component, for example 'host.cpu-0.cpu-idle'.
- graphite_always_append_ds (bool): If set to true, append the name of the data Source> (DS) to the 'metric' identifier. If set to false (the default), this is only done when there is more than one DS.
- graphite_preserve_separator (bool): If set to false (the default) the dot character is replaced with GraphiteEscapeChar. Otherwise, if set to true, the dot character is preserved, i.e. passed through.
Parameters
The following parameters are available in the collectd::plugin::amqp1
class:
ensure
manage_package
transport
host
port
user
password
address
instances
retry_delay
send_queue_limit
interval
ensure
Data type: Enum['present', 'absent']
Default value: 'present'
manage_package
Data type: Boolean
Default value: $collectd::manage_package
transport
Data type: String
Default value: 'metrics'
host
Data type: Stdlib::Host
Default value: 'localhost'
port
Data type: Stdlib::Port
Default value: 5672
user
Data type: String
Default value: 'guest'
password
Data type: String
Default value: 'guest'
address
Data type: String
Default value: 'collectd'
instances
Data type: Hash
Default value: {}
retry_delay
Data type: Optional[Integer]
Default value: undef
send_queue_limit
Data type: Optional[Integer[0]]
Default value: undef
interval
Data type: Optional[Integer]
Default value: undef
collectd::plugin::apache
https://collectd.org/wiki/index.php/Plugin:Apache
Parameters
The following parameters are available in the collectd::plugin::apache
class:
ensure
Data type: Enum['present', 'absent']
Default value: 'present'
manage_package
Data type: Boolean
Default value: $collectd::manage_package
instances
Data type: Hash
Default value: { 'localhost' => { 'url' => 'http://localhost/mod_status?auto' } }
interval
Data type: Optional[Integer[1]]
Default value: undef
package_install_options
Data type: Optional[Array]
Default value: $collectd::package_install_options
collectd::plugin::battery
== Class: collectd::plugin::battery
Class to manage battery write plugin for collectd
Documentation: https://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_battery
=== Parameters
[ensure] Ensure param for collectd::plugin type. Defaults to 'ensure'
[interval] Interval setting for the plugin Defaults to undef
[values_percentage] When enabled, remaining capacity is reported as a percentage instead of raw data (most likely in "Wh") Defaults to false
[report_degraded] When set to true, the battery plugin will report three values: charged (remaining capacity), discharged (difference between "last full capacity" and "remaining capacity") and degraded (difference between "design capacity" and "last full capacity"). Otherwise only the remaining capacity is reported. Defaults to false
[query_state_fs] When set to true, the battery plugin will only read statistics related to battery performance as exposed by StateFS at /run/state. Defaults to false
Parameters
The following parameters are available in the collectd::plugin::battery
class:
ensure
Data type: Enum['present', 'absent']
Default value: 'present'
interval
Data type: Optional[Integer]
Default value: undef
values_percentage
Data type: Boolean
Default value: false
report_degraded
Data type: Boolean
Default value: false
query_state_fs
Data type: Boolean
Default value: false
collectd::plugin::bind
https://collectd.org/wiki/index.php/Plugin:BIND
Parameters
The following parameters are available in the collectd::plugin::bind
class:
url
ensure
manage_package
memorystats
opcodes
parsetime
qtypes
resolverstats
serverstats
zonemaintstats
views
interval
url
Data type: Stdlib::Httpurl
ensure
Data type: Enum['present', 'absent']
Default value: 'present'
manage_package
Data type: Boolean
Default value: $collectd::manage_package
memorystats
Data type: Boolean
Default value: true
opcodes
Data type: Boolean
Default value: true
parsetime
Data type: Boolean
Default value: false
qtypes
Data type: Boolean
Default value: true
resolverstats
Data type: Boolean
Default value: false
serverstats
Data type: Boolean
Default value: true
zonemaintstats
Data type: Boolean
Default value: true
views
Data type: Array[Collectd::Bind::View]
Default value: []
interval
Data type: Optional[Integer[1]]
Default value: undef
collectd::plugin::ceph
== Class: collectd::plugin::ceph
Class to manage ceph plugin for collectd === Parameters [ensure] ensure param for collectd::plugin type
[daemons] array of ceph daemons to create config for (replace clustername, hostname as appropriate) example: [ '[clustername]-osd.1', '[clustername]-osd.2', '[clustername]-osd.3', '[clustername]-mon.[hostname].asok' ]
[longrunavglatency] If enabled, latency values(sum,count pairs) are calculated as the long run average - average since the ceph daemon was started = (sum / count). i When disabled, latency values are calculated as the average since the last collection = (sum_now - sum_last) / (count_now - count_last).
[convertspecialmetrictypes} If enabled, special metrics (metrics that differ in type from similar counters) are converted to the type of those similar counters. This currently only applies to filestore.journal_wr_bytes which is a counter for OSD daemons. The ceph schema reports this metric type as a sum,count pair i while similar counters are treated as derive types. When converted, the sum is used as the counter value and is treated as a derive type. When disabled, all metrics are treated as the types received from the ceph schema.
[manage_package] If enabled, manages separate package for plugin
[package_name] to be used with manage_package; if manage_package is true, this gives the name of the package to manage. Defaults to 'collectd-ceph'
Parameters
The following parameters are available in the collectd::plugin::ceph
class:
daemons
Data type: Array
ensure
Data type: Enum['present', 'absent']
Default value: 'present'
longrunavglatency
Data type: Boolean
Default value: false
convertspecialmetrictypes
Data type: Boolean
Default value: true
manage_package
Data type: Boolean
Default value: $collectd::manage_package
package_name
Data type: String
Default value: 'collectd-ceph'
collectd::plugin::cgroups
https://collectd.org/wiki/index.php/Plugin:cgroups
Parameters
The following parameters are available in the collectd::plugin::cgroups
class:
cgroups
Data type: Array
Default value: []
ensure
Data type: Enum['present', 'absent']
Default value: 'present'
ignore_selected
Data type: Boolean
Default value: false
interval
Data type: Optional[Integer[1]]
Default value: undef
collectd::plugin::chain
The collectd::plugin::chain class.
Parameters
The following parameters are available in the collectd::plugin::chain
class:
chainname
Data type: String
Default value: 'Main'
ensure
Data type: Enum['present', 'absent']
Default value: 'present'
defaulttarget
Data type: Collectd::Filter::Target
Default value: 'write'
rules
Data type: Array
Default value: []
collectd::plugin::connectivity
== Class: collectd::plugin::connectivity
Class to manage connectivity plugin for collectd
Documentation: https://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_connectivity
=== Parameters
[ensure] Ensure param for collectd::plugin type. Defaults to 'ensure'
[manage_package] Set to true if Puppet should manage plugin package installation. Defaults to $collectd::manage_package
[interfaces] Array of interface(s) to monitor connect to. Empty arrayf means all interfaces Defaults to []
Parameters
The following parameters are available in the collectd::plugin::connectivity
class:
ensure
Data type: Enum['present', 'absent']
Default value: 'present'
manage_package
Data type: Boolean
Default value: $collectd::manage_package
interfaces
Data type: Array[String[1]]
Default value: []
collectd::plugin::conntrack
https://collectd.org/wiki/index.php/Plugin:ConnTrack
Parameters
The following parameters are available in the collectd::plugin::conntrack
class:
ensure
Data type: Enum['present', 'absent']
Default value: 'present'
collectd::plugin::contextswitch
https://collectd.org/wiki/index.php/Plugin:ContextSwitch
Parameters
The following parameters are available in the collectd::plugin::contextswitch
class:
ensure
Data type: Enum['present', 'absent']
Default value: 'present'
interval
Data type: Optional[Integer[1]]
Default value: undef
collectd::plugin::cpu
https://collectd.org/wiki/index.php/Plugin:CPU
Parameters
The following parameters are available in the collectd::plugin::cpu
class:
ensure
reportbystate
reportbycpu
valuespercentage
reportnumcpu
reportgueststate
subtractgueststate
interval
ensure
Data type: Enum['present', 'absent']
Default value: 'present'
reportbystate
Data type: Boolean
Default value: true
reportbycpu
Data type: Boolean
Default value: true
valuespercentage
Data type: Boolean
Default value: false
reportnumcpu
Data type: Boolean
Default value: false
reportgueststate
Data type: Boolean
Default value: false
subtractgueststate
Data type: Boolean
Default value: true
interval
Data type: Optional[Integer[1]]
Default value: undef
collectd::plugin::cpufreq
https://collectd.org/wiki/index.php/Plugin:CPUFreq
Parameters
The following parameters are available in the collectd::plugin::cpufreq
class:
ensure
Data type: Enum['present', 'absent']
Default value: 'present'
collectd::plugin::csv
https://collectd.org/wiki/index.php/Plugin:CSV
Parameters
The following parameters are available in the collectd::plugin::csv
class:
ensure
Data type: Any
Default value: 'present'
datadir
Data type: Any
Default value: '/etc/collectd/var/lib/collectd/csv'
interval
Data type: Any
Default value: undef
storerates
Data type: Any
Default value: false
collectd::plugin::cuda
Class: collectd::plugin::cuda
- See also
- https://pypi.python.org/pypi/collectd-cuda
Note, it is up to you to support package installation and sources* Configures cuda metrics collection. Optionally installs the plugin
- https://pypi.python.org/pypi/collectd-cuda
Parameters
The following parameters are available in the collectd::plugin::cuda
class:
ensure
Data type: Enum['present', 'absent']
Optional[String] Passed to package and collectd::plugin resources (both). Default: present
Default value: 'present'
manage_package
Data type: Optional[Boolean]
Optional[Boolean] Toggles installation of plugin. Default: undef
Default value: undef
package_name
Data type: String[1]
Optional[String] Name of plugin package to install. Default: collectd-cuda
Default value: 'collectd-cuda'
package_provider
Data type: Optional[String[1]]
Optional[String] Passed to package resource. Default: pip
Default value: undef
provider_proxy
Data type: Optional[String[1]]
Optional[String] Proxy for provider. Default: undef
Default value: undef
collectd::plugin::curl
The collectd::plugin::curl class.
Parameters
The following parameters are available in the collectd::plugin::curl
class:
ensure
Data type: Any
Default value: 'present'
manage_package
Data type: Any
Default value: undef
interval
Data type: Any
Default value: undef
pages
Data type: Any
Default value: {}
collectd::plugin::dbi
https://collectd.org/wiki/index.php/Plugin:DBI
Parameters
The following parameters are available in the collectd::plugin::dbi
class:
ensure
Data type: Any
Default value: 'present'
databases
Data type: Any
Default value: {}
queries
Data type: Any
Default value: {}
packages
Data type: Any
Default value: undef
interval
Data type: Any
Default value: undef
manage_package
Data type: Any
Default value: undef
collectd::plugin::dcpmm
Class to manage dcpmm plugin for collectd.
The dcpmm plugin will collect Intel(R) Optane(TM) DC Persistent Memory related performance statistics. Plugin requires root privileges to perform the statistics collection.
Parameters
The following parameters are available in the collectd::plugin::dcpmm
class:
ensure
Data type: Enum['present', 'absent']
Ensure param for collectd::plugin type.
Default value: 'present'
interval
Data type: Float
Sets interval (in seconds) in which the values will be collected.
Default value: 10.0
collect_health
Data type: Boolean
Collects health information. collect_health and collect_perf_metrics cannot be true at the same time.
Default value: false
collect_perf_metrics
Data type: Boolean
Collects memory performance metrics. collect_health and collect_perf_metrics cannot be true at the same time.
Default value: true
enable_dispatch_all
Data type: Boolean
This parameter helps to seamlessly enable simultaneous health and memory perf metrics collection in future. Unused at the moment and must always be false.
Default value: false
collectd::plugin::df
https://collectd.org/wiki/index.php/Plugin:DF
Parameters
The following parameters are available in the collectd::plugin::df
class:
ensure
devices
fstypes
ignoreselected
interval
mountpoints
reportbydevice
reportinodes
reportreserved
valuesabsolute
valuespercentage
ensure
Data type: Any
Default value: 'present'
devices
Data type: Array
Default value: []
fstypes
Data type: Array
Default value: []
ignoreselected
Data type: Boolean
Default value: false
interval
Data type: Any
Default value: undef
mountpoints
Data type: Array
Default value: []
reportbydevice
Data type: Boolean
Default value: false
reportinodes
Data type: Boolean
Default value: true
reportreserved
Data type: Boolean
Default value: true
valuesabsolute
Data type: Boolean
Default value: true
valuespercentage
Data type: Boolean
Default value: false
collectd::plugin::disk
https://collectd.org/wiki/index.php/Plugin:Disk
Parameters
The following parameters are available in the collectd::plugin::disk
class:
disks
ensure
ignoreselected
interval
manage_package
package_name
udevnameattr
package_install_options
disks
Data type: Array
Default value: []
ensure
Data type: Any
Default value: 'present'
ignoreselected
Data type: Boolean
Default value: false
interval
Data type: Any
Default value: undef
manage_package
Data type: Any
Default value: undef
package_name
Data type: Any
Default value: 'collectd-disk'
udevnameattr
Data type: Any
Default value: undef
package_install_options
Data type: Optional[Array[String]]
Default value: undef
collectd::plugin::dns
Class: collectd::plugin::dns
Parameters
The following parameters are available in the collectd::plugin::dns
class:
ensure
Data type: Enum['present','absent']
Default value: 'present'
ignoresource
Data type: Optional[Stdlib::IP::Address]
Default value: undef
interface
Data type: String
Default value: 'any'
interval
Data type: Optional[String]
Default value: undef
manage_package
Data type: Any
Default value: undef
package_name
Data type: Any
Default value: 'collectd-dns'
selectnumericquerytypes
Data type: Variant[String,Boolean]
Default value: true
collectd::plugin::dpdk_telemetry
Class to manage dpdk_telemetry plugin for collectd.
The dpdk_telemetry plugin collects DPDK ethernet device metrics via dpdk_telemetry library.
Plugin retrieves metrics from a DPDK packet forwarding application by sending the JSON formatted message via a UNIX domain socket. DPDK telemetry component will respond with a JSON formatted reply delivering the requested metrics. Plugin parses the JSON data and publishes the metric values to collectd for further use.
Parameters
The following parameters are available in the collectd::plugin::dpdk_telemetry
class:
ensure
Data type: Enum['present', 'absent']
Ensure param for collectd::plugin type.
Default value: 'present'
client_socket_path
Data type: Stdlib::Absolutepath
UNIX domain client socket to receive messages from DPDK telemetry library.
Default value: '/var/run/.client'
dpdk_socket_path
Data type: Stdlib::Absolutepath
UNIX domain DPDK telemetry socket to be connected to send messages.
Default value: '/var/run/dpdk/rte/telemetry'
collectd::plugin::entropy
https://collectd.org/wiki/index.php/Plugin:Entropy
Parameters
The following parameters are available in the collectd::plugin::entropy
class:
ensure
Data type: Any
Default value: 'present'
interval
Data type: Any
Default value: undef
collectd::plugin::ethstat
https://collectd.org/wiki/index.php/Plugin:Ethstat
Parameters
The following parameters are available in the collectd::plugin::ethstat
class:
ensure
Data type: Any
Default value: 'present'
interfaces
Data type: Array
Default value: []
maps
Data type: Array
Default value: []
mappedonly
Data type: Any
Default value: false
interval
Data type: Any
Default value: undef
collectd::plugin::exec
See http://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_exec
Parameters
The following parameters are available in the collectd::plugin::exec
class:
commands
Data type: Hash
Default value: {}
commands_defaults
Data type: Hash
Default value: {}
interval
Data type: Any
Default value: undef
ensure
Data type: Any
Default value: 'present'
globals
Data type: Boolean
Default value: false
collectd::plugin::fhcount
https://collectd.org/wiki/index.php/Plugin:Fhcount
Parameters
The following parameters are available in the collectd::plugin::fhcount
class:
ensure
Data type: Any
Default value: 'present'
valuesabsolute
Data type: Boolean
Default value: true
valuespercentage
Data type: Boolean
Default value: false
interval
Data type: Any
Default value: undef
collectd::plugin::filecount
https://collectd.org/wiki/index.php/Plugin:FileCount
Parameters
The following parameters are available in the collectd::plugin::filecount
class:
ensure
Data type: Any
Default value: 'present'
directories
Data type: Hash
Default value: {}
interval
Data type: Any
Default value: undef
collectd::plugin::filter
https://collectd.org/wiki/index.php/Chains
Parameters
The following parameters are available in the collectd::plugin::filter
class:
ensure
Data type: Any
Default value: 'present'
precachechain
Data type: Any
Default value: 'PreChain'
postcachechain
Data type: Any
Default value: 'PostChain'
collectd::plugin::fscache
https://collectd.org/wiki/index.php/Plugin:FSCache
Parameters
The following parameters are available in the collectd::plugin::fscache
class:
ensure
Data type: Any
Default value: 'present'
collectd::plugin::genericjmx
https://collectd.org/wiki/index.php/Plugin:GenericJMX
Parameters
The following parameters are available in the collectd::plugin::genericjmx
class:
ensure
Data type: Any
Default value: 'present'
jvmarg
Data type: Any
Default value: []
manage_package
Data type: Any
Default value: undef
collectd::plugin::hddtemp
https://collectd.org/wiki/index.php/Plugin:HDDTemp
Parameters
The following parameters are available in the collectd::plugin::hddtemp
class:
host
Data type: Stdlib::Host
Default value: '127.0.0.1'
port
Data type: Stdlib::Port
Default value: 7634
ensure
Data type: Any
Default value: 'present'
interval
Data type: Any
Default value: undef
collectd::plugin::hugepages
== Class: collectd::plugin::hugepages
Class to manage hugepages write plugin for collectd
Documentation: https://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_hugepages
=== Parameters
[ensure] Ensure param for collectd::plugin type. Defaults to 'ensure'
[interval] Interval setting for the plugin Defaults to undef
[report_per_node_hp] If enabled, information will be collected from the hugepage counters in "/sys/devices/system/node/*/hugepages". This is used to check the per-node hugepage statistics on a NUMA system. Defaults to true
[report_root_hp] If enabled, information will be collected from the hugepage counters in "/sys/kernel/mm/hugepages". This can be used on both NUMA and non-NUMA systems to check the overall hugepage statistics. Defaults to true
[values_pages] Whether to report hugepages metrics in number of pages Defaults to true
[values_bytes] Whether to report hugepages metrics in bytes Defaults to false
[values_percentage] Whether to report hugepages metrics in percentage Defaults to false
Parameters
The following parameters are available in the collectd::plugin::hugepages
class:
ensure
Data type: Enum['present', 'absent']
Default value: 'present'
interval
Data type: Optional[Integer]
Default value: undef
report_per_node_hp
Data type: Boolean
Default value: true
report_root_hp
Data type: Boolean
Default value: true
values_pages
Data type: Boolean
Default value: true
values_bytes
Data type: Boolean
Default value: false
values_percentage
Data type: Boolean
Default value: false
collectd::plugin::intel_pmu
https://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_intel_pmu
Parameters
The following parameters are available in the collectd::plugin::intel_pmu
class:
ensure
report_hardware_cache_events
report_kernel_pmu_events
report_software_events
event_list
hardware_events
ensure
Data type: Enum['present', 'absent']
Default value: 'present'
report_hardware_cache_events
Data type: Boolean
Default value: false
report_kernel_pmu_events
Data type: Boolean
Default value: false
report_software_events
Data type: Boolean
Default value: false
event_list
Data type: Optional[String]
Default value: undef
hardware_events
Data type: Optional[Array[String]]
Default value: undef
collectd::plugin::intel_rdt
== Class: collectd::plugin::intel_rdt
Class to manage intel_rdt write plugin for collectd
Documentation: https://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_intel_rdt
=== Parameters
[ensure] Ensure param for collectd::plugin type. Defaults to 'ensure'
[interval] Interval setting for the plugin Defaults to undef
[cores] All events are reported on a per core basis. Monitoring of the events can be configured for group of cores (aggregated statistics). This field defines groups of cores on which to monitor supported events. The field is represented as list of strings with core group values. Each string represents a list of cores in a group. Allowed formats are: 0,1,2,3 0-10,20-18 1,3,5-8,10,0x10-12 If an empty string is provided as value for this field default cores configuration is applied - a separate group is created for each core. Defaults to ""
Parameters
The following parameters are available in the collectd::plugin::intel_rdt
class:
ensure
Data type: Enum['present', 'absent']
Default value: 'present'
interval
Data type: Optional[Integer]
Default value: undef
cores
Data type: Array[String[1]]
Default value: []
collectd::plugin::interface
https://collectd.org/wiki/index.php/Plugin:Interface
Parameters
The following parameters are available in the collectd::plugin::interface
class:
ensure
Data type: Any
Default value: 'present'
interfaces
Data type: Array
Default value: []
ignoreselected
Data type: Boolean
Default value: false
reportinactive
Data type: Boolean
Default value: true
interval
Data type: Any
Default value: undef
collectd::plugin::ipc
== Class: collectd::plugin::ipc
Class to manage ipc write plugin for collectd
Documentation: https://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_ipc
=== Parameters
[ensure] Ensure param for collectd::plugin type. Defaults to 'ensure'
Parameters
The following parameters are available in the collectd::plugin::ipc
class:
ensure
Data type: Enum['present', 'absent']
Default value: 'present'
collectd::plugin::ipmi
https://collectd.org/wiki/index.php/Plugin:IPMI
Parameters
The following parameters are available in the collectd::plugin::ipmi
class:
ensure
ensure_package
ignore_selected
interval
manage_package
notify_sensor_add
notify_sensor_remove
notify_sensor_not_present
sensors
ensure
Data type: Any
Default value: 'present'
ensure_package
Data type: Any
Default value: 'present'
ignore_selected
Data type: Boolean
Default value: false
interval
Data type: Any
Default value: undef
manage_package
Data type: Any
Default value: undef
notify_sensor_add
Data type: Boolean
Default value: false
notify_sensor_remove
Data type: Boolean
Default value: true
notify_sensor_not_present
Data type: Boolean
Default value: false
sensors
Data type: Array
Default value: []
collectd::plugin::iptables
https://collectd.org/wiki/index.php/Plugin:IPTables
Parameters
The following parameters are available in the collectd::plugin::iptables
class:
ensure
Data type: Any
Default value: 'present'
ensure_package
Data type: Any
Default value: 'present'
manage_package
Data type: Any
Default value: undef
chains
Data type: Hash
Default value: {}
chains6
Data type: Hash
Default value: {}
interval
Data type: Any
Default value: undef
collectd::plugin::irq
https://collectd.org/wiki/index.php/Plugin:IRQ
Parameters
The following parameters are available in the collectd::plugin::irq
class:
ensure
Data type: Any
Default value: 'present'
irqs
Data type: Array
Default value: []
ignoreselected
Data type: Boolean
Default value: false
interval
Data type: Any
Default value: undef
collectd::plugin::iscdhcp
Class: collectd::plugin::iscdhcp
- See also
- https://pypi.python.org/pypi/collectd-iscdhcp
- Configures iscdhcp metrics collection. Optionally installs the required plugin packages
- https://pypi.python.org/pypi/collectd-iscdhcp
Parameters
The following parameters are available in the collectd::plugin::iscdhcp
class:
ensure
Data type: Enum['present', 'absent']
Optional[String] Passed to package and collectd::plugin resources (both). Default: present
Default value: 'present'
manage_package
Data type: Optional[Boolean]
Optional[Boolean] Toggles installation of plugin. Default: undef
Default value: undef
package_name
Data type: String[1]
Optional[String] Name of plugin package to install. Default: collectd-iscdhcp
Default value: 'collectd-iscdhcp'
package_provider
Data type: Optional[String[1]]
Optional[String] Passed to package resource. Default: pip
Default value: undef
provider_proxy
Data type: Optional[String[1]]
Optional[String] Proxy for provider. Default: undef
Default value: undef
collectd::plugin::java
https://collectd.org/wiki/index.php/Plugin:Java
Parameters
The following parameters are available in the collectd::plugin::java
class:
ensure
Data type: Any
Default value: 'present'
jvmarg
Data type: Any
Default value: []
loadplugin
Data type: Any
Default value: {}
interval
Data type: Any
Default value: undef
manage_package
Data type: Any
Default value: undef
java_home
Data type: Optional[Stdlib::Absolutepath]
Default value: undef
collectd::plugin::load
https://collectd.org/wiki/index.php/Plugin:Load
Parameters
The following parameters are available in the collectd::plugin::load
class:
ensure
Data type: Any
Default value: 'present'
interval
Data type: Any
Default value: undef
report_relative
Data type: Any
Default value: false
collectd::plugin::logfile
https://collectd.org/wiki/index.php/Plugin:LogFile
Parameters
The following parameters are available in the collectd::plugin::logfile
class:
ensure
Data type: Any
Default value: 'present'
interval
Data type: Any
Default value: undef
log_level
Data type: Any
Default value: 'info'
log_file
Data type: Any
Default value: '/var/log/collectd.log'
log_timestamp
Data type: Any
Default value: true
print_severity
Data type: Any
Default value: false
collectd::plugin::logparser
https://wiki.opnfv.org/display/fastpath/Logparser+plugin+HLD
Parameters
The following parameters are available in the collectd::plugin::logparser
class:
ensure
Data type: Any
Default value: 'present'
logfile
Data type: Array[Hash[String[1],Collectd::LOGPARSER::Logfile]]
Default value: [{ '/var/log/syslog' => { 'firstfullread' => false, 'message' => [ 'pcie_errors' => { 'defaulttype' => 'pcie_error', 'defaultseverity' => 'warning', 'match' => [{ 'aer error' => { 'regex' => 'AER:.*error received', 'submatchidx' => -1, }, 'incident time' => { 'regex' => '(... .. ..:..:..) .* pcieport.*AER', 'submatchidx' => 1, 'ismandatory' => false, }, 'root port' => { 'regex' => 'pcieport (.*): AER:', 'submatchidx' => 1, 'ismandatory' => true, }, 'device' => { 'plugininstance' => true, 'regex' => ' ([0-9a-fA-F:\\.]*): PCIe Bus Error', 'submatchidx' => 1, 'ismandatory' => false, }, 'severity_mandatory' => { 'regex' => 'severity=', 'submatchidx' => -1, }, 'nonfatal' => { 'regex' => 'severity=.*\\([nN]on-[fF]atal', 'typeinstance' => 'non_fatal', 'ismandatory' => false, }, 'fatal' => { 'regex' => 'severity=.*\\([fF]atal', 'severity' => 'failure', 'typeinstance' => 'fatal', 'ismandatory' => false, }, 'corrected' => { 'regex' => 'severity=Corrected', 'typeinstance' => 'correctable', 'ismandatory' => false, }, 'error type' => { 'regex' => 'type=(.*),', 'submatchidx' => 1, 'ismandatory' => false, }, 'id' => { 'regex' => ', id=(.*)', 'submatchidx' => 1, }, }], }, ], } }]
collectd::plugin::lvm
https://collectd.org/wiki/index.php/Plugin:LVM
Parameters
The following parameters are available in the collectd::plugin::lvm
class:
ensure
Data type: Any
Default value: 'present'
manage_package
Data type: Any
Default value: undef
interval
Data type: Any
Default value: undef
collectd::plugin::mcelog
https://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_mcelog
Parameters
The following parameters are available in the collectd::plugin::mcelog
class:
ensure
Data type: Enum['present', 'absent']
Default value: 'present'
manage_package
Data type: Optional[Boolean]
Default value: undef
package_install_options
Data type: Optional[Array]
Default value: $collectd::package_install_options
mceloglogfile
Data type: Optional[String]
Default value: undef
memory
Data type: Collectd::MCELOG::Memory
Default value: { 'mcelogclientsocket' => '/var/run/mcelog-client', 'persistentnotification' => false, }
collectd::plugin::memcached
https://collectd.org/wiki/index.php/Plugin:memcached
Parameters
The following parameters are available in the collectd::plugin::memcached
class:
ensure
Data type: Any
Default value: 'present'
instances
Data type: Hash
Default value: { 'default' => { 'host' => 'localhost', 'address' => '127.0.0.1', 'port' => 11211, }, }
interval
Data type: Any
Default value: undef
collectd::plugin::memory
https://collectd.org/wiki/index.php/Plugin:Memory
Parameters
The following parameters are available in the collectd::plugin::memory
class:
ensure
Data type: Any
Default value: 'present'
valuesabsolute
Data type: Boolean
Default value: true
valuespercentage
Data type: Boolean
Default value: false
interval
Data type: Any
Default value: undef
collectd::plugin::mongodb
Class: collectd::plugin::mongodb
Parameters
The following parameters are available in the collectd::plugin::mongodb
class:
db_user
Data type: String
db_pass
Data type: String
ensure
Data type: Enum['absent','present']
Default value: 'present'
interval
Data type: Optional[Variant[String,Float]]
Default value: undef
db_host
Data type: Stdlib::Host
Default value: '127.0.0.1'
db_port
Data type: Optional[Stdlib::Port]
Default value: undef
configured_dbs
Data type: Optional[Array]
Default value: undef
collectd_dir
Data type: Any
Default value: '/usr/lib/collectd'
collectd::plugin::mysql
MySQL plugin https://collectd.org/wiki/index.php/Plugin:MySQL
Parameters
The following parameters are available in the collectd::plugin::mysql
class:
ensure
Data type: Any
Default value: 'present'
manage_package
Data type: Any
Default value: undef
interval
Data type: Any
Default value: undef
collectd::plugin::netlink
https://collectd.org/wiki/index.php/Plugin:Netlink
Parameters
The following parameters are available in the collectd::plugin::netlink
class:
ensure
Data type: Any
Default value: 'present'
manage_package
Data type: Any
Default value: undef
interfaces
Data type: Array
Default value: []
verboseinterfaces
Data type: Array
Default value: []
qdiscs
Data type: Array
Default value: []
classes
Data type: Array
Default value: []
filters
Data type: Array
Default value: []
ignoreselected
Data type: Boolean
Default value: false
interval
Data type: Any
Default value: undef
collectd::plugin::network
https://collectd.org/wiki/index.php/Plugin:Network
Parameters
The following parameters are available in the collectd::plugin::network
class:
ensure
Data type: Enum['present', 'absent']
Default value: 'present'
timetolive
Data type: Optional[Pattern[/[0-9]+/]]
Default value: undef
maxpacketsize
Data type: Optional[Pattern[/[0-9]+/]]
Default value: undef
forward
Data type: Optional[Boolean]
Default value: undef
interval
Data type: Optional[Integer[1]]
Default value: undef
reportstats
Data type: Optional[Boolean]
Default value: undef
listeners
Data type: Hash
Default value: {}
servers
Data type: Hash
Default value: {}
collectd::plugin::nfs
https://collectd.org/wiki/index.php/Plugin:NFS
Parameters
The following parameters are available in the collectd::plugin::nfs
class:
ensure
Data type: Any
Default value: 'present'
interval
Data type: Any
Default value: undef
collectd::plugin::nginx
https://collectd.org/wiki/index.php/Plugin:nginx
Parameters
The following parameters are available in the collectd::plugin::nginx
class:
url
Data type: Any
manage_package
Data type: Any
Default value: undef
ensure
Data type: Any
Default value: 'present'
user
Data type: Any
Default value: undef
password
Data type: Any
Default value: undef
verifypeer
Data type: Any
Default value: undef
verifyhost
Data type: Any
Default value: undef
cacert
Data type: Any
Default value: undef
interval
Data type: Any
Default value: undef
collectd::plugin::ntpd
https://collectd.org/wiki/index.php/Plugin:NTPd
Parameters
The following parameters are available in the collectd::plugin::ntpd
class:
ensure
Data type: Any
Default value: 'present'
host
Data type: Stdlib::Host
Default value: 'localhost'
port
Data type: Stdlib::Port
Default value: 123
reverselookups
Data type: Any
Default value: false
includeunitid
Data type: Any
Default value: false
interval
Data type: Any
Default value: undef
collectd::plugin::numa
== Class: collectd::plugin::numa
Class to manage numa write plugin for collectd
Documentation: https://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_numa
=== Parameters
[ensure] Ensure param for collectd::plugin type. Defaults to 'ensure'
Parameters
The following parameters are available in the collectd::plugin::numa
class:
ensure
Data type: Enum['present', 'absent']
Default value: 'present'
collectd::plugin::nut
https://collectd.org/wiki/index.php/Plugin:Nut
Parameters
The following parameters are available in the collectd::plugin::nut
class:
ensure
Data type: Any
Default value: 'present'
upss
Data type: Any
Default value: {}
collectd::plugin::openldap
https://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_openldap
Parameters
The following parameters are available in the collectd::plugin::openldap
class:
ensure
Data type: Any
Default value: 'present'
instances
Data type: Hash
Default value: { 'localhost' => { 'url' => 'ldap://localhost/' } }
interval
Data type: Any
Default value: undef
collectd::plugin::openvpn
https://collectd.org/wiki/index.php/Plugin:OpenVPN
Parameters
The following parameters are available in the collectd::plugin::openvpn
class:
ensure
statusfile
improvednamingschema
collectcompression
collectindividualusers
collectusercount
interval
ensure
Data type: Any
Default value: 'present'
statusfile
Data type: Variant[Array[Stdlib::Absolutepath], Stdlib::Absolutepath]
Default value: '/etc/openvpn/openvpn-status.log'
improvednamingschema
Data type: Boolean
Default value: false
collectcompression
Data type: Boolean
Default value: true
collectindividualusers
Data type: Boolean
Default value: true
collectusercount
Data type: Boolean
Default value: false
interval
Data type: Any
Default value: undef
collectd::plugin::oracle
Oracle plugin https://collectd.org/wiki/index.php/Plugin:Oracle
Parameters
The following parameters are available in the collectd::plugin::oracle
class:
ensure
Data type: Enum['present', 'absent']
Default value: 'present'
manage_package
Data type: Boolean
Default value: false
interval
Data type: Optional[Integer[1]]
Default value: undef
collectd::plugin::ovs_events
== Class: collectd::plugin::ovs_events
Class to manage ovs_events plugin for collectd
Documentation: https://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_ovs_events
=== Parameters
[ address ] The address of the OVS DB server JSON-RPC interface used by the plugin.
[dispatch] Dispatch the OVS DB interface link status value with configured plugin interval.
[ensure] ensure param for collectd::plugin type. Defaults to 'ensure'
[ interfaces ] List of interface names to be monitored by this plugin. If this option is not specified or is empty then all OVS connected interfaces on all bridges are monitored.
[manage_package] If enabled, manages separate package for plugin Defaults to true
[send_notification] If set to true, OVS link notifications (interface status and OVS DB connection terminate) are sent to collectd.
[package_name] If manage_package is true, this gives the name of the package to manage. Defaults to 'collectd-ovs_stats'
[port] TCP-port to connect to.
[socket] The UNIX domain socket path of OVS DB server JSON-RPC interface used by the plugin
Parameters
The following parameters are available in the collectd::plugin::ovs_events
class:
address
Data type: Optional[Stdlib::Host]
Default value: undef
dispatch
Data type: Optional[Boolean]
Default value: undef
ensure
Data type: Enum['present', 'absent']
Default value: 'present'
interfaces
Data type: Array
Default value: []
manage_package
Data type: Boolean
Default value: true
send_notification
Data type: Optional[Boolean]
Default value: undef
package_name
Data type: String[1]
Default value: 'collectd-ovs-events'
port
Data type: Optional[Stdlib::Port]
Default value: undef
socket
Data type: Optional[String[1]]
Default value: undef
collectd::plugin::ovs_stats
== Class: collectd::plugin::ovs_stats
Class to manage ovs_stats plugin for collectd
Documentation: https://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_ovs_stats
=== Parameters
[ address ] The address of the OVS DB server JSON-RPC interface used by the plugin.
[ bridges ] List of OVS bridge names to be monitored by this plugin. If this option is omitted or is empty then all OVS bridges will be monitored
[ensure] ensure param for collectd::plugin type. Defaults to 'ensure'
[manage_package] If enabled, manages separate package for plugin Defaults to true
[package_name] If manage_package is true, this gives the name of the package to manage. Defaults to 'collectd-ovs_stats'
[port] TCP-port to connect to.
[socket] The UNIX domain socket path of OVS DB server JSON-RPC interface used by the plugin
Parameters
The following parameters are available in the collectd::plugin::ovs_stats
class:
address
Data type: Optional[String]
Default value: undef
bridges
Data type: Optional[Array]
Default value: undef
ensure
Data type: String
Default value: 'present'
manage_package
Data type: Boolean
Default value: true
package_name
Data type: String
Default value: 'collectd-ovs-stats'
port
Data type: Optional[Stdlib::Port]
Default value: undef
socket
Data type: Optional[String]
Default value: undef
collectd::plugin::pcie_errors
Class to manage pcie_errors plugin for collectd
Parameters
The following parameters are available in the collectd::plugin::pcie_errors
class:
ensure
Data type: Enum['present', 'absent']
Ensure param for collectd::plugin type.
Default value: 'present'
source
Data type: Enum['sysfs', 'proc']
Use sysfs or proc to read data from /sysfs or /proc.
Default value: 'sysfs'
access_dir
Data type: Optional[String]
Directory used to access device config space.
Default value: undef
report_masked
Data type: Boolean
If true plugin will notify about errors that are set to masked in Error Mask register.
Default value: false
persistent_notifications
Data type: Boolean
If false plugin will dispatch notification only on set/clear of error.
Default value: false
collectd::plugin::perl
See http://collectd.org/documentation/manpages/collectd-perl.5.shtml
Parameters
The following parameters are available in the collectd::plugin::perl
class:
ensure
Data type: Any
Default value: 'present'
manage_package
Data type: Any
Default value: undef
interval
Data type: Any
Default value: undef
What are tasks?
Modules can contain tasks that take action outside of a desired state managed by Puppet. It’s perfect for troubleshooting or deploying one-off changes, distributing scripts to run across your infrastructure, or automating changes that need to happen in a particular order as part of an application deployment.
Tasks in this module release
Changelog
All notable changes to this project will be documented in this file. Each new release typically also includes the latest modulesync defaults. These should not affect the functionality of the module.
v14.0.0 (2022-09-07)
Breaking changes:
- Drop support of Debian 9, Ubuntu 16.04 and FreeBSD 11 (EOL) #990 (smortex)
- Make port and host optional for mysql plugin #988 (jovandeginste)
Implemented enhancements:
- Add support for EL9 #1005 (jovandeginste)
- puppet/epel: Allow 4.x #1004 (jovandeginste)
- move typesdb with concat resources #996 (fe80)
- Add support for FreeBSD 13 #991 (smortex)
Fixed bugs:
- Rely on autorequires of files when using concat #1003 (traylenator)
Closed issues:
- File['collectd.d'] -> Concat \<| tag == 'collectd' |> is too greedy #1000
Merged pull requests:
- rubocop compliance for modulesync_config 5.3.0 #1001 (traylenator)
- Drop Arch Linux support #997 (bastelfreak)
v13.0.0 (2021-09-13)
Breaking changes:
- Drop EoL Puppet 5 support; Add Puppet 7 support / Allow latest dependencies / Drop EoL Debian 8 #975 (bastelfreak)
Implemented enhancements:
- plugin::mysql::database - remove default 'UNSET' values #724
- Add support for Debian 11 #984 (smortex)
- MySQL database plugin: allow no password; default Host, User, and Password to undef #970 (ph448)
- Add ubuntu 20 support #941 (bastelfreak)
Fixed bugs:
- postgresql plugin does not produce working database configuration with writer query #971
- .sync.yml: load spec_helper_methods in spec_helper.rb #979 (bastelfreak)
- Removing extra whitespaces wrom carbon template #978 (markasammut)
- Emit CommitInterval when writer is configured for database #972 (ph448)
- Convert plugin_instance_format from Enum to String #969 (leifmadsen)
- Fix dbi query.conf.erg template #960 (VtG242)
- Fix type mismatch for ovs_stats port #959 (mrunge)
- Fix
ignoreselected
typo in protocols.conf.erb template #957 (VtG242) - Drop erroneous double quotes from virt plugin template #954 (leifmadsen)
Closed issues:
- [release request] v12.3.0 #974
- collectd::plugin::virt plugin_instance_format should not be Enum #968
- Python plugin template does not create valid module configuration #964
- ovs_stats port number mismatch #958
- collectd fails to load when using multiple hostname format values #953
Merged pull requests:
- Allow stdlib 8.0.0 #983 (smortex)
- Update badges in README.md #982 (bastelfreak)
- Adding Reverse Host parameter #973 (markasammut)
- Install collectd-mcelog package on RedHat #962 (uvNikita)
v12.2.0 (2020-09-18)
Implemented enhancements:
- Add PluginInstanceFormat parameter to virt plugin #955 (leifmadsen)
- Add support for Header and Metrics configuration for write_http plugin #944 (paramite)
Fixed bugs:
- Remove redundant white space from python templates #943 (traylenator)
- Fix unixsock default path #940 (smortex)
Merged pull requests:
- Convert mocha tests to rspec #952 (KeithWard)
- modulesync 3.0.0 / fix several puppet-ling warnings #951 (bastelfreak)
- Add options to limit the send queue length #950 (mrunge)
- Allow to set separate interval for database resource #945 (oleksandriegorov)
v12.1.0 (2020-05-04)
Implemented enhancements:
Fixed bugs:
- Snmp agent fix #937 (MichalRebisz)
- Fix Logparser template datatype handling #936 (MichalRebisz)
Merged pull requests:
v12.0.0 (2020-04-04)
Breaking changes:
- [collectd] rename log_parser to logparser #930 (prabiegx)
- Change all
port
parameters to useStdlib::Port
#906 (bastelfreak)
Fixed bugs:
- Install disk package if required prior CentOS 8 #929 (NikolayTsvetkov)
v11.4.0 (2020-03-29)
Implemented enhancements:
- Add Plugin Log parser #912 (MichalRebisz)
Fixed bugs:
- processes-config.conf file is not created #926
- Create processes plugin configuration on RedHat #927 (traylenator)
- Skip Load:ReportRelative as problematic for collectd 5.9.0 #924 (traylenator)
- Ignore more installed versions of python during tests #923 (traylenator)
v11.3.0 (2020-03-19)
Implemented enhancements:
- New utils parameter to install collectdctl #919 (traylenator)
- Require puppet-epel over stahnma-epel #918 (traylenator)
- Add CentOS 8 support #917 (traylenator)
- Add dpdk_telemetry plugin #913 (prabiegx)
Fixed bugs:
- write_http/disk is own sub package on CentOS 8 #920 (traylenator)
Closed issues:
- Time for a new version ? #684
v11.2.0 (2020-02-25)
Implemented enhancements:
- Add dcpmm plugin #914 (prabiegx)
- Add pcie_errors plugin #911 (prabiegx)
- Add SNMP agent plugin #910 (MichalRebisz)
Merged pull requests:
- Plugin Mcelog default config #909 (MichalRebisz)
v11.1.0 (2020-02-08)
Implemented enhancements:
- Add Mce log plugin #904 (MichalRebisz)
- Fix stdlib deprecation warnings #895 (amorphina)
- Add ReconnectInterval option to the write_graphite plugin (defaults to zero, introduced in version 5.6) #892 (markasammut)
- Plugin write kafka custom properties and meta #888 (nitrik)
- Accept to use python3 if python is not on the path #885 (traylenator)
Fixed bugs:
- fixes #901 by excluding the ReportRelative option #907 (bastelfreak)
- plugin/java: handle OpenJDK as well #880 (GiedriusS)
Closed issues:
- Error with Plugin "Load" with collectd-5.9 and RHEL-8 #901
- ProcEvent plugin uses ProcessRegex instead of RegexProcess #897
Merged pull requests:
- update repo links to https #903 (bastelfreak)
- modulesync 2.10.1 / Drop FreeBSD 9 & 10 / Add FreeBSD 11 and 12 / Drop Solaris #899 (dhoppe)
- Remove duplicate CONTRIBUTING.md file #898 (dhoppe)
- RegexProcess has been renamed during collectd #896 (mrunge)
- drop Ubuntu 14.04 support #894 (bastelfreak)
- Clean up acceptance spec helper #893 (ekohl)
- drop legacy precise code #891 (bastelfreak)
- travis: switch base OS from xenial to bionic #890 (bastelfreak)
- Apt update before installation of collectd #889 (theosotr)
v11.0.0 (2019-06-16)
Breaking changes:
- drop EOL Ubuntu 14.04 #884 (bastelfreak)
- modulesync 2.6.0 and drop Puppet 4 #872 (bastelfreak)
Implemented enhancements:
- Replace create_resources() calls #716
- Add puppet tasks to call collectdctl #882 (traylenator)
- replace create_resources with resource types #874 (zoojar)
- add flushinterval param to loadplugin config #873 (zoojar)
- add Ubuntu 18.04 support #868 (bastelfreak)
- Add address field to memcached plugin #853 (mrunge)
Fixed bugs:
- Cannot specify ci_package_repo => 5.8 even though 5.8 is available #741
- Allow puppetlabs/concat 6.x, puppetlabs/stdlib 6.x #881 (dhoppe)
- remove reference to collectd::plugin::perl::filename #849 (mindriot88)
Merged pull requests:
- Allow puppetlabs/apt 7.x #878 (dhoppe)
- puppet-lint: fix topscope_variable #875 (bastelfreak)
- replace deprecated has_key() with
in
#869 (bastelfreak)
v10.1.0 (2018-10-14)
Implemented enhancements:
- Adapt write http plugin to new format #848 (kazeborja)
- allow puppetlabs/apt 5.x #842 (bastelfreak)
- add AutoLoadPlugin to global options #840 (mrunge)
- Add configuration/support for NFVPE plugins #835 (paramite)
Fixed bugs:
- Persist the interval in the conf file as a number #859 (nbarrientos)
- Fix wrong closure of Host parameter for curljson template #845 (kazeborja)
Closed issues:
- Documentation for collectd::plugin::ping, needed to use class #841
Merged pull requests:
- allow puppet 6.x #861 (bastelfreak)
- Fix beaker tests #858 (alexjfisher)
- allow puppetlabs/stdlib 5.x , puppetlabs/apt 6.x and puppetlabs/concat 5.x #850 (bastelfreak)
- update gem dependencies #846 (bastelfreak)
- Update collectd::plugin::ping example with an example that has been tested to succeeded #843 (pckizer)
v10.0.1 (2018-07-29)
Fixed bugs:
- update broken README.md example for plugin::write_riemann #837 (archii)
- Flush plugin config files #832 (paramite)
v10.0.0 (2018-07-15)
Breaking changes:
- write_riemann plugin fixes and enhancements #830 (smortex)
- Cleanup how python modules are configured #821 (traylenator)
Implemented enhancements:
- Hash, Array entries in config to python plugin ? #819
- Array sorted in python module #586
- Feature request - thresholds #292
- Make the threshold plugin configurable #829 (smortex)
- Add tail_csv plugin #827 (sileht)
- Add table plugin #826 (sileht)
- Add powerdns plugin #824 (sileht)
- Add ipc plugin #823 (sileht)
- processes: Add missing options #822 (sileht)
- swap: add ReportIO option #814 (sileht)
v9.1.0 (2018-06-14)
Implemented enhancements:
- syslog: Add option notify_level #817 (sileht)
- ping: set parameters type and add Size #816 (sileht)
- turbotstat: Add LogicalCoreNames option #815 (sileht)
- Add numa plugin #813 (sileht)
- Add intel_rdt plugin #812 (sileht)
- add hugepages plugin #811 (sileht)
- mysql: Add some missing options #810 (sileht)
- Add amqp1 plugin support #802 (paramite)
- plugin: update cpu for collectd 5.8 #801 (sileht)
- plugin: add battery plugin #800 (sileht)
- apache: sync options and add tests #798 (sileht)
- Add ExtraStats parameter to virt plugin #797 (mrunge)
- Validate bind view parameters #796 (smortex)
Fixed bugs:
- collectd::plugin::python::module does not support number options #662
- Fixes #662 accept numbers into configuration file #818 (traylenator)
Merged pull requests:
- dont use topscope variables or includes #809 (bastelfreak)
- drop centos 6 support #808 (bastelfreak)
- A collectd::plugin::python acceptance test #805 (traylenator)
- doc: tell rake rubocop is needed #799 (sileht)
v9.0.1 (2018-05-21)
Fixed bugs:
v9.0.0 (2018-05-20)
Breaking changes:
- collectd::plugin::ceph - Add additional data types #781 (juniorsysadmin)
- collectd::plugin::bind - Add additional data types #780 (juniorsysadmin)
- collectd::plugin::apache - Use data types #779 (juniorsysadmin)
- collectd::plugin::amqp - Use data types #778 (juniorsysadmin)
- collectd::plugin::oracle - Use data types #776 (juniorsysadmin)
- collectd::plugin::network - Add data types #775 (juniorsysadmin)
- Use data types, remove anchors #773 (juniorsysadmin)
- config.pp clean up #772 (juniorsysadmin)
- Standardize file permissions, allow non-root #767 (juniorsysadmin)
Implemented enhancements:
- Owner and modes for plugin files should reference ones set in collectd init #719
- Add support for nut plugin (#621) #681 (trustchk)
Fixed bugs:
- service resource name 'collectd' should be renamed #688
- Remove array sorting in python module template (#586) #792 (jlutran)
- Use $collectd::service_name consistently #771 (juniorsysadmin)
Merged pull requests:
- Rely on beaker-hostgenerator for docker nodesets #791 (ekohl)
- collectd::plugin::contextswitch - Use data types #787 (juniorsysadmin)
- collectd::plugin::cpu - Use data types #786 (juniorsysadmin)
- collectd::plugin::cpufreq - Use data types #785 (juniorsysadmin)
- collectd::plugin::conntrack - Use data types #784 (juniorsysadmin)
- collectd::plugin::chain - Use data types #783 (juniorsysadmin)
- collectd::plugin::cgroups - Add more data types #782 (juniorsysadmin)
- collectd::plugin::aggregation - add data types #777 (juniorsysadmin)
- Use one operating system for most RSpec tests #770 (juniorsysadmin)
- Remove parameters from collectd::install class #769 (juniorsysadmin)
- Remove parameters from collectd::service class #768 (juniorsysadmin)
- add assert_private to private classes #766 (bastelfreak)
- Convert collectd_plugin_fscache_spec to rspec-puppet-facts #736 (alexjfisher)
v8.3.0 (2018-03-28)
Breaking changes:
Implemented enhancements:
Merged pull requests:
- bump puppet version dependency to >= 4.10.0 \< 6.0.0 #764 (bastelfreak)
v8.2.0 (2018-03-16)
Implemented enhancements:
- Add intel_pmu plugin #760 (pllopis)
- feat: add package_keyserver parameter #746 (marcdeop)
- Add class ovs_events plugin #743 (paramite)
Fixed bugs:
- Collectd fails to start when wsrepstats is enabled #757
- Fix the MySQL plugin's WsrepStats parameter #758 (steventwheeler)
v8.1.0 (2018-02-13)
Implemented enhancements:
Merged pull requests:
- generate acceptance tests by modulesync #754 (bastelfreak)
- add ruby 2.5.0 to the testmatrix #751 (bastelfreak)
v8.0.1 (2018-01-26)
Merged pull requests:
- Adds class ovs_stats plugin #742 (paramite)
- Remove duplicate 'include' #740 (alexjfisher)
v8.0.0 (2017-12-08)
Breaking changes:
- plugin::genericjmx::mbean - Use data types #726 (juniorsysadmin)
- plugin::genericjmx::connection - Use data types #725 (juniorsysadmin)
- plugin::filecount::directory - data type changes #718 (juniorsysadmin)
- Make it possible to add processes one by one #712 (oscarkraemer)
Implemented enhancements:
- Escape json posts in curl_json plugin #735 (alexjfisher)
- added: check params variable in query pg template #731 (vaclandic)
- plugin/mysql: optional wsrepstats setting #710 (martbhell)
Fixed bugs:
- Process plugin silently breaks processmatch/process defines. #652
- Processes plugin creates strange config #595
Merged pull requests:
- Fix typos in README #737 (alexjfisher)
- replace topscope variables with facts hash #734 (bastelfreak)
- Remove EOL operatingsystems #733 (ekohl)
- plugin::mysql::database - Add data type #727 (juniorsysadmin)
- plugin::filter::target - Use data types #723 (juniorsysadmin)
- plugin::filter::rule - add data type #722 (juniorsysadmin)
- plugin::filter::match - Use data types #721 (juniorsysadmin)
- plugin::filter::chain - Use data types #720 (juniorsysadmin)
- collectd::plugin::exec::cmd clean up #717 (juniorsysadmin)
- plugin::apache::instance -don't assign from params #715 (juniorsysadmin)
v7.0.0 (2017-11-11)
Breaking changes:
- Bump puppetlabs-stdlib to 4.13.1 #703 (juniorsysadmin)
Implemented enhancements:
Fixed bugs:
- Fix markup of headers #711 (traylenator)
- Fix strict variables error when facts are missing #708 (alexjfisher)
- Install 'collectd-python' package on Amazon Linux. #671 (irgeek)
Closed issues:
Merged pull requests:
- Use $facts hash instead of topscope variables #709 (alexjfisher)
- replace validate_* with datatypes #706 (bastelfreak)
- plugin::dbi - Use data types #705 (juniorsysadmin)
- plugin::curl - Use data types #704 (juniorsysadmin)
- plugin::aggregation - Use data types #702 (juniorsysadmin)
- plugin::apache - Use data types #701 (juniorsysadmin)
- Fix zookeeper tests #698 (bastelfreak)
v6.0.0 (2017-10-18)
Breaking changes:
- Fix sensors plugin params #683 (archii)
- Fixes #549: Unable to define a multi-value type #604 (jkroepke)
Implemented enhancements:
- Add parameter to customize location of python plugin configuration #638
- Support for snmp v3 #236
- Add support for Chain6 directive #694 (herver)
- Change 'Redhat' to 'RedHat' when comparing against the osfamily fact #667 (bodgit)
- Add SNMPv3 support #665 (bodgit)
- Add tests for the AMQP plugin and fix broken StoreRates configuration when amqpformat = JSON #661 (oranenj)
- provide sane defaults for manage_repo #658 (bastelfreak)
- openldap - add binddn and password parameters #657 (leonkyneur)
- Added ISC DHCP pool metrics plugin #650 (jskarpe)
- df: add devices parameter #646 (maage)
- Added cuda GPU plugin #645 (jskarpe)
- Plugin turbostat #642 (jkroepke)
- Parametrize destination of python config #637 (Pigueiras)
- Stop specifying $name as the default host value #631 (jamtur01)
- Add CounterSum support to statsd config #620 (phss)
- add new parameter module_import in plugin::python::module #618 (contargo-development)
- Added plugin oracle #613 (jkroepke)
- Changes RedHat repo to use the EPEL module #603 (petems)
- collectd::plugin::amqp is now supporting the routingkey option #582 (alexxxxx)
Fixed bugs:
- Template in collectd::plugin::perl::plugin generates unstable output #635
- Unable to define a multi-value type #549
- Fix writing of postgresql query params and add a test #656 (andrewward)
- Add Support for older versions of
libyajl
#648 (petems) - Oracle Database definition must be at bottom #643 (jkroepke)
- Remove quotes from boolean options #640 (mirekys)
- Use sort on hashes in template perl/plugin.erb #636 (blajos)
Closed issues:
- IPTables plugin doesn't support IPv6 #693
- aggregation plugin error: The plugin either only expects "simple" configuration statements or wasn't loaded using `LoadPlugin'. #680
- Why does the python plugin insist on permissions? #679
- Remove quotes from the Forward option #639
Merged pull requests:
- modulesync 1.2.0 #696 (wyardley)
- bump version on puppetlabs/apt dependency #692 (costela)
- modulesync 0.22.0 #687 (bastelfreak)
- Remove interval parameter from write plugins. #685 (kbor)
- add fscache plugin #682 (wildente)
- Bump required puppet version 4.6.1->4.7.0 #675 (bastelfreak)
- drop legacy OS from support matrix #674 (bastelfreak)
- rspec-puppet-facts integration #673 (bastelfreak)
- Fix github license detection #669 (alexjfisher)
- Do not set a value for the collectd_version fact if collectd is not y… #668 (m3t30r)
- Install Redis plugin package if needed #666 (bodgit)
- Update
collectd::plugin::python::module
README #660 (sigv) - add $measureresponsecode for curl plugin #659 (azhurbilo)
- curl_json: support parameters: host, digest, post, timeout #649 (maage)
v5.3.0 (2017-01-13)
This is the last release with Puppet 3 support!
- Include custom rabbitmq types
- Enable acceptance tests
- Add Collectd CI Package repos
- Add write_prometheus plugin (#600)
- Fix python_dir fact for RedHat.
- Updates to write_riemann (#605)
- Add base threshold plugin
- Tag collectd's concat resources
2016-12-05 Release 5.2.0
- Modulesync with latest Vox Pupuli defaults
- Fix: Enforce collectd.d directory before all Concats
- Fix: Add ability to add files via hiera
- Fix: Don't accidently upgrade collectd while installing plugins
- Fix: Manage EPEL if needed
- Fix: Set correct installation path for plugins
- Feature: Updat kafka plugin
- Feature: Update Ceph plugin to support more cluster types
- Feature: Add SMART plugin
- Feature: Add support for multiple instances for memcached
- Feature: Extend snmp plugin
- Feature: Add hddtemp plugin
- Feature: Add UUID plugin
- Feature: Introduce rspec-puppet-facts to multiple spec tests
- Feature: Add ppa support on Ubuntu
- Feature: Add provider_proxy for pip
- Feature: Add support for Interface plugin option ReportInactive
- Feature: Add support for ReportNumCpu in CPU plugin introduced in collectd 5.6
- Feature: Add thermal plugin
- Feature: Allow multiple python plugin configs
2016-08-18 Release 5.1.0
- Modulesync with latest Vox Pupuli defaults
- Fix: Target replace filter fix to allow identical keys with different values
- Fix: Check $manage_package if not undef
- Fix: Adding has_wordexp variable for template
- Fix: Remove quotes from VerifyPeer and VerifyHost (don't treat bools as strings)
- Feature: Add password parameter to redis plugin
- Feature: Add scale plugin
- Feature: Add a java_home option to javaplugin
2016-05-26 Release 5.0.0
Backwards-incompatible changes:
- The libvirt plugin has been renamed to simply virt, per collectd upstream
New features
- Add plugin::cgroups
- Add plugin::fhcount
- Add plugin::ipmi
- Add plugin::rabbitmq
- Add parameter StoreRates to amqp plugin
- Support for STRICT_VARIABLES=yes
- Add initial OpenBSD support
Bug fixes
- Manage collectd-disk package on collectd >= 5.5 (fix #457)
- fix typo in write_sensu class example
Maintenance
- Add support for puppetlabs-concat 2.x
- Enhance the curl_json plugin
- Improve FreeBSD support
- A lot of new spec tests
- modulesync to latest voxpupuli defaults (0.6.4)
2016-02-01 Release 4.3.0
New features
- Add plugin::dbi (fix #319)
- Add plugin::filter (fix #322)
- Add support for CollectInternalStats (fix #332)
- Add plugin::write_sensu (fix #335)
- Make management of package optional (fix #341)
- Add plugin::dns (fix #356)
- Add install options (fix #357)
- Add plugin::mongodb (fix #372)
- Add plugin::openldap (fix #381)
- Allow changing file mode of collectd.d (fix #384)
- Add support for complex module configs (fix #391)
- Add plugin::ethstat (fix #395)
Bug fixes
- plugin/snmp: Fix typo (fix #338)
- Sort keys of curl_json.conf.erb (fix #342)
- Remove duplicate parameters (fix #345)
- Use correct collectd_version (fix #347)
- plugin/mysql: Remove Master/Slave if statement (fix #355)
- Fix variables for Solaris (fix #360)
- plugin/filecount: Do not emit empty Plugin block (fix #361)
- plugin/mysql: Pin InnodbStats to MySQL >= 5.5 (fix #362)
- plugin/process: Fix startup for Debian/Wheezy (fix #364)
- plugin/ping: Transition from defined type to class (fix #370)
- plugin/dbi: Fix empty database name (fix #382)
2015-09-03 Release 4.2.0
New features
- Add support for types.db
- Add plugin::netlink
- Add collectd::plugin::ceph
- Add support for the new AllPortsSummary option
- plugin/mysql: Add innodbstats and slavenotifications
- plugin/snmp: Remove sorting of Values option in data block
- plugin/snmp: Support InstancePrefix, Scale and Shift options
- plugin/logfile: Add support for PrintSeverity option (fix #317)
- plugin/exec: Exec plugin can also be used with a parameterized class.
Bug fixes
- plugin/snmp: Check if Table option is defined
2015-08-05 Release 4.1.2
Fix .travis.yml so that deploys work, better
2015-08-05 Release 4.1.1
Fix .travis.yml so that deploys work
2015-08-05 Release 4.1.0
This module now lives on the puppet community github organization.
New features
- Add option to not install collectd-iptables on centos 6
- Allow iptables chains parameter to be an array
- Support UdevNameAttr attribute on disk plugin (fixes #300)
2015-07-26 Release 4.0.0
Backwards-incompatible changes:
- Exec plugin was renamed from collectd::plugin::exec to collectd::plugin::exec::cmd to support multiple execs
- Write_graphite was renamed from collectd::plugin::write_graphite to collectd::plugin::write_graphite::carbon to supports multiple carbon backends
New features
- Support for the aggregation, chain, and protocols plugins
- Swap and Memory plugins now support ValuesAbsolute and ValuesPercentage
- OpenVPN plugin now supports multiple statusfiles
Bug fixes
- Fixed bug preventing multiple instances of curl_json
- Fixed write_http plugin on RedHat
2015-06-16 Release 3.4.0
Backwards-incompatible changes:
- Implement support for mupltiple Python modules
Bug fixes
- snmp/host.pp validate_re validate on string
- quote reserved word type in tail.pp
New features
- add new cpu plugin options introduced in collectd 5.5
- Added absent timers for statsd module.
Testing enhancements
- Add ruby 2.2.0 to TravisCI
- Add puppet4 to .travis and update ruby to 2.1.6
- Add metadata-json-lint gem
2015-04-22 Release 3.3.0
Backwards-incompatible changes:
- Drop Ruby 1.8.7 support
- Package collectd-python is no longer available in EPEL
Features:
- Allow disable forwarding in network::server
Bugs/Maint:
- Fix permission on MySQL plugin file
- Only set LogSendErrors option if collectd version >= 5.4.
- CreateFiles/CreateFilesAsync expect boolean values
2015-01-24 Release 3.2.0
Backwards-incompatible changes:
There are no known backwards compat changes, please add them to the CHANGELOG if you find one.
Summary:
The release adds support for 4 new plugins and adds redhat package support to a large number of plugins.
New Plugins:
- collectd::plugin::genericjmx
- collectd::plugin::java
- collectd::plugin::target_v5upgrade
- collectd::plugin::lvm
Features:
- plugin/rrdcached: Add CollectStatistics option
- plugin/ntpd: Add IncludeUnitID option
Bugs/Maint:
- Update metadata for more PE versions
- plugin/perl: changed exec in provider 'false' case
- plugin/varnish: package resouce ensure param passed
- plugin/postgresql: add package for redhat systems
- plugin/write_riemann: add package for redhat systems
- plugin/write_http: add package for redhat systems
- plugin/snmp: add package for redhat systems
- plugin/sensors: add package for redhat systems
- plugin/python: add package for redhat systems
- plugin/ping: add package for redhat systems
- plugin/perl: add package for redhat systems
- plugin/nginx: add package for redhat systems
- plugin/mysql: add package for redhat systems
- plugin/iptables: add package for redhat systems
- plugin/curl_json: add package for redhat systems
- plugin/curl: add package for redhat systems
- plugin/amqp: add package for redhat systems
- plugin/bind: add package for redhat systems
2014-12-26 Release 3.1.0
Backwards-incompatible changes:
There are no known backwards compat changes, please add them to the CHANGELOG if you find one.
Summary:
This release introduces support for 3 new plugins, new parameters for existing plugins, bugfixes, doc improvments and basic acceptance tests with beaker.
New Plugins:
- Add conntrack module
- Add cpufreq plugin
- Add collectd::plugin::zfs_arc
Features:
- filecount: support all options
- plugin::python introduce ensure parameter
- Make plugins passing the $interval parameter
- Support LogSendErrors on the write_graphite plugin
- curl: fix handling of some parameters
- curl_json: Support reading from a unix socket
- Adding support for WriteQueueLimitLow & WriteQueueLimitHigh, which were added in collectd 5.4
Bugs/Maint:
- Lintian fixes
- Ensure variable using 'false' will be interpreted.
- Cleaning the now redundant LoadPlugin declaration
- Uses the LoadPlugin syntax with bracket when supported
- Fix Puppet deprecation warning
- Add "" to Hostname
- Double quote the csv plugin DataDir.
- write_http: StoreRates is a bool, not a string
- curl : 'MeasureResponseTime' needs exactly one boolean argument
- Add collectd-apache package needed on RedHat
- Variables in templates should use @-notation
Tests:
- Basic acceptance test with beaker
- Add rspec test to ensure the bracket syntax is using when available
- Fix travis by using plabs gemfile
Docs:
- Add conntrack to README.md
- Add cpufreq plugin doc
- README.md: Fixed example entropy snippet.
2014-10-04 Release 3.0.1
Backwards-incompatible changes:
none
Summary:
Bug fix release
Features:
- Add support for manually specifying the hostname
Bugs:
- Add dependency for python plugins
- Set default value of chains to be hash
- Sort snmp data and hosts hash
2014-08-25 Release 3.0.0
Backwards-incompatible changes:
- Make sure plugin_conf_dir is not world readable
- Full rewrite of the network plugin
- Rewrite of postgresql module to allow invocation by defined types
Summary:
This release adds multiple new plugins and improvements
Features:
- Varnish plugin improvments
- Add the ability to customize package name.
- Add write_http plugin
- Add statsd plugin
- Add plugin logfile
- Add curl plugin
- Add support for sensors plugin
- Add support for perl plugins
- Allow custom Include directives
- Add valuesabsolute and valuespercentage to df plugin
Bugs:
- Issue 164: syslog plugin needs to be loaded as first plugin
- notify the collectd service when purging plugins
- add collectd-rrdtool package needed for RedHat
- sort python.conf options hash
2014-04-14 Release 2.1.0
Summary:
This release adds Gentoo osfamily support and minor plugin changes
Features:
- adding Gentoo support
- tcpconn plugin: $localports and $remoteports can me left undef if $listening is not set
- unixsock plugin: Implement the "DeleteSocket" option.
- add reportreserved parameter for df plugin
2014-04-14 Release 2.0.1
Summary:
Fix issue with metadata.json preventing Forge uploads
2014-04-14 Release 2.0.0
Summary:
This release adds support for several new plugins and contains some backwards-incompatible code refactors.
Backwards-incompatible changes:
- Storerates=true is now the default for the Graphite plugin
- Deprecate write_network plugin, use network plugin instead
- Make sure plugin configs are not world readable.
- Handle plugin order with collectd::plugin resource type (all collectd plugins config files will be renumbered from 00-$name.conf to 10-$name.conf)
Features:
- New plugins CSV, uptime, users, entropy, varnish, redis, contextswitch, cpu, nfs, vmem, libvirt
- Add socket parameter to mysql plugin
- Add reportbytes to swap plugin
- Add SeparateInstances setting to write_graphite plugin
- Add metadata.json for Forge search support
Bugs:
- Fix port parameter quotes in memcached plugin
- Fix collectd conf dir path parameter assignment
- Fix processes plugin configuration
- Force ReportReserved to true in df plugin
2014-01-18 Release 1.1.0
Summary:
This release adds support for new plugins and fixes multiple bugs in several plugin configurations.
Features:
- Added load plugin
- Added memory plugin
- Added rrdtool plugin
- Added swap plugin
- Initial version of PostgreSQL plugin
- Add protocol paramter to write_graphite plugin
- add tests for network module
- Support pre-4.7 network configs.
Bugs:
- Fix bug that always creates notification in exec on empty params
- fix typo in apache plugin manifest
- Make sure that plugins are always loaded before their configuration
- Add version check around emitting Protocol config
- mysql: use double quotes according to version
- Allow for alphanumeric collectd version numbers
- (gh-85) Fix null versioncmp bug in plugin templates
- (gh-69) Fix package name on RedHat
2013-12-17 Release 1.0.2
Summary:
This release adds the AMQP plugin and a collectd version fact.
Features:
- Add AMQP plugin
- Add class parameter typesdb
- Use collectd::params::root_group instead of fixed group name
- Add collectd version fact
2013-12-04 Release 1.0.1
Summary:
This release introduces Archlinux osfamily support and support for three new plugins ping, rrdcached, and processes.
Features:
- Initial version of rrdcached plugin
- Add configurable processes plugin
- Add quotes for string values in network plugin
- Add ping plugin
- Add support for Archlinux
- Allow to set all write_graphite options.
Bugs:
- Fixed missing double quotes in unixsock plugin template
- Added comma to syntax error in bind.pp
2013-10-20 Release 1.0.0
Summary:
This release breaks some backwards compatibility on some plugins where they improperly used strings instead of booleans parameters. This release also includes osfamily support for SUSE and FreeBSB and support for four new plugins.
Backwards-incompatible changes:
- Plugins that use to accept strings now use booleans for a more consistent interface across the various plugins
- The main collectd config file now only includes *.conf files to allow plugin specific files to be placed in the conf.d directory.
- The mysql plugin now supports multiple databases via the collectd::plugin::mysql::database define. This change breaks backwards compatiblity on the mysql plugin.
Features:
- osfamily support for SUSE
- osfamily support for FreeBSD
- tail plugin
- exec plugin
- python plugin
- write_riemann plugin
2013-09-27 Release 0.1.0
Summary:
Add curl_json and apache plugin
Backwards-incompatible changes:
- The write_network plugin now accepts a hash of servers
Features:
- Add curl_json plugin
- Added collectd package version parameter
- Add apache plugin
0.0.5 - pdxcat/collectd - 2013/09/24
6adca9a add ntpd plugin ab55fb4 Added tcpconns plugin and example for it in README 677ff72 Adding a new generic write_network plugin define 8cdd8b7 Added memcached plugin and example for it in README c3e4a02 Added examples to README for filecount, SNMP and unixsock f798c84 Added support for file count plugin 66f7392 Added support for SNMP and bumped stdlib dependency version to 3.0.0 7118450 Added support for unix socket plugin a062b11 Fixed source URL 1b214a2 Add testing docs to README
0.0.4 - pdxcat/collectd - 2013/08/26
9f3f0f6 Add bind plugin to readme f052087 Add bind plugin fc0c4c1 Add basic rspec-system test 0b2ec92 Fix README formatting issues 71dcad0 Add configurable plugins to the README 72b9f17 Add test for file_line 7eae468 Add buildstatus to the README b2cb208 Add travis.yml file 8cc16a8 Add purge_config enabled test 26683f0 Add spec test for collectd class 3f30650 Add spec helper files 0bee1d7 Add nginx plugin e2d558a Fix network plugin config syntax 79d8a68 Add network plugin c1085d7 Merge pull request #5 from agenticarus/newer-stdlib 88678bf Depend on newer version of stdlib 7dd9aaa added colorz to the README 628ed78 Added configuration for StoreRates and Port.
0.0.3 - pdxcat/collectd - 2013/05/27
f51660f Fixed test for collectd::plugin::irq 3019516 Added default field in selector for making syntax checkers happy. 39859e7 Added stdlib dependency for file_line
0.0.2 - pdxcat/collectd - 2013/05/09
185e16f Modifications for following puppetlabs style guide and add smoke tests for interface, irq and iptables d68275f Added interface, irq and iptables support. Untested though. b8312cc Added use of scope.lookupvar, allow configuration of threads and option to choose between hostname and fqdn
0.0.1 - pdxcat/collectd - 2013/02/06
8c64104 Add interval and timeout parameters e48288d Add redhat support to the collectd module. b6e3649 Add readme, module, and license files to collectd module. fb6b92f Fix bug in collectd::plugin define 4096cca Add purge_config option to collectd class 2a2974c Add purge option to collectd class 8acbef3 Add syslog plugin 137c919 Add ensure option for collectd::plugin 3406430 Fix plugins with wrong metaparams 315af94 Add collectd::plugin define for unconfigured plugins c085ebc Change include plugin file to include conf.d 171bddd Template openvpn plugin and parameterize the class 09c4df5 Add mysql plugin to collectd. 36f3465 Add disk plugin to collectd. 1e27a29 Fix collectd service subscription to conf file. 15f1ea7 Add Solaris collectd parameters c013e73 Add collectd df plugin support 9cac9c4 Add collectd support.
* This Changelog was automatically generated by github_changelog_generator
Dependencies
- puppetlabs-apt (>= 2.2.0 < 9.0.0)
- puppetlabs/concat (>= 4.1.0 < 8.0.0)
- puppetlabs/stdlib (>= 4.25.0 < 9.0.0)
- puppet-epel (>= 3.0.0 < 5.0.0)
- puppetlabs-python_task_helper (>= 0.2.0 < 1.0.0)
Copyright (C) 2013 Computer Action Team Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS