This module deploys and configures netdata. Netdata is a system for distributed real-time performance and health monitoring. More can be found on the netdata website.
This module requires you have a compatible OS and a functioning puppet infrastructure.
To deploy and configure default netdata...
class {'::netdata': }
To remove a deployed netdata...
class {'::netdata': ensure => 'absent'}
Note, ensure => 'absent'
is not currently supported on Ubuntu 14.04 due to the way puppet manages upstart.
To configure netdata as a Slave. Note, the GUID displayed here is just an example.
class {'::netdata':
remote_master => 'netdata-master.example.com',
remote_master_apikey => '9a83b18a-5cdb-4baf-8958-ad291ab781d3',
}
netdata::stream
To configure netdata as a Master
class {'::netdata':
master => true,
}
In order for netdata metrics to stream to a master, you must define a netdata stream API key. You can generate a GUID with uuidgen. More information can be found on netdata replication here.
netdata::stream {'9a83b18a-5cdb-4baf-8958-ad291ab781d3': }
To configure netdata as a Proxy
class {'::netdata':
master => true,
remote_master => 'netdata-master.example.com',
remote_master_apikey => '9a83b18a-5cdb-4baf-8958-ad291ab781d3',
}
netdata::stream {'9a83b18a-5cdb-4baf-8958-ad291ab781d3': }
netdata::plugin::bind_rndc
This plugin tracks bind rndc stats. More here.
netdata::plugin::bind_rndc {'example.com': }
update
Optional. Data collection frequency.priority
Optional. Order of the dashboard.retries
Optional. Number of restoration attempts.detect_retry
Optional. re-detect interval in seconds.
netdata::plugin::web_log
This plugin supports apache, apache_cache, nginx, gunicorn, and squid. More here.
netdata::plugin::web_log {'example.com':
logfile => '/var/log/nginx/example.com',
}
type
Optional. Type of service generating the log file.logfile
Required. This should be the full path of the logfile being monitored.
-
history
Default: 3600
Desc: The number of entries the netdata daemon will by default keep in memory for each chart dimension. -
debug_flags
Desc: Debug Flags. See more info. -
memory_mode
Default: save
Desc: The mode for storing metrics. Options are save, map ram and none. -
web_mode
Default: multi-threaded
Desc: Web UI mode, options are none, single-threaded and multi-threaded. -
update_every
Default: 1
Desc: The frequency in seconds, for data collection. -
port
Default: 19999
Desc: The default port to listen for web clients. -
bind_to
Default: *
Desc: The IPv4 address and port to listen to. -
master
Default: false
Desc: Set this to true for netdata to act as a master. -
remote_master
Default: undef
Desc: The Hostname of a remote netdata master. -
remote_master_port
Default: 19999
Desc: Port for remote netdata master. -
remote_master_apikey
Default: undef
Desc: This sets the API Key for talking to an upstream netdata. This must be a GUID. A netdata master must have a matching GUID defined with netdata::stream. -
registry
Default: false
Desc: Set to true in order for a netdata to act as a registry. -
registry_allowgroup
Default: *
Desc: List of subnets allowed to register. -
remote_registry
Default: undef
Desc: A central netdata that is configured withregistry => true
. -
remote_registry_port
Default: 19999
Desc: Port configured on the remote registry.
This module is tested with CentOS 6 and 7, Ubunu LTS 14.04, and 16.04. There is no guarantee that this module will work for other operating systems.
To execute acceptance tests...
PUPPET_INSTALL_TYPE=agent BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_debug=true BEAKER_set=docker/centos-7 bundle exec rake beaker
PUPPET_INSTALL_TYPE=agent BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_debug=true BEAKER_set=docker/ubuntu-18.04 bundle exec rake beaker
For this to work you must have docker installed and running locally
This module is currently maintained by Denver McAnally ([email protected]). Please feel free to contribute. When doing so, please be sure to provide appropriate test coverage. Please see puppetlabs contribution guide for more information.
Netdata is developed and maintained at netdata/netdata.