collectd-formula
collectd-formula copied to clipboard
collectd-formula
|img_travis| |docs| |img_sr|
.. |img_travis| image:: https://travis-ci.com/saltstack-formulas/collectd-formula.svg?branch=master :alt: Travis CI Build Status :scale: 100% :target: https://travis-ci.com/saltstack-formulas/collectd-formula .. |docs| image:: https://readthedocs.org/projects/docs/badge/?version=latest :alt: Documentation Status :scale: 100% :target: https://collectd-formula.readthedocs.io/en/latest/?badge=latest .. |img_sr| image:: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg :alt: Semantic Release :scale: 100% :target: https://github.com/semantic-release/semantic-release
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.
.. contents:: Table of Contents
General notes
See the full SaltStack Formulas installation and usage instructions <https://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html>
_.
If you are interested in writing or contributing to formulas, please pay attention to the Writing Formula Section <https://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html#writing-formulas>
_.
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 <http://semver.org/>
_.
See Formula Versioning Section <https://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html#versioning>
_ for more details.
Contributing to this repo
Commit message formatting is significant!!
Please see How to contribute <https://github.com/saltstack-formulas/.github/blob/master/CONTRIBUTING.rst>
_ for more details.
Available states
.. contents:: :local:
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 plugin <https://collectd.org/wiki/index.php/Plugin:Apache>
_.
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) <https://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_dbi>
_ 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 <https://github.com/ministryofjustice/elasticsearch-collectd-plugin>
_
collectd.ethstat
^^^^^^^^^^^^^^^^^^^^
Enables and configures the ethstat plugin (please note there is a possible bug in the debian package <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=698584>
_).
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.rabbitmq
^^^^^^^^^^^^^^^^^^^^^
Enables and configures the rabbitmq 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