A SaltStack formula that installs and configures collectd. The system statistics collection daemon. start on a new formula and it serves as a style guide.
Table of Contents
- General notes
- Contributing to this repo
- Available states
collectd
collectd.service
collectd.apache
collectd.bind
collectd.dbi
collectd.csv
collectd.df
collectd.disk
collectd.elasticsearch
collectd.ethstat
collectd.interface
collectd.java
collectd.logfile
collectd.modules
collectd.mysql
collectd.network
collectd.ntpd
collectd.packages
collectd.postgresql
collectd.processes
collectd.protocols
collectd.powerdns
collectd.rabbitmq
collectd.redis
collectd.syslog
collectd.tail
collectd.tcpconns
collectd.types
collectd.curl_json
collectd.curl_xml
collectd.python
collectd.vmem
collectd.librato
collectd.zookeeper
collectd.unixsock
- Usage
See the full SaltStack Formulas installation and usage instructions.
If you are interested in writing or contributing to formulas, please pay attention to the Writing Formula Section.
If you want to use this formula, please pay attention to the FORMULA
file and/or git tag
,
which contains the currently released version. This formula is versioned according to Semantic Versioning.
See Formula Versioning Section for more details.
Commit message formatting is significant!!
Please see How to contribute for more details.
Meta-state (This is a state that includes other states).
Installs the collectd package, and starts the associated collectd service.
Metastate used to include service into respective plugin states, included in collectd
state.
Enables and configures the apache plugin. All common parameters are supported, so pass something like
apache: instances: - name: 'human-readable-name' url: 'http://localhost/server-status?auto' user: 'user' pass: 'your-password'
Only name
and url
are required.
Enables and configures the bind plugin.
Enables and configures the dbi plugin. It's used for quering databases with libdbi.
Refer to collectd.conf(5) manpage for details
and pillar.example
to see how values should be populated.
Beware this plugin may need additional packages installed on your system to run properly.
Enables and configures the csv write plugin.
Enables and configures the df plugin.
Enables and configures the disk plugin.
Enables and configures the elasticsearch plugin
Enables and configures the ethstat plugin (please note there is a possible bug in the debian package).
Enables and configures the interface plugin.
Enables and configures the java plugin. If enabled it will also collect tomcat catalina metrics.
Requires the installation of JDK.
Pillar values used under collectd.plugins.java, an example
collectd: plugins: java: host: localhost port: 39999 user: 'someuser' (optional) group: 'someuser' (optional) lib: '/some/file' (optional) tomcat: true (optional)
Enables and configures the logfile plugin.
This state helps distributing collectd external modules written in various languages (see python or perl for example).
Sample usage:
- Include
collectd.modules
in your topfile. - Create collectd/modules/files folder in your states.
- Put modules you need in that folder.
- Modules will be put in
collectd.moduledirconfig
folder.
Enables and configures the mysql plugin. Needs refinement.
Enables and configures the network plugin.
Enables and configures the ntpd plugin.
This state is used to install OS packages collectd plugins depend on.
Enables and configures the postgresql plugin. Needs refinement.
Enables and configures the processes plugin
Enables and configures the protocols plugin
Enables and configures the powerdns plugin.
Enables and configures the rabbitmq plugin.
Enables and configures the redis plugin.
Enables and configures the syslog plugin.
Enables and configures the tail plugin.
Enables and configures the tcpconns plugin.
Manages a TypesDB file stored at plugindirconfig/types.db.
Enables and configures the curl_json plugin.
Enables and configures the curl_xml plugin.
Enables and configures the python plugin, which allows executiong arbitrary python scripts.
Enables and configures the vmem plugin.
Enables and configures write_http plugin for reporting to Librato
Enables and configures the zookeeper plugin.
Enables and configures the unixsock plugin.
Create a custom state file (for example collectd-custom.sls
) that includes the plugins you want and the base state.
include: - collectd - collectd.disk - collectd.syslog
Then in your topfile:
'servername': - collectd-custom
Or if you don't mind having long lists in your topfile, just add whatever plugins you want and the base state.
'servername': - collectd - collectd.disk - collectd.syslog
Or you can combine both - default plugins in custom state and specific in topfile.
'apache-server': - collectd-custom - collectd.apache