diff --git a/collectd.yml b/collectd.yml
new file mode 100644
index 0000000..9645099
--- /dev/null
+++ b/collectd.yml
@@ -0,0 +1,21 @@
+- hosts: collectd
+ roles:
+ - role: collectd
+ tags:
+ - collectd
+
+- hosts: prometheus
+ roles:
+ - role: collectd-prometheus
+ tags:
+ - collectd
+ - collectd-prometheus
+
+- hosts: collectd
+ tasks:
+ - name: ensure collectd is running
+ service:
+ name: collectd
+ state: started
+ tags:
+ - service
diff --git a/roles/collectd/defaults/main.yml b/roles/collectd/defaults/main.yml
new file mode 100644
index 0000000..885f993
--- /dev/null
+++ b/roles/collectd/defaults/main.yml
@@ -0,0 +1,7 @@
+collectd_default_config: true
+collectd_load_network_plugin: true
+collectd_network_servers:
+- ff18::efc0:4a42
+collectd_network_listen: []
+
+collectd_disable_plugins: []
diff --git a/roles/collectd/handlers/main.yml b/roles/collectd/handlers/main.yml
new file mode 100644
index 0000000..8c93f7a
--- /dev/null
+++ b/roles/collectd/handlers/main.yml
@@ -0,0 +1,4 @@
+- name: restart collectd
+ service:
+ name: collectd
+ state: restarted
diff --git a/roles/collectd/tasks/main.yml b/roles/collectd/tasks/main.yml
new file mode 100644
index 0000000..c38e169
--- /dev/null
+++ b/roles/collectd/tasks/main.yml
@@ -0,0 +1,35 @@
+- name: load distribution-specific values
+ include_vars: '{{ item }}'
+ with_first_found:
+ - '{{ ansible_distribution }}.yml'
+ - defaults.yml
+ tags:
+ - always
+
+- name: ensure collectd is installed
+ package:
+ name: '{{ collectd_packages }}'
+ state: present
+ tags:
+ - install
+
+- name: ensure collectd is configured
+ template:
+ src: collectd.conf.j2
+ dest: /etc/collectd.conf
+ mode: '0644'
+ notify:
+ - restart collectd
+ tags:
+ - collectd-config
+
+- name: ensure collectd network plugin is configured
+ template:
+ src: collectd-network.conf.j2
+ dest: /etc/collectd.d/network.conf
+ mode: '0644'
+ notify:
+ - restart collectd
+ tags:
+ - collectd-config
+ - collectd-network
diff --git a/roles/collectd/templates/collectd-network.conf.j2 b/roles/collectd/templates/collectd-network.conf.j2
new file mode 100644
index 0000000..177d9f2
--- /dev/null
+++ b/roles/collectd/templates/collectd-network.conf.j2
@@ -0,0 +1,20 @@
+{% if collectd_load_network_plugin %}
+LoadPlugin network
+
+{% endif %}
+
+{% for server in collectd_network_servers %}
+{% if server is string %}
+ Server "{{ server }}"
+{% else %}
+ Server "{{ server.host }}" {{ server.port }}
+{% endif %}
+{% endfor %}
+{% for listen in collectd_network_listen %}
+{% if listen is string %}
+ Listen "{{ listen }}"
+{% else %}
+ Listen "{{ listen.host }}" {{ listen.port}}
+{% endif %}
+{% endfor %}
+
diff --git a/roles/collectd/templates/collectd.conf.j2 b/roles/collectd/templates/collectd.conf.j2
new file mode 100644
index 0000000..d485c38
--- /dev/null
+++ b/roles/collectd/templates/collectd.conf.j2
@@ -0,0 +1,2111 @@
+{% if collectd_default_config|bool %}
+#
+# Config file for collectd(1).
+# Please read collectd.conf(5) for a list of options.
+# http://collectd.org/
+#
+
+##############################################################################
+# Global #
+#----------------------------------------------------------------------------#
+# Global settings for the daemon. #
+##############################################################################
+
+#Hostname "localhost"
+#FQDNLookup true
+#BaseDir "/var/lib/collectd"
+#PIDFile "/var/run/collectd.pid"
+#PluginDir "/usr/lib64/collectd"
+#TypesDB "/usr/share/collectd/types.db"
+
+#----------------------------------------------------------------------------#
+# When enabled, plugins are loaded automatically with the default options #
+# when an appropriate block is encountered. #
+# Disabled by default. #
+#----------------------------------------------------------------------------#
+#AutoLoadPlugin false
+
+#----------------------------------------------------------------------------#
+# When enabled, internal statistics are collected, using "collectd" as the #
+# plugin name. #
+# Disabled by default. #
+#----------------------------------------------------------------------------#
+#CollectInternalStats false
+
+#----------------------------------------------------------------------------#
+# Interval at which to query values. This may be overwritten on a per-plugin #
+# base by using the 'Interval' option of the LoadPlugin block: #
+# #
+# Interval 60 #
+# #
+#----------------------------------------------------------------------------#
+#Interval 10
+
+#MaxReadInterval 86400
+#Timeout 2
+#ReadThreads 5
+#WriteThreads 5
+
+# Limit the size of the write queue. Default is no limit. Setting up a limit is
+# recommended for servers handling a high volume of traffic.
+#WriteQueueLimitHigh 1000000
+#WriteQueueLimitLow 800000
+
+##############################################################################
+# Logging #
+#----------------------------------------------------------------------------#
+# Plugins which provide logging functions should be loaded first, so log #
+# messages generated when loading or configuring other plugins can be #
+# accessed. #
+##############################################################################
+
+LoadPlugin syslog
+#LoadPlugin logfile
+#LoadPlugin log_logstash
+
+#
+# LogLevel info
+# File STDOUT
+# Timestamp true
+# PrintSeverity false
+#
+
+#
+# LogLevel info
+# File "/var/log/collectd.json.log"
+#
+
+#
+# LogLevel info
+#
+
+##############################################################################
+# LoadPlugin section #
+#----------------------------------------------------------------------------#
+# Lines beginning with a single `#' belong to plugins which have been built #
+# but are disabled by default. #
+# #
+# Lines beginning with `##' belong to plugins which have not been built due #
+# to missing dependencies or because they have been deactivated explicitly. #
+##############################################################################
+
+{% macro load_plugin(name) %}
+{% if name in collectd_disable_plugins %}
+#LoadPlugin {{ name }}
+{% else %}
+LoadPlugin {{ name }}
+{%- endif -%}
+{% endmacro %}
+#LoadPlugin aggregation
+#LoadPlugin amqp
+##LoadPlugin amqp1
+#LoadPlugin apache
+#LoadPlugin apcups
+##LoadPlugin apple_sensors
+##LoadPlugin aquaero
+#LoadPlugin ascent
+##LoadPlugin barometer
+#LoadPlugin battery
+#LoadPlugin bind
+##LoadPlugin buddyinfo
+##LoadPlugin capabilities
+#LoadPlugin ceph
+#LoadPlugin cgroups
+{{ load_plugin('chrony') }}
+##LoadPlugin check_uptime
+##LoadPlugin connectivity
+#LoadPlugin conntrack
+#LoadPlugin contextswitch
+{{ load_plugin('cpu') }}
+{{ load_plugin('cpufreq') }}
+#LoadPlugin cpusleep
+#LoadPlugin csv
+#LoadPlugin curl
+#LoadPlugin curl_json
+#LoadPlugin curl_xml
+#LoadPlugin dbi
+##LoadPlugin dcpmm
+{{ load_plugin('df') }}
+{{ load_plugin('disk') }}
+#LoadPlugin dns
+##LoadPlugin dpdkevents
+##LoadPlugin dpdkstat
+##LoadPlugin dpdk_telemetry
+#LoadPlugin drbd
+#LoadPlugin email
+{{ load_plugin('entropy') }}
+#LoadPlugin ethstat
+#LoadPlugin exec
+#LoadPlugin fhcount
+#LoadPlugin filecount
+#LoadPlugin fscache
+##LoadPlugin gmond
+#LoadPlugin gps
+##LoadPlugin grpc
+#LoadPlugin hddtemp
+#LoadPlugin hugepages
+##LoadPlugin intel_pmu
+##LoadPlugin intel_rdt
+{{ load_plugin('interface') }}
+#LoadPlugin ipc
+#LoadPlugin ipmi
+##LoadPlugin ipstats
+#LoadPlugin iptables
+#LoadPlugin ipvs
+#LoadPlugin irq
+#LoadPlugin java
+{{ load_plugin('load') }}
+##LoadPlugin lpar
+##LoadPlugin logparser
+#LoadPlugin lua
+#LoadPlugin madwifi
+#LoadPlugin mbmon
+#LoadPlugin mcelog
+#LoadPlugin md
+#LoadPlugin memcachec
+#LoadPlugin memcached
+{{ load_plugin('memory') }}
+##LoadPlugin mic
+#LoadPlugin modbus
+##LoadPlugin mqtt
+#LoadPlugin multimeter
+#LoadPlugin mysql
+##LoadPlugin netapp
+#LoadPlugin netlink
+#LoadPlugin network
+#LoadPlugin nfs
+#LoadPlugin nginx
+#LoadPlugin notify_desktop
+#LoadPlugin notify_email
+#LoadPlugin notify_nagios
+#LoadPlugin ntpd
+#LoadPlugin numa
+#LoadPlugin nut
+#LoadPlugin olsrd
+#LoadPlugin onewire
+#LoadPlugin openldap
+#LoadPlugin openvpn
+##LoadPlugin oracle
+#LoadPlugin ovs_events
+#LoadPlugin ovs_stats
+#LoadPlugin pcie_errors
+#LoadPlugin perl
+#LoadPlugin pinba
+#LoadPlugin ping
+#LoadPlugin postgresql
+#LoadPlugin powerdns
+{{ load_plugin('processes') }}
+##LoadPlugin procevent
+#LoadPlugin protocols
+#LoadPlugin python
+##LoadPlugin redfish
+#LoadPlugin redis
+##LoadPlugin routeros
+#LoadPlugin rrdcached
+#LoadPlugin rrdtool
+#LoadPlugin sensors
+#LoadPlugin serial
+##LoadPlugin sigrok
+##LoadPlugin slurm
+#LoadPlugin smart
+#LoadPlugin snmp
+#LoadPlugin snmp_agent
+#LoadPlugin statsd
+{{ load_plugin('swap') }}
+##LoadPlugin sysevent
+#LoadPlugin table
+#LoadPlugin tail
+#LoadPlugin tail_csv
+##LoadPlugin tape
+{{ load_plugin('tcpconns') }}
+#LoadPlugin teamspeak2
+#LoadPlugin ted
+#LoadPlugin thermal
+##LoadPlugin tokyotyrant
+##LoadPlugin turbostat
+#LoadPlugin unixsock
+{{ load_plugin('uptime') }}
+#LoadPlugin users
+#LoadPlugin uuid
+#LoadPlugin varnish
+#LoadPlugin virt
+#LoadPlugin vmem
+#LoadPlugin vserver
+#LoadPlugin wireless
+#LoadPlugin write_graphite
+#LoadPlugin write_http
+##LoadPlugin write_influxdb_udp
+#LoadPlugin write_kafka
+#LoadPlugin write_log
+#LoadPlugin write_mongodb
+#LoadPlugin write_prometheus
+#LoadPlugin write_redis
+#LoadPlugin write_riemann
+#LoadPlugin write_sensu
+#LoadPlugin write_stackdriver
+#LoadPlugin write_syslog
+#LoadPlugin write_tsdb
+#LoadPlugin xencpu
+#LoadPlugin xmms
+#LoadPlugin zfs_arc
+##LoadPlugin zone
+#LoadPlugin zookeeper
+
+##############################################################################
+# Plugin configuration #
+#----------------------------------------------------------------------------#
+# In this section configuration stubs for each plugin are provided. A desc- #
+# ription of those options is available in the collectd.conf(5) manual page. #
+##############################################################################
+
+#
+#
+# #Host "unspecified"
+# Plugin "cpu"
+# #PluginInstance "unspecified"
+# Type "cpu"
+# #TypeInstance "unspecified"
+#
+# GroupBy "Host"
+# GroupBy "TypeInstance"
+#
+# CalculateNum false
+# CalculateSum false
+# CalculateAverage true
+# CalculateMinimum false
+# CalculateMaximum false
+# CalculateStddev false
+#
+#
+
+#
+#
+# Host "localhost"
+# Port "5672"
+# VHost "/"
+# User "guest"
+# Password "guest"
+# Exchange "amq.fanout"
+# RoutingKey "collectd"
+# Persistent false
+# StoreRates false
+# ConnectionRetryDelay 0
+# TLSEnabled false
+# TLSVerifyPeer true
+# TLSVerifyHostName true
+# TLSCACert "/path/to/ca.pem"
+# TLSClientCert "/path/to/client-cert.pem"
+# TLSClientKey "/path/to/client-key.pem"
+#
+#
+
+#
+#
+# Host "localhost"
+# Port "5672"
+# User "guest"
+# Password "guest"
+# Address "collectd"
+# RetryDelay 1
+#
+# Format JSON
+# PreSettle false
+#
+#
+# Format JSON
+# PreSettle true
+#
+#
+# Format JSON
+# PreSettle false
+#
+#
+#
+
+#
+#
+# URL "http://localhost/status?auto"
+# User "www-user"
+# Password "secret"
+# CACert "/etc/ssl/ca.crt"
+#
+#
+
+#
+# Host "localhost"
+# Port "3551"
+# ReportSeconds true
+# PersistentConnection true
+#
+
+#
+# Device ""
+#
+
+#
+# URL "http://localhost/ascent/status/"
+# User "www-user"
+# Password "secret"
+# CACert "/etc/ssl/ca.crt"
+#
+
+#
+# Device "/dev/i2c-0";
+# Oversampling 512
+# PressureOffset 0.0
+# TemperatureOffset 0.0
+# Normalization 2
+# Altitude 238.0
+# TemperatureSensor "myserver/onewire-F10FCA000800/temperature"
+#
+
+#
+# ValuesPercentage false
+# ReportDegraded false
+# QueryStateFS false
+#
+
+#
+# URL "http://localhost:8053/"
+# ParseTime false
+# OpCodes true
+# QTypes true
+#
+# ServerStats true
+# ZoneMaintStats true
+# ResolverStats false
+# MemoryStats true
+#
+#
+# QTypes true
+# ResolverStats true
+# CacheRRSets true
+#
+# Zone "127.in-addr.arpa/IN"
+#
+#
+
+#
+# Zone "Normal"
+#
+
+#
+# Port "9104"
+#
+
+#
+# LongRunAvgLatency false
+# ConvertSpecialMetricTypes true
+#
+# SocketPath "/var/run/ceph/ceph-osd.0.asok"
+#
+#
+# SocketPath "/var/run/ceph/ceph-osd.1.asok"
+#
+#
+# SocketPath "/var/run/ceph/ceph-mon.ceph1.asok"
+#
+#
+# SocketPath "/var/run/ceph/ceph-mds.ceph1.asok"
+#
+#
+
+#
+# Host "localhost"
+# Port "323"
+# Timeout "2"
+#
+
+#
+# Interface eth0
+#
+
+#
+# CGroup "libvirt"
+# IgnoreSelected false
+#
+
+#
+# ReportByCpu true
+# ReportByState true
+# ValuesPercentage false
+# ReportNumCpu false
+# ReportGuestState false
+# SubtractGuestState true
+#
+#
+#
+# DataDir "/var/lib/collectd/csv"
+# StoreRates false
+#
+
+#
+#
+# URL "http://finance.google.com/finance?q=NYSE%3AAMD"
+# AddressFamily "any"
+# User "foo"
+# Password "bar"
+# Digest false
+# VerifyPeer true
+# VerifyHost true
+# CACert "/path/to/ca.crt"
+# Header "X-Custom-Header: foobar"
+# Post "foo=bar"
+#
+# MeasureResponseTime false
+# MeasureResponseCode false
+#
+# Regex "]*> *([0-9]*\\.[0-9]+) *"
+# DSType "GaugeAverage"
+# Type "stock_value"
+# Instance "AMD"
+#
+#
+#
+
+#
+#
+# AddressFamily "any"
+# Instance "test_http_json"
+#
+# Type "gauge"
+# # Expect: 1
+#
+#
+# Type "gauge"
+# # Expect: 2
+#
+#
+# Type "gauge"
+# # Expect: 3
+#
+#
+# Type "gauge"
+# # Expect: 4
+#
+#
+# Type "gauge"
+# # Expect: 5
+#
+#
+# Type "gauge"
+# # Expect: 6
+#
+#
+# put this as test.json on your webserver, the above config demonstraces
+# how to match them.
+# {
+# "testArray":[1,2],
+# "testArrayInbetween":[{"blarg":3},{"blub":4}],
+# "testDirectHit":5,
+# "testSubLevelHit":{"oneMoreLevel":6}
+# }
+## See: http://wiki.apache.org/couchdb/Runtime_Statistics
+#
+# AddressFamily "ipv4"
+# Instance "httpd"
+#
+# Type "http_requests"
+#
+#
+#
+# Type "http_request_methods"
+#
+#
+#
+# Type "http_response_codes"
+#
+#
+## Database status metrics:
+#
+# AddressFamily "ipv6"
+# Instance "dbs"
+#
+# Type "gauge"
+#
+#
+# Type "counter"
+#
+#
+# Type "bytes"
+#
+#
+#
+
+#
+#
+# AddressFamily "any"
+# Host "my_host"
+# #Plugin "stats"
+# Instance "some_instance"
+# User "collectd"
+# Password "thaiNg0I"
+# Digest false
+# VerifyPeer true
+# VerifyHost true
+# CACert "/path/to/ca.crt"
+# Header "X-Custom-Header: foobar"
+# Post "foo=bar"
+#
+#
+# Type "magic_level"
+# #InstancePrefix "prefix-"
+# InstanceFrom "td[1]"
+# #PluginInstanceFrom "td[1]"
+# ValuesFrom "td[2]/span[@class=\"level\"]"
+#
+#
+#
+
+#
+#
+# Statement "SELECT 'customers' AS c_key, COUNT(*) AS c_value FROM customers_tbl"
+#
+# Type "gauge"
+# InstancesFrom "c_key"
+# ValuesFrom "c_value"
+#
+#
+#
+# #Plugin "mycompany"
+# Driver "mysql"
+# DriverOption "host" "localhost"
+# DriverOption "username" "collectd"
+# DriverOption "password" "AeXohy0O"
+# DriverOption "dbname" "custdb0"
+# #SelectDB "custdb0"
+# Query "num_of_customers"
+# #Query "..."
+# #Host "..."
+#
+#
+
+#
+# Interval 10.0
+# CollectHealth false
+# CollectPerfMetrics true
+# EnableDispatchAll false
+#
+
+#
+# Device "/dev/hda1"
+# Device "192.168.0.2:/mnt/nfs"
+# MountPoint "/home"
+# FSType "ext3"
+# IgnoreSelected false
+# LogOnce false
+# ReportByDevice false
+# ReportInodes false
+# ValuesAbsolute true
+# ValuesPercentage false
+#
+
+#
+# Disk "/^[hs]d[a-f][0-9]?$/"
+# IgnoreSelected false
+# UseBSDName false
+# UdevNameAttr "DEVNAME"
+#
+
+#
+# Interface "eth0"
+# IgnoreSource "192.168.0.1"
+# SelectNumericQueryTypes true
+#
+
+#
+#
+# Coremask "0x1"
+# MemoryChannels "4"
+# FilePrefix "rte"
+#
+#
+# SendEventsOnUpdate true
+# EnabledPortMask 0xffff
+# PortName "interface1"
+# PortName "interface2"
+# SendNotification false
+#
+#
+# SendEventsOnUpdate true
+# LCoreMask "0xf"
+# KeepAliveShmName "/dpdk_keepalive_shm_name"
+# SendNotification false
+#
+#
+
+#
+#
+# Coremask "0x2"
+# MemoryChannels "4"
+# FilePrefix "rte"
+# LogLevel "7"
+# RteDriverLibPath "/usr/lib/dpdk-pmd"
+#
+# SharedMemObj "dpdk_collectd_stats_0"
+# EnabledPortMask 0xffff
+# PortName "interface1"
+# PortName "interface2"
+#
+
+#
+# ClientSocketPath "/var/run/.client"
+# DpdkSocketPath "/var/run/dpdk/rte/telemetry"
+#
+
+#
+# SocketFile "/var/run/collectd-email"
+# SocketGroup "collectd"
+# SocketPerms "0770"
+# MaxConns 5
+#
+
+#
+# Interface "eth0"
+# Map "rx_csum_offload_errors" "if_rx_errors" "checksum_offload"
+# Map "multicast" "if_multicast"
+# MappedOnly false
+#
+
+#
+# Exec "user:group" "/path/to/exec"
+# NotificationExec "user:group" "/path/to/exec"
+#
+
+#
+# ValuesAbsolute true
+# ValuesPercentage false
+#
+
+#
+#
+# #Plugin "foo"
+# Instance "foodir"
+# Name "*.conf"
+# MTime "-5m"
+# Size "+10k"
+# Recursive true
+# IncludeHidden false
+# RegularOnly true
+# #FilesSizeType "bytes"
+# #FilesCountType "files"
+# #TypeInstance "instance"
+#
+#
+
+#
+# MCReceiveFrom "239.2.11.71" "8649"
+#
+# Type "swap"
+# TypeInstance "total"
+# DataSource "value"
+#
+#
+# Type "swap"
+# TypeInstance "free"
+# DataSource "value"
+#
+#
+
+#
+# Host "127.0.0.1"
+# Port "2947"
+# Timeout 0.015
+# PauseConnect 5
+#
+
+#
+# GPUIndex 0
+# GPUIndex 2
+# IgnoreSelected false
+# InstanceByGPUIndex true
+# InstanceByGPUName true
+#
+
+#
+#
+# EnableSSL true
+# SSLCACertificateFile "/path/to/root.pem"
+# SSLCertificateFile "/path/to/server.pem"
+# SSLCertificateKeyFile "/path/to/server.key"
+#
+#
+# EnableSSL true
+# SSLCACertificateFile "/path/to/root.pem"
+# SSLCertificateFile "/path/to/client.pem"
+# SSLCertificateKeyFile "/path/to/client.key"
+# VerifyPeer true
+#
+#
+
+#
+# Host "127.0.0.1"
+# Port "7634"
+#
+
+#
+# ReportPerNodeHP true
+# ReportRootHP true
+# ValuesPages true
+# ValuesBytes false
+# ValuesPercentage false
+#
+
+#
+# ReportHardwareCacheEvents true
+# ReportKernelPMUEvents true
+# ReportSoftwareEvents true
+# EventList "/var/cache/pmu/GenuineIntel-6-2D-core.json"
+# HardwareEvents "L2_RQSTS.CODE_RD_HIT,L2_RQSTS.CODE_RD_MISS" "L2_RQSTS.ALL_CODE_RD"
+# Cores "[0-3]"
+# DispatchMultiPmu false
+#
+
+#
+# Cores "0-2"
+# Processes "sshd"
+#
+
+#
+# Interface "eth0"
+# IgnoreSelected false
+# ReportInactive true
+# UniqueName false
+#
+
+#
+#
+# Sensor "some_sensor"
+# Sensor "another_one"
+# IgnoreSelected false
+# NotifySensorAdd false
+# NotifySensorRemove true
+# NotifySensorNotPresent false
+# NotifyIPMIConnectionState false
+# SELEnabled false
+# SELSensor "some_sensor"
+# SELSensor "another_one"
+# SELIgnoreSelected false
+# SELClearEvent false
+#
+#
+# Host "server.example.com"
+# Address "1.2.3.4"
+# Username "user"
+# Password "secret"
+# #AuthType "md5"
+# Sensor "some_sensor"
+# Sensor "another_one"
+# IgnoreSelected false
+# NotifySensorAdd false
+# NotifySensorRemove true
+# NotifySensorNotPresent false
+# NotifyIPMIConnectionState false
+# SELEnabled false
+# SELSensor "some_sensor"
+# SELSensor "another_one"
+# SELIgnoreSelected false
+# SELClearEvent false
+#
+#
+
+#
+# Chain table chain
+# Chain6 table chain
+#
+
+#
+# Irq 7
+# Irq 8
+# Irq 9
+# IgnoreSelected true
+#
+
+#
+# JVMArg "-verbose:jni"
+# JVMArg "-Djava.class.path=/usr/share/collectd/java/collectd-api.jar"
+#
+# LoadPlugin "org.collectd.java.Foobar"
+#
+# # To be parsed by the plugin
+#
+#
+
+#
+# ReportRelative true
+#
+
+#
+# CpuPoolStats false
+# ReportBySerial false
+#
+
+#
+#
+# FirstFullRead false
+#
+# DefaultType "pcie_error"
+# DefaultSeverity "warning"
+#
+# Regex "AER:.*error received"
+# SubmatchIdx -1
+#
+#
+# Regex "(... .. ..:..:..) .* pcieport.*AER"
+# SubmatchIdx 1
+# IsMandatory false
+#
+#
+# Regex "pcieport (.*): AER:"
+# SubmatchIdx 1
+# IsMandatory true
+#
+#
+# PluginInstance true
+# Regex " ([0-9a-fA-F:\\.]*): PCIe Bus Error"
+# SubmatchIdx 1
+# IsMandatory false
+#
+#
+# Regex "severity="
+# SubMatchIdx -1
+#
+#
+# Regex "severity=.*\\([nN]on-[fF]atal"
+# TypeInstance "non_fatal"
+# IsMandatory false
+#
+#
+# Regex "severity=.*\\([fF]atal"
+# Severity "failure"
+# TypeInstance "fatal"
+# IsMandatory false
+#
+#
+# Regex "severity=Corrected"
+# TypeInstance "correctable"
+# IsMandatory false
+#
+#
+# Regex "type=(.*),"
+# SubmatchIdx 1
+# IsMandatory false
+#
+#
+# Regex ", id=(.*)"
+# SubmatchIdx 1
+#
+#
+#
+#
+
+#
+# BasePath "/usr/share/collectd/lua"
+# Script "script1.lua"
+# Script "script2.lua"
+#
+
+#
+# Interface "wlan0"
+# IgnoreSelected false
+# Source "SysFS"
+# WatchSet "None"
+# WatchAdd "node_octets"
+# WatchAdd "node_rssi"
+# WatchAdd "is_rx_acl"
+# WatchAdd "is_scan_active"
+#
+
+#
+# Host "127.0.0.1"
+# Port "411"
+#
+
+#
+#
+# McelogClientSocket "/var/run/mcelog-client"
+# PersistentNotification false
+#
+# McelogLogfile "/var/log/mcelog"
+#
+
+#
+# Device "/dev/md0"
+# IgnoreSelected false
+#
+
+#
+#
+# Server "localhost"
+# Key "page_key"
+#
+# Regex "(\\d+) bytes sent"
+# ExcludeRegex ""
+# DSType CounterAdd
+# Type "ipt_octets"
+# Instance "type_instance"
+#
+#
+#
+
+#
+#
+# #Host "memcache.example.com"
+# Address "127.0.0.1"
+# Port "11211"
+#
+#
+
+#
+# ValuesAbsolute true
+# ValuesPercentage false
+#
+
+#
+#
+# RegisterBase 1234
+# RegisterCmd ReadHolding
+# RegisterType float
+# Type gauge
+# Instance "..."
+# #Scale 1.0
+# #Shift 0.0
+#
+#
+#
+# Address "addr"
+# Port "1234"
+# Interval 60
+#
+#
+# Instance "foobar" # optional
+# Collect "data_name"
+#
+#
+#
+
+#
+#
+# Host "localhost"
+# Port 1883
+# ClientId "localhost"
+# User "user"
+# Password "secret"
+# QoS 0
+# Prefix "collectd"
+# StoreRates true
+# Retain false
+# CACert "/etc/ssl/ca.crt"
+# CertificateFile "/etc/ssl/client.crt"
+# CertificateKeyFile "/etc/ssl/client.pem"
+# TLSProtocol "tlsv1.2"
+# CipherSuite "ciphers"
+#
+#
+# Host "localhost"
+# Port 1883
+# ClientId "localhost"
+# User "user"
+# Password "secret"
+# QoS 2
+# Topic "collectd/#"
+# CleanSession true
+# CACert "/etc/ssl/ca.crt"
+# CertificateFile "/etc/ssl/client.crt"
+# CertificateKeyFile "/etc/ssl/client.pem"
+# TLSProtocol "tlsv1.2"
+# CipherSuite "ciphers"
+#
+#
+
+#
+#
+# Host "database.serv.er"
+# User "db_user"
+# Password "secret"
+# Database "db_name"
+# SSLKey "/path/to/key.pem"
+# SSLCert "/path/to/cert.pem"
+# SSLCA "/path/to/ca.pem"
+# SSLCAPath "/path/to/cas/"
+# SSLCipher "DHE-RSA-AES256-SHA"
+# MasterStats true
+# ConnectTimeout 10
+# InnodbStats true
+#
+#
+#
+# Alias "squeeze"
+# Host "localhost"
+# Socket "/var/run/mysql/mysqld.sock"
+# SlaveStats true
+# SlaveNotifications true
+#
+#
+# Alias "galera"
+# Host "localhost"
+# Socket "/var/run/mysql/mysqld.sock"
+# WsrepStats true
+#
+#
+
+#
+#
+# Protocol "https"
+# Address "10.0.0.1"
+# Port 443
+# User "username"
+# Password "aef4Aebe"
+# Interval 30
+#
+#
+# Interval 30
+# GetNameCache true
+# GetDirCache true
+# GetBufferCache true
+# GetInodeCache true
+#
+#
+#
+# Interval 30
+# GetBusy true
+#
+#
+#
+# Interval 30
+# GetIO "volume0"
+# IgnoreSelectedIO false
+# GetOps "volume0"
+# IgnoreSelectedOps false
+# GetLatency "volume0"
+# IgnoreSelectedLatency false
+#
+#
+#
+# Interval 30
+# GetCapacity "vol0"
+# GetCapacity "vol1"
+# IgnoreSelectedCapacity false
+# GetSnapshot "vol1"
+# GetSnapshot "vol3"
+# IgnoreSelectedSnapshot false
+#
+#
+#
+# Interval 30
+# GetCPULoad true
+# GetInterfaces true
+# GetDiskOps true
+# GetDiskIO true
+#
+#
+#
+
+#
+# Interface "All"
+# VerboseInterface "All"
+# QDisc "eth0" "pfifo_fast-1:0"
+# Class "ppp0" "htb-1:10"
+# Filter "ppp0" "u32-1:0"
+# IgnoreSelected false
+#
+
+#
+# # client setup:
+# Server "ff18::efc0:4a42" "25826"
+#
+# SecurityLevel Encrypt
+# Username "user"
+# Password "secret"
+# Interface "eth0"
+# ResolveInterval 14400
+#
+# TimeToLive 128
+#
+# # server setup:
+# Listen "ff18::efc0:4a42" "25826"
+#
+# SecurityLevel Sign
+# AuthFile "/etc/collectd/passwd"
+# Interface "eth0"
+#
+# MaxPacketSize 1452
+#
+# # proxy setup (client and server as above):
+# Forward true
+#
+# # statistics about the network plugin itself
+# ReportStats false
+#
+# # "garbage collection"
+# CacheFlush 1800
+#
+
+#
+# ReportV2 false
+# #ReportV3 false
+# #ReportV4 false
+#
+
+#
+# URL "http://localhost/status?auto"
+# User "www-user"
+# Password "secret"
+# CACert "/etc/ssl/ca.crt"
+#
+
+#
+# OkayTimeout 1000
+# WarningTimeout 5000
+# FailureTimeout 0
+#
+
+#
+# SMTPServer "localhost"
+# SMTPPort 25
+# SMTPUser "my-username"
+# SMTPPassword "my-password"
+# From "collectd@main0server.com"
+# # on . beware! do not use not more than two %s in this string!!!
+# Subject "Aaaaaa!! %s on %s!!!!!"
+# Recipient "email1@domain1.net"
+# Recipient "email2@domain2.com"
+#
+
+#
+# CommandFile "/usr/local/nagios/var/rw/nagios.cmd"
+#
+
+#
+# Host "localhost"
+# Port 123
+# ReverseLookups false
+# IncludeUnitID true
+#
+
+#
+# UPS "upsname@hostname:port"
+# ForceSSL true
+# VerifyPeer true
+# CAPath "/path/to/folder"
+# #ConnectTimeout 5000
+#
+
+#
+# Host "127.0.0.1"
+# Port "2006"
+# CollectLinks "Summary"
+# CollectRoutes "Summary"
+# CollectTopology "Summary"
+#
+
+#
+# Device "-s localhost:4304"
+# Sensor "F10FCA000800"
+# IgnoreSelected false
+#
+
+#
+#
+# URL "ldap://localhost:389"
+# StartTLS false
+# VerifyHost true
+# CACert "/path/to/ca.crt"
+# Timeout -1
+# Version 3
+#
+#
+
+#
+# StatusFile "/etc/openvpn/openvpn-status.log"
+# ImprovedNamingSchema false
+# CollectCompression true
+# CollectIndividualUsers true
+# CollectUserCount false
+#
+
+#
+#
+# Statement "SELECT category, COUNT(*) AS value FROM products WHERE in_stock = 0 GROUP BY category"
+#
+# Type "gauge"
+# InstancesFrom "category"
+# ValuesFrom "value"
+#
+#
+#
+# #Plugin "warehouse"
+# ConnectID "db01"
+# Username "oracle"
+# Password "secret"
+# Query "out_of_stock"
+#
+#
+
+#
+# Port "6640"
+# Address "127.0.0.1"
+# Socket "/var/run/openvswitch/db.sock"
+# Interfaces "br0" "veth0"
+# SendNotification true
+# DispatchValues false
+#
+
+#
+# Port "6640"
+# Address "127.0.0.1"
+# Socket "/var/run/openvswitch/db.sock"
+# Bridges "br0" "br_ext"
+#
+
+#
+# Source "sysfs"
+# ReportMasked false
+# PersistentNotifications false
+#
+
+#
+# IncludeDir "/my/include/path"
+# BaseName "Collectd::Plugins"
+# EnableDebugger ""
+# LoadPlugin Monitorus
+# LoadPlugin OpenVZ
+#
+#
+# Foo "Bar"
+# Qux "Baz"
+#
+#
+
+#
+# Address "::0"
+# Port "30002"
+#
+# Host "host name"
+# Server "server name"
+# Script "script name"
+#
+#
+
+#
+# Host "host.foo.bar"
+# Interval 1.0
+# Timeout 0.9
+# TTL 255
+# SourceAddress "1.2.3.4"
+# AddressFamily "any"
+# Device "eth0"
+# MaxMissed -1
+#
+
+#
+#
+# Statement "SELECT magic FROM wizard WHERE host = $1;"
+# Param hostname
+#
+# Type gauge
+# InstancePrefix "magic"
+# ValuesFrom magic
+#
+#
+#
+# Statement "SELECT COUNT(type) AS count, type \
+# FROM (SELECT CASE \
+# WHEN resolved = 'epoch' THEN 'open' \
+# ELSE 'resolved' END AS type \
+# FROM tickets) type \
+# GROUP BY type;"
+#
+# Type counter
+# InstancePrefix "rt36_tickets"
+# InstancesFrom "type"
+# ValuesFrom "count"
+#
+#
+#
+# # See contrib/postgresql/collectd_insert.sql for details
+# Statement "SELECT collectd_insert($1, $2, $3, $4, $5, $6, $7, $8, $9);"
+# StoreRates true
+#
+#
+# #Plugin "kingdom"
+# Host "hostname"
+# Port "5432"
+# User "username"
+# Password "secret"
+# SSLMode "prefer"
+# KRBSrvName "kerberos_service_name"
+# Query magic
+#
+#
+# Interval 60
+# Service "service_name"
+# Query backends # predefined
+# Query rt36_tickets
+#
+#
+# Service "collectd_store"
+# Writer sqlstore
+# # see collectd.conf(5) for details
+# CommitInterval 30
+#
+#
+
+#
+#
+# Collect "latency"
+# Collect "udp-answers" "udp-queries"
+# Socket "/var/run/pdns.controlsocket"
+#
+#
+# Collect "questions"
+# Collect "cache-hits" "cache-misses"
+# Socket "/var/run/pdns_recursor.controlsocket"
+#
+# LocalSocket "/opt/collectd/var/run/collectd-powerdns"
+#
+
+#
+# CollectFileDescriptor true
+# CollectContextSwitch true
+# CollectMemoryMaps true
+# CollectDelayAccounting false
+# Process "name"
+# ProcessMatch "name" "regex"
+#
+# CollectFileDescriptor false
+# CollectContextSwitch false
+# CollectDelayAccounting true
+#
+#
+# CollectFileDescriptor false
+# CollectContextSwitch true
+#
+#
+
+#
+# BufferLength 10
+# ProcessRegex "/^ovs.*$/"
+# Process tuned
+#
+
+#
+# Value "/^Tcp:/"
+# IgnoreSelected false
+#
+
+#
+# ModulePath "/path/to/your/python/modules"
+# LogTraces true
+# Interactive true
+# Import "spam"
+#
+#
+# spam "wonderful" "lovely"
+#
+#
+
+#
+#
+# Host "redis.example.com"
+# Port "6379"
+# #Socket "/var/run/redis/redis.sock"
+# Timeout 2000
+#
+# #Database 0
+# Type "queue_length"
+# Instance "myqueue"
+#
+#
+#
+
+#
+#
+# Endpoint "/redfish/v1/Chassis/Chassis-1/Thermal"
+#
+#
+# PluginInstance "chassis-1"
+# Type "rpm"
+#
+#
+#
+#
+# Endpoint "/redfish/v1/Chassis/Chassis-1/Thermal"
+#
+#
+# PluginInstance "chassis-1"
+# Type "degrees"
+#
+#
+#
+#
+# Endpoint "/redfish/v1/Chassis/Chassis-1/Power"
+#
+#
+# PluginInstance "chassis-1"
+# Type "volts"
+#
+#
+#
+#
+# Host "127.0.0.1:5000"
+# User "user"
+# Passwd "passwd"
+# Queries "fans" "voltages" "temperatures"
+#
+#
+#
+
+#
+#
+# Host "router.example.com"
+# Port "8728"
+# User "admin"
+# Password "dozaiTh4"
+# CollectInterface true
+# CollectRegistrationTable true
+# CollectCPULoad true
+# CollectMemory true
+# CollectDF true
+# CollectDisk true
+# CollectHealth true
+#
+#
+
+#
+# DaemonAddress "unix:/tmp/rrdcached.sock"
+# DataDir "/var/lib/collectd/rrd"
+# CreateFiles true
+# CreateFilesAsync false
+# CollectStatistics true
+#
+
+#
+# DataDir "/var/lib/collectd/rrd"
+# CreateFilesAsync false
+# CacheTimeout 120
+# CacheFlush 900
+# WritesPerSecond 50
+#
+
+#
+# SensorConfigFile "/etc/sensors.conf"
+# Sensor "it8712-isa-0290/temperature-temp1"
+# Sensor "it8712-isa-0290/fanspeed-fan3"
+# Sensor "it8712-isa-0290/voltage-in8"
+# IgnoreSelected false
+#
+
+#
+# LogLevel 3
+#
+# Driver "fluke-dmm"
+# MinimumInterval 10
+# Conn "/dev/ttyUSB2"
+#
+#
+# Driver "cem-dt-885x"
+# Conn "/dev/ttyUSB1"
+#
+#
+
+#
+# Disk "/^[hs]d[a-f][0-9]?$/"
+# IgnoreSelected false
+#
+
+#
+#
+# Table false
+# Type "voltage"
+# TypeInstance "input_line1"
+# Values "SNMPv2-SMI::enterprises.6050.5.4.1.1.2.1"
+#
+#
+# Table false
+# Type "users"
+# TypeInstance ""
+# Values "HOST-RESOURCES-MIB::hrSystemNumUsers.0"
+#
+#
+# Table true
+# Type "if_octets"
+# TypeInstanceOID "IF-MIB::ifDescr"
+# #TypeInstancePrefix "port"
+# Values "IF-MIB::ifInOctets" "IF-MIB::ifOutOctets"
+# #FilterOID "IF-MIB::ifOperStatus"
+# #FilterValues "1", "2"
+#
+#
+# Table true
+# Type "if_octets"
+# Plugin "interface"
+# PluginInstanceOID "IF-MIB::ifDescr"
+# Values "IF-MIB::ifInOctets" "IF-MIB::ifOutOctets"
+#
+#
+#
+# Address "192.168.0.2"
+# Version 1
+# Community "community_string"
+# Collect "std_traffic"
+# Interval 120
+# Timeout 10
+# Retries 1
+#
+#
+# Address "192.168.0.42"
+# Version 2
+# Community "another_string"
+# Collect "std_traffic" "hr_users"
+# BulkSize 0
+#
+#
+# Address "192.168.0.3"
+# Version 1
+# Community "more_communities"
+# Collect "powerplus_voltge_input"
+# Interval 300
+# Timeout 5
+# Retries 5
+#
+#
+# Address "192.168.0.3"
+# Version 2
+# Community "another_string"
+# Collect "std_traffic"
+# Interval 10
+# Timeout 10
+# BulkSize 100
+#
+#
+
+#
+#
+# Plugin "memory"
+# Type "memory"
+# TypeInstance "free"
+# OIDs "1.3.6.1.4.1.2021.4.6.0"
+#
+#
+# IndexOID "IF-MIB::ifIndex"
+# SizeOID "IF-MIB::ifNumber"
+#
+#
+# Source "PluginInstance"
+#
+# Plugin "interface"
+# OIDs "IF-MIB::ifDescr"
+#
+#
+# Plugin "interface"
+# Type "if_octets"
+# TypeInstance ""
+# OIDs "IF-MIB::ifInOctets" "IF-MIB::ifOutOctets"
+#
+#
+#
+
+#
+# Host "::"
+# Port "8125"
+# DeleteCounters false
+# DeleteTimers false
+# DeleteGauges false
+# DeleteSets false
+# CounterSum false
+# TimerPercentile 90.0
+# TimerPercentile 95.0
+# TimerPercentile 99.0
+# TimerLower false
+# TimerUpper false
+# TimerSum false
+# TimerCount false
+#
+
+#
+# ReportByDevice false
+# ReportBytes true
+# ValuesAbsolute true
+# ValuesPercentage false
+# ReportIO true
+#
+
+#
+# Listen "127.0.0.1" "6666"
+# BufferSize 1024
+# BufferLength 10
+# RegexFilter "regex"
+#
+
+#
+#
+# #Plugin "table"
+# Instance "slabinfo"
+# Separator " "
+#
+# Type gauge
+# InstancePrefix "active_objs"
+# InstancesFrom 0
+# ValuesFrom 1
+#
+#
+# Type gauge
+# InstancePrefix "objperslab"
+# InstancesFrom 0
+# ValuesFrom 4
+#
+#
+#
+
+#
+#
+# Instance "exim"
+# Interval 60
+#
+# Regex "S=([1-9][0-9]*)"
+# DSType "CounterAdd"
+# Type "ipt_bytes"
+# Instance "total"
+#
+#
+# Regex "\\"
+# ExcludeRegex "\\.*mail_spool defer"
+# DSType "CounterInc"
+# Type "counter"
+# Instance "local_user"
+#
+#
+#
+# #Use the following log format in nginx:
+# #log_format response_time '[$host] "$upstream_response_time" ...'
+# Instance "apache"
+#
+# Regex "^\\S+ \"([0-9.]+)\""
+#
+# Percentile 80 # -> latency-foo-80
+# Percentile 95 # -> latency-foo-95
+# Percentile 99 # -> latency-foo-99
+# Bucket 0 0.1 # -> bucket-latency-foo-0_0.1
+# Bucket 0.1 0.2 # -> bucket-latency-foo-0.1_0.2
+# Bucket 0.2 0.5 # -> bucket-latency-foo-0.2_0.5
+# Bucket 0.5 1.0 # -> bucket-latency-foo-0.5_1
+# Bucket 1.0 2.0 # -> bucket-latency-foo-1_2
+# Bucket 2.0 0 # -> bucket-latency-foo-2_inf
+# #BucketType "bucket"
+#
+# Type "latency"
+# Instance "foo"
+#
+#
+#
+
+#
+#
+# Type "percent"
+# Instance "dropped"
+# ValueFrom 1
+#
+#
+# Type "bytes"
+# Instance "wire-realtime"
+# ValueFrom 2
+#
+#
+# Type "alerts_per_second"
+# ValueFrom 3
+#
+#
+# Type "kpackets_wire_per_sec.realtime"
+# ValueFrom 4
+#
+#
+# Instance "snort-eth0"
+# Interval 600
+# Collect "dropped" "mbps" "alerts" "kpps"
+# TimeFrom 0
+#
+#
+
+#
+# ListeningPorts false
+# AllPortsSummary false
+# LocalPort "25"
+# RemotePort "25"
+#
+
+#
+# Host "127.0.0.1"
+# Port "51234"
+# Server "8767"
+#
+
+#
+# Device "/dev/ttyUSB0"
+# Retries 0
+#
+
+#
+# ForceUseProcfs false
+# Device "THRM"
+# IgnoreSelected false
+#
+
+#
+# Host "localhost"
+# Port "1978"
+#
+
+#
+## None of the following option should be set manually
+## This plugin automatically detect most optimal options
+## Only set values here if:
+## - The module asks you to
+## - You want to disable the collection of some data
+## - Your (Intel) CPU is not supported (yet) by the module
+## - The module generates a lot of errors 'MSR offset 0x... read failed'
+## In the last two cases, please open a bug request
+#
+# TCCActivationTemp "100"
+# CoreCstates "392"
+# PackageCstates "396"
+# SystemManagementInterrupt true
+# DigitalTemperatureSensor true
+# PackageThermalManagement true
+# RunningAveragePowerLimit "7"
+#
+
+#
+# Device "ubi0"
+# IgnoreSelected false
+#
+
+#
+# SocketFile "/usr/var/run/collectd-unixsock"
+# SocketGroup "collectd"
+# SocketPerms "0660"
+# DeleteSocket false
+#
+
+#
+# UUIDFile "/etc/uuid"
+#
+
+#
+# ShowCPU true
+# ShowCPUCores true
+# ShowMemory true
+# ShowTemperatures true
+## Temperature Sensors can be ignored/shown by repeated #Temperature lines, and
+## then inverted with a IgnoreSelectedTemperature.
+## Known Temperature sensors: die, devmem, fin, fout, vccp, vddg, vddq
+# Temperature vddg
+# IgnoreSelectedTemperature true
+# ShowPower true
+## Power Sensors can be ignored/shown by repeated #Power lines, and
+## then inverted with a IgnoreSelectedTemperature.
+## Known Temperature sensors: total0, total1, inst, imax, pci3, c2x3, c2x4, vccp, vddg, vddq
+# Power total1
+# IgnoreSelectedPower true
+#
+
+#
+# This tag support an argument if you want to
+# monitor the local instance just use
+# If you prefer defining another instance you can do
+# so by using
+#
+# CollectBackend true
+# CollectBan false # Varnish 3 and above
+# CollectCache true
+# CollectConnections true
+# CollectDirectorDNS false # Varnish 3 only
+# CollectESI false
+# CollectFetch false
+# CollectHCB false
+# CollectObjects false
+# CollectPurge false # Varnish 2 only
+# CollectSession false
+# CollectSHM true
+# CollectSMA false # Varnish 2 & 4 only
+# CollectSMS false
+# CollectSM false # Varnish 2 only
+# CollectStruct false
+# CollectTotals false
+# CollectUptime false # Varnish 3 and above
+# CollectVCL false
+# CollectVSM false # Varnish 4 only
+# CollectWorkers false
+# CollectLock false # Varnish 4 only
+# CollectMempool false # Varnish 4 only
+# CollectManagement false # Varnish 4 only
+# CollectSMF false # Varnish 4 only
+# CollectVBE false # Varnish 4 only
+# CollectMSE false # Varnish-Plus 4 only
+#
+#
+
+#
+# Connection "xen:///"
+# RefreshInterval 60
+# Domain "name"
+# ReportBlockDevices true
+# ReportNetworkInterfaces true
+# BlockDevice "name:device"
+# BlockDeviceFormat target
+# BlockDeviceFormatBasename false
+# InterfaceDevice "name:device"
+# IgnoreSelected false
+# HostnameFormat name
+# HostnameMetadataXPath "/instance/name/text()"
+# HostnameMetadataNS "http://openstack.org/xmlns/libvirt/nova/1.0"
+# InterfaceFormat name
+# PluginInstanceFormat name
+# Instances 1
+# ExtraStats "cpu_util disk disk_err domain_state fs_info job_stats_background pcpu perf vcpu vcpupin disk_physical disk_allocation disk_capacity memory"
+# PersistentNotification false
+#
+
+#
+# Verbose false
+#
+
+#
+#
+# Host "localhost"
+# Port "2003"
+# Protocol "tcp"
+# ReconnectInterval 0
+# LogSendErrors true
+# Prefix "collectd"
+# Postfix "collectd"
+# StoreRates true
+# AlwaysAppendDS false
+# EscapeCharacter "_"
+# SeparateInstances false
+# PreserveSeparator false
+# DropDuplicateFields false
+# ReverseHost false
+#
+#
+
+#
+#
+# URL "http://example.com/collectd-post"
+# User "collectd"
+# Password "weCh3ik0"
+# VerifyPeer true
+# VerifyHost true
+# CACert "/etc/ssl/ca.crt"
+# CAPath "/etc/ssl/certs/"
+# ClientKey "/etc/ssl/client.pem"
+# ClientCert "/etc/ssl/client.crt"
+# ClientKeyPass "secret"
+# Header "X-Custom-Header: custom_value"
+# SSLVersion "TLSv1"
+# Format "Command"
+# Prefix "collectd" # metric prefix, only available for KAIROSDB format
+# Attribute "key" "value" # only available for KAIROSDB format
+# TTL 0 # data ttl, only available for KAIROSDB format
+# Metrics true
+# Notifications false
+# StoreRates false
+# BufferSize 4096
+# LowSpeedLimit 0
+# Timeout 0
+#
+#
+
+#
+# Server "localhost"
+# StoreRates true
+# MaxPacketSize 32768
+# TimeToLive 128
+#
+
+#
+# Property "metadata.broker.list" "localhost:9092"
+#
+# Format JSON
+#
+#
+
+#
+#
+# Host "localhost"
+# Port "27017"
+# Timeout 1000
+# StoreRates false
+# Database "auth_db"
+# User "auth_user"
+# Password "auth_passwd"
+#
+#
+
+#
+# Port "9103"
+#
+
+#
+#
+# Host "localhost"
+# Port "6379"
+# Timeout 1000
+# Prefix "collectd/"
+#
+#
+
+#
+#
+# Host "localhost"
+# Port 5555
+# Protocol TCP
+# Batch true
+# BatchMaxSize 8192
+# StoreRates true
+# AlwaysAppendDS false
+# TTLFactor 2.0
+# Notifications true
+# CheckThresholds false
+# EventServicePrefix ""
+#
+# Tag "foobar"
+# Attribute "foo" "bar"
+#
+
+#
+#
+# Host "localhost"
+# Port 3030
+# StoreRates true
+# AlwaysAppendDS false
+# Notifications true
+# Metrics true
+# EventServicePrefix ""
+# MetricHandler "influx"
+# MetricHandler "default"
+# NotificationHandler "flapjack"
+# NotificationHandler "howling_monkey"
+#
+# Tag "foobar"
+# Attribute "foo" "bar"
+#
+
+#
+# Project "stackdriver-account"
+# CredentialFile "/path/to/gcp-project-id-12345.json"
+# Email "123456789012@developer.gserviceaccount.com"
+#
+# Label "project_id" "gcp-project-id"
+#
+# Url "https://monitoring.googleapis.com/v3"
+#
+
+#
+#
+# Host "localhost"
+# Port "44514"
+# Prefix "collectd"
+# MessageFormat "human"
+# HostTags ""
+# StoreRates false
+# AlwaysAppendDS false
+#
+#
+
+#
+#
+# Host "localhost"
+# Port "4242"
+# HostTags "status=production"
+# StoreRates false
+# AlwaysAppendDS false
+#
+#
+
+#
+# Host "localhost"
+# Port "2181"
+#
+
+##############################################################################
+# Filter configuration #
+#----------------------------------------------------------------------------#
+# The following configures collectd's filtering mechanism. Before changing #
+# anything in this section, please read the `FILTER CONFIGURATION' section #
+# in the collectd.conf(5) manual page. #
+##############################################################################
+
+# Load required matches:
+#LoadPlugin match_empty_counter
+#LoadPlugin match_hashed
+#LoadPlugin match_regex
+#LoadPlugin match_value
+#LoadPlugin match_timediff
+
+# Load required targets:
+#LoadPlugin target_notification
+#LoadPlugin target_replace
+#LoadPlugin target_scale
+#LoadPlugin target_set
+#LoadPlugin target_v5upgrade
+
+#----------------------------------------------------------------------------#
+# The following block demonstrates the default behavior if no filtering is #
+# configured at all: All values will be sent to all available write plugins. #
+#----------------------------------------------------------------------------#
+
+#
+# Target "write"
+#
+
+##############################################################################
+# Threshold configuration #
+#----------------------------------------------------------------------------#
+# The following outlines how to configure collectd's threshold checking #
+# plugin. The plugin and possible configuration options are documented in #
+# the collectd-threshold(5) manual page. #
+##############################################################################
+
+#LoadPlugin "threshold"
+#
+#
+# WarningMin 0.00
+# WarningMax 1000.00
+# FailureMin 0.00
+# FailureMax 1200.00
+# Invert false
+# Instance "bar"
+#
+#
+#
+# Instance "eth0"
+#
+# FailureMax 10000000
+# DataSource "rx"
+#
+#
+#
+#
+#
+# Instance "idle"
+# FailureMin 10
+#
+#
+#
+#
+# Instance "cached"
+# WarningMin 100000000
+#
+#
+#
+#
+# DataSource "midterm"
+# FailureMax 4
+# Hits 3
+# Hysteresis 3
+#
+#
+#
+{% endif %}
+Include "/etc/collectd.d"
diff --git a/roles/collectd/vars/defaults.yml b/roles/collectd/vars/defaults.yml
new file mode 100644
index 0000000..79b4ddc
--- /dev/null
+++ b/roles/collectd/vars/defaults.yml
@@ -0,0 +1,4 @@
+collectd_packages:
+- collectd
+- collectd-chrony
+- collectd-disk