collectd-formula

A salt formula that installs and configures collectd. The system statistics collection daemon.

Note

See the full Salt Formulas installation and usage instructions.

Available 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](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.

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)

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.

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 powerdns plugin.

Enables and configures the redis plugin.

Enables and configures the syslog plugin.

Enables and configures the tail plugin.

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

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