collectd-formula
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
- collectd-formula
- 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.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
General notes
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.
Contributing to this repo
Commit message formatting is significant!!
Please see How to contribute for more details.
Available states
collectd
Meta-state (This is a state that includes other states).
Installs the collectd package, and starts the associated collectd service.
collectd.service
Metastate used to include service into respective plugin states, included in collectd
state.
collectd.apache
Enables and configures the [apache](https://collectd.org/wiki/index.php/Plugin: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.
collectd.bind
Enables and configures the bind plugin.
collectd.dbi
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.
collectd.csv
Enables and configures the csv write plugin.
collectd.df
Enables and configures the df plugin.
collectd.disk
Enables and configures the disk plugin.
collectd.elasticsearch
Enables and configures the elasticsearch plugin
collectd.ethstat
Enables and configures the ethstat plugin (please note there is a possible bug in the debian package).
collectd.interface
Enables and configures the interface plugin.
collectd.java
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)
collectd.logfile
Enables and configures the logfile plugin.
collectd.modules
This state helps distributing collectd external modules written in various languages (see [python](https://collectd.org/wiki/index.php/Plugin:Python) or [perl](https://collectd.org/wiki/index.php/Plugin: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.
collectd.mysql
Enables and configures the mysql plugin. Needs refinement.
collectd.network
Enables and configures the network plugin.
collectd.ntpd
Enables and configures the ntpd plugin.
collectd.packages
This state is used to install OS packages collectd plugins depend on.
collectd.postgresql
Enables and configures the postgresql plugin. Needs refinement.
collectd.processes
Enables and configures the processes plugin
collectd.protocols
Enables and configures the protocols plugin
collectd.powerdns
Enables and configures the powerdns plugin.
collectd.redis
Enables and configures the redis plugin.
collectd.syslog
Enables and configures the syslog plugin.
collectd.tail
Enables and configures the tail plugin.
collectd.tcpconns
Enables and configures the tcpconns plugin.
collectd.types
Manages a TypesDB file stored at plugindirconfig/types.db.
collectd.curl_json
Enables and configures the curl_json plugin.
collectd.curl_xml
Enables and configures the curl_xml plugin.
collectd.python
Enables and configures the python plugin, which allows executiong arbitrary python scripts.
collectd.vmem
Enables and configures the vmem plugin.
collectd.librato
Enables and configures write_http plugin for reporting to Librato
collectd.zookeeper
Enables and configures the zookeeper plugin.
collectd.unixsock
Enables and configures the unixsock plugin.
Usage
Custom state file
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
Directly in topfile
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
Combined
Or you can combine both - default plugins in custom state and specific in topfile.
'apache-server': - collectd-custom - collectd.apache