Module collectd — Inmanta 2017.4dev documentation

# Module collectd

> - License: Apache 2.0
> - Version: 0.2.1
> - Author: Inmanta <code@inmanta.com>
> - Upstream project: https://github.com/inmanta/collectd.git

## Entities

entity `collectd::Agent`

  Parents: `collectd::NetworkInput`, `collectd::NetworkOutput`

  A collectd agent that collects metrics

  attribute bool `forward`=False

    Instruct the network plugin to forward inputs to outputs

  attribute string `_plugin_config_path`
  attribute string `_service_name`
  relation collectd::Plugin `plugins` [0:*]

    other end: `collectd::Plugin.agent [1]`

  relation collectd::Type `types` [0:*]

  The following implementations are defined for this entity:

  > - `collectd::collectdAgent`
  > - `collectd::collectdAgentUbuntu`
  > - `collectd::customTypes`

  The following implements statements select implementations for this entity:

  > - `collectd::collectdAgent` constraint `(std::familyof(host.os,'rhel') or std::familyof(host.os,'fedora'))`
  > - `collectd::collectdAgentUbuntu` constraint `std::familyof(host.os,'ubuntu')`

entity `collectd::NetworkInput`

  Parents: `ip::services::Server`

  A collectd network input: accepts metrics using the collectd network protocol.

  relation collectd::NetworkOutput `outputs` [0:*]

    other end: `collectd::NetworkOutput.inputs [0:*]`

entity `collectd::NetworkOutput`

  Parents: `ip::services::BaseClient`

  A collectd network output: sends metrics over the network using the collect protocol.

  relation collectd::NetworkInput `inputs` [0:*]

    other end: `collectd::NetworkInput.outputs [0:*]`

entity `collectd::Plugin`

  Parents: `std::Entity`

  A collectd plugin that collects metrics

  attribute string `config`
  attribute string `name`
  attribute number `interval`=0
  attribute number `load_order`=10
  relation collectd::Agent `agent` [1]

    other end: `collectd::Agent.plugins [0:*]`

  The following implementations are defined for this entity:

  > - `collectd::loadPlugin`

entity `collectd::Type`

  Parents: `std::Entity`

  Add a new type to a custom types db

  attribute string `min`='U'
  attribute string `name`
  attribute string `type`
  attribute string `max`='U'

  The following implements statements select implementations for this entity:

  > - `std::none`

entity `collectd::Varnish`

  Parents: `collectd::Plugin`

  Enable the Varnish collectd plugin

  The following implementations are defined for this entity:

  > - `collectd::varnish`

  The following implements statements select implementations for this entity:

  > - `collectd::varnish`

entity `collectd::graphite::GraphiteWriter`

  Parents: `collectd::Plugin`

  A plugin to write metrics to graphite

  attribute string `escape_character`='_'
  attribute string `prefix`=''
  attribute string `postfix`=''
  relation graphite::Carbon `carbon` [1]

    other end: `graphite::Carbon.collectd_writer [0:*]`

  The following implementations are defined for this entity:

  > - `collectd::graphite::graphiteWriter`

  The following implements statements select implementations for this entity:

  > - `collectd::graphite::graphiteWriter`

entity `collectd::plugins::CPU`

  Parents: `collectd::Plugin`

  Collectd CPU plugin.

  attribute bool `valuespercentage`=False

    This option is only considered when both, ReportByCpu and ReportByState are set to true. In this case, by default, metrics will be reported as Jiffies. By setting this option to true, you can request percentage values in the un-aggregated (per-CPU, per-state) mode as well.

  attribute bool `reportbycpu`=True

    When set to true, the default, reports per-CPU (per-core) metrics. When set to false, instead of reporting metrics for individual CPUs, only a global sum of CPU states is emitted.

  attribute bool `reportbystate`=True

    When set to true, the default, reports per-state metrics, e.g. “system”, “user” and “idle”. When set to false, aggregates (sums) all non-idle states into one “active” metric.

  The following implementations are defined for this entity:

  > - `collectd::plugins::cpu`

  The following implements statements select implementations for this entity:

  > - `collectd::plugins::cpu`, `collectd::loadPlugin`

entity `collectd::plugins::Df`

  Parents: `collectd::Plugin`

  Disk free plugin

  attribute bool `reportreserved`=True
  attribute bool `valuesabsolute`=True

    Enables or disables reporting of free and used disk space in 1K-blocks. Defaults to true.

  attribute bool `ignoreselected`=False

    Invert the selection: If set to true, all partitions except the ones that match any one of the criteria are collected. By default only selected partitions are collected if a selection is made. If no selection is configured at all, all partitions are selected.

  attribute bool `reportbydevice`=False

    Report using the device name rather than the mountpoint. i.e. with this false, (the default), it will report a disk as “root”, but with it true, it will be “sda1” (or whichever).

  attribute string `device`

    Select partitions based on the devicename.

  attribute bool `valuespercentage`=False

    Enables or disables reporting of free and used disk space in percentage. Defaults to false. This is useful for deploying collectd on the cloud, where machines with different disk size may exist. Then it is more practical to configure thresholds based on relative disk size.

  attribute bool `reportinodes`=True

    Enables or disables reporting of free, reserved and used inodes. Defaults to inode collection being disabled. Enable this option if inodes are a scarce resource for you, usually because many small files are stored on the disk. This is a usual scenario for mail transfer agents and web caches.

  attribute list `mountpoints`
  attribute list `fstypes`

  The following implementations are defined for this entity:

  > - `collectd::plugins::df`

  The following implements statements select implementations for this entity:

  > - `collectd::plugins::df`

entity `collectd::plugins::Disk`

  Parents: `collectd::Plugin`

  The following implementations are defined for this entity:

  > - `collectd::plugins::disk`

  The following implements statements select implementations for this entity:

  > - `collectd::plugins::disk`

entity `collectd::plugins::Interface`

  Parents: `collectd::Plugin`

  The following implementations are defined for this entity:

  > - `collectd::plugins::interface`

  The following implements statements select implementations for this entity:

  > - `collectd::plugins::interface`

entity `collectd::plugins::SNMP`

  Parents: `collectd::Plugin`

  relation collectd::plugins::SNMPData `data` [0:*]
  relation collectd::plugins::SNMPHost `hosts` [0:*]

  The following implementations are defined for this entity:

  > - `collectd::plugins::snmp`

  The following implements statements select implementations for this entity:

  > - `collectd::plugins::snmp`, `collectd::loadPlugin`

entity `collectd::plugins::SNMPData`

  Parents: `std::Entity`

  attribute string `values`
  attribute number `scale`=1.0
  attribute bool `table`=False
  attribute string `type`
  attribute string `name`
  attribute string `instance`

  The following implements statements select implementations for this entity:

  > - `std::none`

entity `collectd::plugins::SNMPHost`

  Parents: `std::Entity`

  attribute string `hostname`
  attribute number `version`
  attribute ip::ip `ip`
  attribute string `community`
  attribute number `interval`=10
  relation collectd::plugins::SNMPData `collect` [1:*]

  The following implements statements select implementations for this entity:

  > - `std::none`

entity `collectd::plugins::StatsD`

  Parents: `collectd::Plugin`

  The following implementations are defined for this entity:

  > - `collectd::plugins::statsd`

  The following implements statements select implementations for this entity:

  > - `collectd::plugins::statsd`, `collectd::loadPlugin`

entity `collectd::plugins::WriteHttp`

  Parents: `collectd::Plugin`

  Write http plugin. The default format is JSON.

  attribute string `url`
  attribute string `format`='JSON'

  The following implementations are defined for this entity:

  > - `collectd::plugins::writehttp`

  The following implements statements select implementations for this entity:

  > - `collectd::plugins::writehttp`, `collectd::loadPlugin`

## Implementations

implementation `collectd::collectdAgent`

implementation `collectd::collectdAgentUbuntu`

implementation `collectd::customTypes`

implementation `collectd::loadPlugin`

implementation `collectd::varnish`

implementation `collectd::graphite::graphiteWriter`

implementation `collectd::plugins::cpu`

implementation `collectd::plugins::df`

implementation `collectd::plugins::disk`

implementation `collectd::plugins::interface`

implementation `collectd::plugins::snmp`

implementation `collectd::plugins::statsd`

implementation `collectd::plugins::writehttp`