diff --git a/CHANGELOG.rst b/CHANGELOG.rst
new file mode 100644
index 0000000..0f3c749
--- /dev/null
+++ b/CHANGELOG.rst
@@ -0,0 +1,7 @@
+
+collectd-formula
+================
+
+0.0.1 (2015-08-03)
+
+- Initial formula setup
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..6f2b42f
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,13 @@
+Copyright (c) 2014-2015 tcp cloud a.s.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
\ No newline at end of file
diff --git a/README.rst b/README.rst
new file mode 100644
index 0000000..eaf9273
--- /dev/null
+++ b/README.rst
@@ -0,0 +1,84 @@
+========
+Collectd
+========
+
+Collectd is a daemon which collects system performance statistics periodically and provides mechanisms to store the values in a variety of ways, for example in RRD files. 
+
+Sample pillars
+==============
+
+Send data over TCP to Graphite Carbon (old way plugins)
+
+.. code-block:: yaml
+
+    collectd:
+      client:
+        enabled: true
+        read_interval: 60
+        plugins:
+        - name: cpu
+        - name: df
+        - name: disk
+        - name: entropy
+        - name: interface
+        - name: load
+        - name: memory
+        - name: processes
+        - name: swap
+        - name: uptime
+        - name: users
+        - name: write_graphite
+          host: carbon1.comain.com
+          port: 2003
+
+Gather libvirt data from local KVM
+
+.. code-block:: yaml
+
+    collectd:
+      client:
+        enabled: true
+        read_interval: 60
+        plugins:
+        - name: cpu
+        - name: libvirt
+          connection: 'qemu:///system'
+
+Send data over AMQP
+
+.. code-block:: yaml
+
+    collectd:
+      client:
+        enabled: true
+        read_interval: 60
+        plugins:
+        - name: cpu
+        - name: users
+        - name: amqp
+          host: broker1.comain.com
+          port: 5672
+          user: monitor
+          password: amqp-pwd
+          virtual_host: '/monitor'
+
+Send data over carbon
+
+.. code-block:: yaml
+
+    collectd:
+      client:
+        enabled: true
+        backend:
+          carbon:
+            engine: carbon
+            host: metrics.domain.com
+            port: 2003
+
+Read more
+=========
+
+* http://collectd.org/documentation.shtml
+* http://www.canopsis.org/2013/02/collectd-graphite/
+* http://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_libvirt
+* http://libvirt.org/uri.html#URI_qemu
diff --git a/VERSION b/VERSION
new file mode 100644
index 0000000..3b04cfb
--- /dev/null
+++ b/VERSION
@@ -0,0 +1 @@
+0.2
diff --git a/collectd/client.sls b/collectd/client.sls
new file mode 100644
index 0000000..aed79fa
--- /dev/null
+++ b/collectd/client.sls
@@ -0,0 +1,149 @@
+{%- from "collectd/map.jinja" import client with context %}
+{%- if client.enabled %}
+
+{% if grains.os == 'Ubuntu' and (grains.osrelease in ['10.04', '12.04']) %}
+
+collectd_repo:
+  pkgrepo.managed:
+  - human_name: Collectd
+  - ppa: nikicat/collectd
+  - file: /etc/apt/sources.list.d/collectd.list
+  - require_in:
+    - pkg: collectd_packages
+
+collectd_amqp_packages:
+  pkg.installed:
+  - names: 
+    - librabbitmq0
+
+{% endif %}
+
+collectd_packages:
+  pkg.installed:
+  - names: {{ client.pkgs }}
+
+/etc/collectd:
+  file.directory:
+  - user: root
+  - mode: 750
+  - makedirs: true
+  - require:
+    - pkg: collectd_packages
+
+{{ client.config_dir }}:
+  file.directory:
+  - user: root
+  - mode: 750
+  - makedirs: true
+  - require:
+    - pkg: collectd_packages
+
+{%- for plugin in client.get('plugins', []) %}
+
+{{ client.config_dir }}/{{ plugin.name }}.conf:
+  file.managed:
+  - source: salt://collectd/files/conf.d/{{ plugin.name }}.conf
+  - template: jinja
+  - user: root
+  - mode: 660
+  - require:
+    - file: {{ client.config_dir }}
+  - watch_in:
+    - service: collectd_service
+  - defaults:
+    plugin_name: "{{ plugin.name }}"
+
+{%- if plugin.name == 'network' %}
+/etc/collectd/passwd:
+  file.managed:
+  - source: salt://collectd/files/passwd
+  - template: jinja
+  - require:
+    - file: {{ client.config_dir }}
+{%- endif %}
+
+{%- endfor %}
+
+{%- for service in client.supported_services %}
+{%- if service in grains.roles %}
+
+{%- for service_group in service.split('.') %}
+{%- if loop.first %}
+{{ client.config_dir }}/{{ service|replace('.', '_') }}.conf:
+  file.managed:
+  - source: salt://{{ service_group }}/files/collectd.conf
+  - template: jinja
+  - user: root
+  - mode: 660
+  - require:
+    - file: {{ client.config_dir }}
+  - watch_in:
+    - service: collectd_service
+{%- endif %}
+{%- endfor %}
+
+{%- endif %}
+{%- endfor %}
+
+/etc/collectd/filters.conf:
+  file.managed:
+  - source: salt://collectd/files/filters.conf
+  - template: jinja
+  - user: root
+  - group: root
+  - mode: 660
+  - watch_in:
+    - service: collectd_service
+  - require:
+    - file: {{ client.config_dir }}
+
+/etc/collectd/thresholds.conf:
+  file.managed:
+  - source: salt://collectd/files/thresholds.conf
+  - template: jinja
+  - user: root
+  - group: root
+  - mode: 660
+  - watch_in:
+    - service: collectd_service
+  - require:
+    - file: {{ client.config_dir }}
+
+{{ client.config_file }}:
+  file.managed:
+  - source: salt://collectd/files/collectd.conf
+  - template: jinja
+  - user: root
+  - group: root
+  - mode: 660
+  - require:
+    - file: {{ client.config_dir }}
+  - watch_in:
+    - service: collectd_service
+
+{%- for backend_name, backend in client.backend.iteritems() %}
+
+{{ client.config_dir }}/{{ backend_name }}.conf:
+  file.managed:
+  - source: salt://collectd/files/backend/{{ backend.engine }}.conf
+  - template: jinja
+  - user: root
+  - group: root
+  - mode: 660
+  - defaults:
+    backend_name: "{{ backend_name }}"
+  - require:
+    - file: {{ client.config_dir }}
+  - watch_in:
+    - service: collectd_service
+
+{%- endfor %}
+
+collectd_service:
+  service.running:
+  - name: collectd
+  - enable: true
+  - require:
+    - pkg: collectd_packages
+
+{%- endif %}
diff --git a/collectd/files/backend/amqp.conf b/collectd/files/backend/amqp.conf
new file mode 100644
index 0000000..e93026e
--- /dev/null
+++ b/collectd/files/backend/amqp.conf
@@ -0,0 +1,19 @@
+
+LoadPlugin amqp
+
+<Plugin "amqp">
+	<Publish "graphite">
+		Host "{{ plugin.host }}"
+		Port "{{ plugin.port }}"
+		VHost "{{ plugin.virtual_host }}"
+		User "{{ plugin.user }}"
+		Password "{{ plugin.password }}"
+		Exchange "metrics"
+		ExchangeType "amq.topic"
+#		RoutingKey "metrics"
+		Persistent true
+		Format "Graphite"
+		GraphitePrefix "{{ pillar.system.system }}_{{ pillar.system.environment }}."
+		StoreRates false
+	</Publish>
+</Plugin>
diff --git a/collectd/files/backend/carbon.conf b/collectd/files/backend/carbon.conf
new file mode 100644
index 0000000..f0843d7
--- /dev/null
+++ b/collectd/files/backend/carbon.conf
@@ -0,0 +1,18 @@
+{%- from "linux/map.jinja" import system with context %}
+{%- set backend = salt['pillar.get']('collectd:client:backend:'+backend_name) %}
+
+LoadPlugin write_graphite
+
+<Plugin write_graphite>
+	<Carbon>
+		Host "{{ backend.host }}"
+		Port "{{ backend.port }}"
+		Prefix "{{ system.get('cluster', 'prd') }}_{{ system.get('environment', 'prd') }}."
+		Postfix ""
+		StoreRates false
+		AlwaysAppendDS false
+		EscapeCharacter "_"
+		SeparateInstances true
+		Protocol "{{ backend.get('protocol', 'tcp') }}"
+	</Carbon>
+</Plugin>
diff --git a/collectd/files/backend/collectd.conf b/collectd/files/backend/collectd.conf
new file mode 100644
index 0000000..aed68c3
--- /dev/null
+++ b/collectd/files/backend/collectd.conf
@@ -0,0 +1,34 @@
+LoadPlugin network
+{%- for plugin in pillar.collectd.client.plugins %}
+{%- if plugin_name == plugin.name %}
+<Plugin "network">
+	{% if plugin.mode == 'client' %}
+	Server "{{ plugin.host }}" "{{ plugin.port }}"
+#	<Server "{{ plugin.host }}" "{{ plugin.port }}">
+#		SecurityLevel Encrypt
+#		Username "{{ plugin.user }}"
+#		Password "{{ plugin.password }}"
+#	</Server>
+	TimeToLive 128
+	{% endif %}
+	{% if plugin.mode == 'server' %}
+	Listen "{{ plugin.host }}" "{{ plugin.port }}"
+#	<Listen "{{ plugin.host }}" "{{ plugin.port }}">
+#		SecurityLevel Sign
+#		AuthFile "/etc/collectd/passwd"
+#		Interface "{{ plugin.interface }}"
+#	</Listen>
+	MaxPacketSize 1024
+	{% endif %}
+
+#	# proxy setup (client and server as above):
+#	Forward true
+#
+#	# statistics about the network plugin itself
+#	ReportStats false
+#
+#	# "garbage collection"
+#	CacheFlush 1800
+</Plugin>
+{%- endif %}
+{%- endfor %}
diff --git a/collectd/files/collectd.conf b/collectd/files/collectd.conf
new file mode 100644
index 0000000..cae53fe
--- /dev/null
+++ b/collectd/files/collectd.conf
@@ -0,0 +1,897 @@
+{%- from "collectd/map.jinja" import client with context %}
+{%- from "linux/map.jinja" import system with context %}
+
+# Config file for collectd(1).
+#
+# Some plugins need additional configuration and are disabled by default.
+# Please read collectd.conf(5) for details.
+#
+# You should also read /usr/share/doc/collectd-core/README.Debian.plugins
+# before enabling any more plugins.
+
+##############################################################################
+# Global                                                                     #
+#----------------------------------------------------------------------------#
+# Global settings for the daemon.                                            #
+##############################################################################
+
+Hostname "{{ system.name }}.{{ system.domain }}"
+FQDNLookup false
+
+#BaseDir "/var/lib/collectd"
+#PluginDir "/usr/lib/collectd"
+#TypesDB "/usr/share/collectd/types.db" "/etc/collectd/my_types.db"
+
+#----------------------------------------------------------------------------#
+# Interval at which to query values. This may be overwritten on a per-plugin #
+# base by using the 'Interval' option of the LoadPlugin block:               #
+#   <LoadPlugin foo>                                                         #
+#       Interval 60                                                          #
+#   </LoadPlugin>                                                            #
+#----------------------------------------------------------------------------#
+Interval {{ client.read_interval }}
+
+#Timeout 2
+#ReadThreads 5
+
+##############################################################################
+# 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
+<Plugin syslog>
+	LogLevel info
+</Plugin>
+
+##############################################################################
+# LoadPlugin section                                                         #
+#----------------------------------------------------------------------------#
+# Specify what features to activate.                                         #
+##############################################################################
+
+#LoadPlugin aggregation
+#LoadPlugin amqp
+#LoadPlugin apache
+#LoadPlugin apcups
+#LoadPlugin ascent
+##LoadPlugin battery
+#LoadPlugin bind
+#LoadPlugin conntrack
+#LoadPlugin contextswitch
+#LoadPlugin cpu
+#LoadPlugin cpufreq
+#LoadPlugin csv
+#LoadPlugin curl
+#LoadPlugin curl_json
+#LoadPlugin curl_xml
+#LoadPlugin dbi
+#LoadPlugin df
+##LoadPlugin disk
+#LoadPlugin dns
+#LoadPlugin email
+##LoadPlugin entropy
+#LoadPlugin ethstat
+#LoadPlugin exec
+#LoadPlugin filecount
+#LoadPlugin fscache
+#LoadPlugin gmond
+#LoadPlugin hddtemp
+##LoadPlugin interface
+#LoadPlugin ipmi
+#LoadPlugin iptables
+#LoadPlugin ipvs
+##LoadPlugin irq
+#LoadPlugin java
+#LoadPlugin libvirt
+#LoadPlugin load
+#LoadPlugin madwifi
+#LoadPlugin mbmon
+#LoadPlugin md
+#LoadPlugin memcachec
+#LoadPlugin memcached
+#LoadPlugin memory
+#LoadPlugin modbus
+#LoadPlugin multimeter
+#LoadPlugin mysql
+#LoadPlugin netlink
+#LoadPlugin network
+#LoadPlugin nfs
+#LoadPlugin nginx
+#LoadPlugin notify_desktop
+#LoadPlugin notify_email
+#LoadPlugin ntpd
+#LoadPlugin numa
+#LoadPlugin nut
+#LoadPlugin olsrd
+#LoadPlugin openvpn
+#<LoadPlugin perl>
+#	Globals true
+#</LoadPlugin>
+#LoadPlugin pinba
+#LoadPlugin ping
+#LoadPlugin postgresql
+#LoadPlugin powerdns
+#LoadPlugin processes
+#LoadPlugin protocols
+#<LoadPlugin python>
+#	Globals true
+#</LoadPlugin>
+#LoadPlugin rrdcached
+#LoadPlugin rrdtool
+#LoadPlugin sensors
+#LoadPlugin serial
+#LoadPlugin snmp
+#LoadPlugin swap
+#LoadPlugin table
+#LoadPlugin tail
+#LoadPlugin tcpconns
+#LoadPlugin teamspeak2
+#LoadPlugin ted
+#LoadPlugin thermal
+#LoadPlugin tokyotyrant
+#LoadPlugin unixsock
+#LoadPlugin uptime
+#LoadPlugin users
+#LoadPlugin uuid
+#LoadPlugin varnish
+#LoadPlugin vmem
+#LoadPlugin vserver
+#LoadPlugin wireless
+#LoadPlugin write_graphite
+#LoadPlugin write_http
+#LoadPlugin write_mongodb
+
+##############################################################################
+# 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. #
+##############################################################################
+
+#<Plugin "aggregation">
+#	<Aggregation>
+#		#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
+#	</Aggregation>
+#</Plugin>
+
+#<Plugin amqp>
+#	<Publish "name">
+#		Host "localhost"
+#		Port "5672"
+#		VHost "/"
+#		User "guest"
+#		Password "guest"
+#		Exchange "amq.fanout"
+#		RoutingKey "collectd"
+#		Persistent false
+#		StoreRates false
+#	</Publish>
+#</Plugin>
+
+#<Plugin apache>
+#	<Instance "foo">
+#		URL "http://localhost/server-status?auto"
+#		User "www-user"
+#		Password "secret"
+#		VerifyPeer false
+#		VerifyHost false
+#		CACert "/etc/ssl/ca.crt"
+#		Server "apache"
+#	</Instance>
+#
+#	<Instance "bar">
+#		URL "http://some.domain.tld/status?auto"
+#		Host "some.domain.tld"
+#		Server "lighttpd"
+#	</Instance>
+#</Plugin>
+
+#<Plugin apcups>
+#	Host "localhost"
+#	Port "3551"
+#</Plugin>
+
+#<Plugin ascent>
+#	URL "http://localhost/ascent/status/"
+#	User "www-user"
+#	Password "secret"
+#	VerifyPeer false
+#	VerifyHost false
+#	CACert "/etc/ssl/ca.crt"
+#</Plugin>
+
+#<Plugin "bind">
+#	URL "http://localhost:8053/"
+#
+#	ParseTime false
+#
+#	OpCodes true
+#	QTypes true
+#	ServerStats true
+#	ZoneMaintStats true
+#	ResolverStats false
+#	MemoryStats true
+#
+#	<View "_default">
+#		QTypes true
+#		ResolverStats true
+#		CacheRRSets true
+#
+#		Zone "127.in-addr.arpa/IN"
+#	</View>
+#</Plugin>
+
+#<Plugin csv>
+#	DataDir "/var/lib/collectd/csv"
+#	StoreRates false
+#</Plugin>
+
+#<Plugin curl>
+#	<Page "stock_quotes">
+#		URL "http://finance.google.com/finance?q=NYSE%3AAMD"
+#		User "foo"
+#		Password "bar"
+#		VerifyPeer false
+#		VerifyHost false
+#		CACert "/etc/ssl/ca.crt"
+#		MeasureResponseTime false
+#		<Match>
+#			Regex "<span +class=\"pr\"[^>]*> *([0-9]*\\.[0-9]+) *</span>"
+#			DSType "GaugeAverage"
+#			Type "stock_value"
+#			Instance "AMD"
+#		</Match>
+#	</Page>
+#</Plugin>
+
+#<Plugin curl_json>
+## See: http://wiki.apache.org/couchdb/Runtime_Statistics
+#  <URL "http://localhost:5984/_stats">
+#    Instance "httpd"
+#    <Key "httpd/requests/count">
+#      Type "http_requests"
+#    </Key>
+#
+#    <Key "httpd_request_methods/*/count">
+#      Type "http_request_methods"
+#    </Key>
+#
+#    <Key "httpd_status_codes/*/count">
+#      Type "http_response_codes"
+#    </Key>
+#  </URL>
+## Database status metrics:
+#  <URL "http://localhost:5984/_all_dbs">
+#    Instance "dbs"
+#    <Key "*/doc_count">
+#      Type "gauge"
+#    </Key>
+#    <Key "*/doc_del_count">
+#      Type "counter"
+#    </Key>
+#    <Key "*/disk_size">
+#      Type "bytes"
+#    </Key>
+#  </URL>
+#</Plugin>
+
+#<Plugin "curl_xml">
+#	<URL "http://localhost/stats.xml">
+#		Host "my_host"
+#		Instance "some_instance"
+#		User "collectd"
+#		Password "thaiNg0I"
+#		VerifyPeer true
+#		VerifyHost true
+#		CACert "/path/to/ca.crt"
+#
+#		<XPath "table[@id=\"magic_level\"]/tr">
+#			Type "magic_level"
+#			InstancePrefix "prefix-"
+#			InstanceFrom "td[1]"
+#			ValuesFrom "td[2]/span[@class=\"level\"]"
+#		</XPath>
+#	</URL>
+#</Plugin>
+
+#<Plugin dbi>
+#	<Query "num_of_customers">
+#		Statement "SELECT 'customers' AS c_key, COUNT(*) AS c_value \
+#				FROM customers_tbl"
+#		MinVersion 40102
+#		MaxVersion 50042
+#		<Result>
+#			Type "gauge"
+#			InstancePrefix "customer"
+#			InstancesFrom "c_key"
+#			ValuesFrom "c_value"
+#		</Result>
+#	</Query>
+#
+#	<Database "customers_db">
+#		Driver "mysql"
+#		DriverOption "host" "localhost"
+#		DriverOption "username" "collectd"
+#		DriverOption "password" "secret"
+#		DriverOption "dbname" "custdb0"
+#		SelectDB "custdb0"
+#		Query "num_of_customers"
+#		Query "..."
+#	</Database>
+#</Plugin>
+
+#<Plugin dns>
+#	Interface "eth0"
+#	IgnoreSource "192.168.0.1"
+#	SelectNumericQueryTypes false
+#</Plugin>
+
+#<Plugin email>
+#	SocketFile "/var/run/collectd-email"
+#	SocketGroup "collectd"
+#	SocketPerms "0770"
+#	MaxConns 5
+#</Plugin>
+
+#<Plugin ethstat>
+#	Interface "eth0"
+#	Map "rx_csum_offload_errors" "if_rx_errors" "checksum_offload"
+#	Map "multicast" "if_multicast"
+#	MappedOnly false
+#</Plugin>
+
+#<Plugin exec>
+#	Exec user "/path/to/exec"
+#	Exec "user:group" "/path/to/exec"
+#	NotificationExec user "/path/to/exec"
+#</Plugin>
+
+#<Plugin filecount>
+#	<Directory "/path/to/dir">
+#		Instance "foodir"
+#		Name "*.conf"
+#		MTime "-5m"
+#		Size "+10k"
+#		Recursive true
+#		IncludeHidden false
+#	</Directory>
+#</Plugin>
+
+#<Plugin gmond>
+#	MCReceiveFrom "239.2.11.71" "8649"
+#
+#	<Metric "swap_total">
+#		Type "swap"
+#		TypeInstance "total"
+#		DataSource "value"
+#	</Metric>
+#
+#	<Metric "swap_free">
+#		Type "swap"
+#		TypeInstance "free"
+#		DataSource "value"
+#	</Metric>
+#</Plugin>
+
+#<Plugin hddtemp>
+#	Host "127.0.0.1"
+#	Port 7634
+#</Plugin>
+
+#<Plugin interface>
+#	Interface "eth0"
+#	IgnoreSelected false
+#</Plugin>
+
+#<Plugin ipmi>
+#	Sensor "some_sensor"
+#	Sensor "another_one"
+#	IgnoreSelected false
+#	NotifySensorAdd false
+#	NotifySensorRemove true
+#	NotifySensorNotPresent false
+#</Plugin>
+
+#<Plugin iptables>
+#	Chain "table" "chain"
+#</Plugin>
+
+#<Plugin irq>
+#	Irq 7
+#	Irq 8
+#	Irq 9
+#	IgnoreSelected true
+#</Plugin>
+
+#<Plugin java>
+#	JVMArg "-verbose:jni"
+#	JVMArg "-Djava.class.path=/usr/share/collectd/java/collectd-api.jar"
+#
+#	LoadPlugin "org.collectd.java.GenericJMX"
+#	<Plugin "GenericJMX">
+#		# See /usr/share/doc/collectd/examples/GenericJMX.conf
+#		# for an example config.
+#	</Plugin>
+#</Plugin>
+
+#<Plugin libvirt>
+#	Connection "xen:///"
+#	RefreshInterval 60
+#	Domain "name"
+#	BlockDevice "name:device"
+#	InterfaceDevice "name:device"
+#	IgnoreSelected false
+#	HostnameFormat name
+#	InterfaceFormat name
+#</Plugin>
+
+#<Plugin madwifi>
+#	Interface "wlan0"
+#	IgnoreSelected false
+#	Source "SysFS"
+#	WatchSet "None"
+#	WatchAdd "node_octets"
+#	WatchAdd "node_rssi"
+#	WatchAdd "is_rx_acl"
+#	WatchAdd "is_scan_active"
+#</Plugin>
+
+#<Plugin mbmon>
+#	Host "127.0.0.1"
+#	Port 411
+#</Plugin>
+
+#<Plugin md>
+#	Device "/dev/md0"
+#	IgnoreSelected false
+#</Plugin>
+
+#<Plugin memcachec>
+#	<Page "plugin_instance">
+#		Server "localhost"
+#		Key "page_key"
+#		<Match>
+#			Regex "(\\d+) bytes sent"
+#			ExcludeRegex "<lines to be excluded>"
+#			DSType CounterAdd
+#			Type "ipt_octets"
+#			Instance "type_instance"
+#		</Match>
+#	</Page>
+#</Plugin>
+
+#<Plugin modbus>
+#	<Data "data_name">
+#		RegisterBase 1234
+#		RegisterType float
+#		Type gauge
+#		Instance "..."
+#	</Data>
+#
+#	<Host "name">
+#		Address "addr"
+#		Port "1234"
+#		Interval 60
+#
+#		<Slave 1>
+#			Instance "foobar" # optional
+#			Collect "data_name"
+#		</Slave>
+#	</Host>
+#</Plugin>
+
+#<Plugin netlink>
+#	Interface "All"
+#	VerboseInterface "All"
+#	QDisc "eth0" "pfifo_fast-1:0"
+#	Class "ppp0" "htb-1:10"
+#	Filter "ppp0" "u32-1:0"
+#	IgnoreSelected false
+#</Plugin>
+
+#<Plugin network>
+#	# client setup:
+#	Server "ff18::efc0:4a42" "25826"
+#	<Server "239.192.74.66" "25826">
+#		SecurityLevel Encrypt
+#		Username "user"
+#		Password "secret"
+#		Interface "eth0"
+#	</Server>
+#	TimeToLive "128"
+#
+#	# server setup:
+#	Listen "ff18::efc0:4a42" "25826"
+#	<Listen "239.192.74.66" "25826">
+#		SecurityLevel Sign
+#		AuthFile "/etc/collectd/passwd"
+#		Interface "eth0"
+#	</Listen>
+#	MaxPacketSize 1024
+#
+#	# proxy setup (client and server as above):
+#	Forward true
+#
+#	# statistics about the network plugin itself
+#	ReportStats false
+#
+#	# "garbage collection"
+#	CacheFlush 1800
+#</Plugin>
+
+#<Plugin notify_desktop>
+#	OkayTimeout 1000
+#	WarningTimeout 5000
+#	FailureTimeout 0
+#</Plugin>
+
+#<Plugin notify_email>
+#	SMTPServer "localhost"
+#	SMTPPort 25
+#	SMTPUser "my-username"
+#	SMTPPassword "my-password"
+#	From "collectd@main0server.com"
+#	# <WARNING/FAILURE/OK> on <hostname>.
+#	# Beware! Do not use not more than two placeholders (%)!
+#	Subject "[collectd] %s on %s!"
+#	Recipient "email1@domain1.net"
+#	Recipient "email2@domain2.com"
+#</Plugin>
+
+#<Plugin ntpd>
+#	Host "localhost"
+#	Port 123
+#	ReverseLookups false
+#	IncludeUnitID true
+#</Plugin>
+
+#<Plugin nut>
+#	UPS "upsname@hostname:port"
+#</Plugin>
+
+#<Plugin olsrd>
+#	Host "127.0.0.1"
+#	Port "2006"
+#	CollectLinks "Summary"
+#	CollectRoutes "Summary"
+#	CollectTopology "Summary"
+#</Plugin>
+
+#<Plugin openvpn>
+#	StatusFile "/etc/openvpn/openvpn-status.log"
+#	ImprovedNamingSchema false
+#	CollectCompression true
+#	CollectIndividualUsers true
+#	CollectUserCount false
+#</Plugin>
+
+#<Plugin perl>
+#	IncludeDir "/my/include/path"
+#	BaseName "Collectd::Plugins"
+#	EnableDebugger ""
+#	LoadPlugin Monitorus
+#	LoadPlugin OpenVZ
+#
+#	<Plugin foo>
+#		Foo "Bar"
+#		Qux "Baz"
+#	</Plugin>
+#</Plugin>
+
+#<Plugin pinba>
+#	Address "::0"
+#	Port "30002"
+#	<View "name">
+#		Host "host name"
+#		Server "server name"
+#		Script "script name"
+#	<View>
+#</Plugin>
+
+#<Plugin ping>
+#	Host "host.foo.bar"
+#	Host "host.baz.qux"
+#	Interval 1.0
+#	Timeout 0.9
+#	TTL 255
+#	SourceAddress "1.2.3.4"
+#	Device "eth0"
+#	MaxMissed -1
+#</Plugin>
+
+#<Plugin powerdns>
+#	<Server "server_name">
+#		Collect "latency"
+#		Collect "udp-answers" "udp-queries"
+#		Socket "/var/run/pdns.controlsocket"
+#	</Server>
+#	<Recursor "recursor_name">
+#		Collect "questions"
+#		Collect "cache-hits" "cache-misses"
+#		Socket "/var/run/pdns_recursor.controlsocket"
+#	</Recursor>
+#	LocalSocket "/opt/collectd/var/run/collectd-powerdns"
+#</Plugin>
+
+#<Plugin processes>
+#	Process "name"
+#	ProcessMatch "foobar" "/usr/bin/perl foobar\\.pl.*"
+#</Plugin>
+
+#<Plugin protocols>
+#	Value "/^Tcp:/"
+#	IgnoreSelected false
+#</Plugin>
+
+#<Plugin python>
+#	ModulePath "/path/to/your/python/modules"
+#	LogTraces true
+#	Interactive true
+#	Import "spam"
+#
+#	<Module spam>
+#		spam "wonderful" "lovely"
+#	</Module>
+#</Plugin>
+
+#<Plugin rrdcached>
+#	DaemonAddress "unix:/var/run/rrdcached.sock"
+#	DataDir "/var/lib/rrdcached/db/collectd"
+#	CreateFiles true
+#	CollectStatistics true
+#
+# The following settings are rather advanced
+# and should usually not be touched:
+#	StepSize 10
+#	HeartBeat 20
+#	RRARows 1200
+#	RRATimespan 158112000
+#	XFF 0.1
+#</Plugin>
+
+#<Plugin rrdtool>
+#	DataDir "/var/lib/collectd/rrd"
+#	CacheTimeout 120
+#	CacheFlush 900
+#	WritesPerSecond 30
+#	RandomTimeout 0
+#
+# The following settings are rather advanced
+# and should usually not be touched:
+#	StepSize 10
+#	HeartBeat 20
+#	RRARows 1200
+#	RRATimespan 158112000
+#	XFF 0.1
+#</Plugin>
+
+#<Plugin sensors>
+#	SensorConfigFile "/etc/sensors3.conf"
+#	Sensor "it8712-isa-0290/temperature-temp1"
+#	Sensor "it8712-isa-0290/fanspeed-fan3"
+#	Sensor "it8712-isa-0290/voltage-in8"
+#	IgnoreSelected false
+#</Plugin>
+
+# See /usr/share/doc/collectd/examples/snmp-data.conf.gz for a
+# comprehensive sample configuration.
+#<Plugin snmp>
+#	<Data "powerplus_voltge_input">
+#		Type "voltage"
+#		Table false
+#		Instance "input_line1"
+#		Scale 0.1
+#		Values "SNMPv2-SMI::enterprises.6050.5.4.1.1.2.1"
+#	</Data>
+#	<Data "hr_users">
+#		Type "users"
+#		Table false
+#		Instance ""
+#		Shift -1
+#		Values "HOST-RESOURCES-MIB::hrSystemNumUsers.0"
+#	</Data>
+#	<Data "std_traffic">
+#		Type "if_octets"
+#		Table true
+#		InstancePrefix "traffic"
+#		Instance "IF-MIB::ifDescr"
+#		Values "IF-MIB::ifInOctets" "IF-MIB::ifOutOctets"
+#	</Data>
+#
+#	<Host "some.switch.mydomain.org">
+#		Address "192.168.0.2"
+#		Version 1
+#		Community "community_string"
+#		Collect "std_traffic"
+#		Inverval 120
+#	</Host>
+#	<Host "some.server.mydomain.org">
+#		Address "192.168.0.42"
+#		Version 2
+#		Community "another_string"
+#		Collect "std_traffic" "hr_users"
+#	</Host>
+#	<Host "some.ups.mydomain.org">
+#		Address "192.168.0.3"
+#		Version 1
+#		Community "more_communities"
+#		Collect "powerplus_voltge_input"
+#		Interval 300
+#	</Host>
+#</Plugin>
+
+#<Plugin swap>
+#	ReportByDevice false
+#	ReportBytes true
+#</Plugin>
+
+#<Plugin table>
+#	<Table "/proc/slabinfo">
+#		Instance "slabinfo"
+#		Separator " "
+#		<Result>
+#			Type gauge
+#			InstancePrefix "active_objs"
+#			InstancesFrom 0
+#			ValuesFrom 1
+#		</Result>
+#		<Result>
+#			Type gauge
+#			InstancePrefix "objperslab"
+#			InstancesFrom 0
+#			ValuesFrom 4
+#		</Result>
+#	</Table>
+#</Plugin>
+
+#<Plugin "tail">
+#	<File "/var/log/exim4/mainlog">
+#		Instance "exim"
+#		<Match>
+#			Regex "S=([1-9][0-9]*)"
+#			DSType "CounterAdd"
+#			Type "ipt_bytes"
+#			Instance "total"
+#		</Match>
+#		<Match>
+#			Regex "\\<R=local_user\\>"
+#			ExcludeRegex "\\<R=local_user\\>.*mail_spool defer"
+#			DSType "CounterInc"
+#			Type "counter"
+#			Instance "local_user"
+#		</Match>
+#	</File>
+#</Plugin>
+
+#<Plugin tcpconns>
+#	ListeningPorts false
+#	LocalPort "25"
+#	RemotePort "25"
+#</Plugin>
+
+#<Plugin teamspeak2>
+#	Host "127.0.0.1"
+#	Port "51234"
+#	Server "8767"
+#</Plugin>
+
+#<Plugin ted>
+#	Device "/dev/ttyUSB0"
+#	Retries 0
+#</Plugin>
+
+#<Plugin thermal>
+#	ForceUseProcfs false
+#	Device "THRM"
+#	IgnoreSelected false
+#</Plugin>
+
+#<Plugin tokyotyrant>
+#	Host "localhost"
+#	Port "1978"
+#</Plugin>
+
+#<Plugin unixsock>
+#	SocketFile "/var/run/collectd-unixsock"
+#	SocketGroup "collectd"
+#	SocketPerms "0660"
+#	DeleteSocket false
+#</Plugin>
+
+#<Plugin uuid>
+#	UUIDFile "/etc/uuid"
+#</Plugin>
+
+#<Plugin varnish>
+#	<Instance>
+#		CollectCache true
+#		CollectBackend true
+#		CollectConnections true
+#		CollectSHM true
+#		CollectESI false
+#		CollectFetch false
+#		CollectHCB false
+#		CollectSMA false
+#		CollectSMS false
+#		CollectSM false
+#		CollectTotals false
+#		CollectWorkers false
+#	</Instance>
+#
+#	<Instance "myinstance">
+#		CollectCache true
+#	</Instance>
+#</Plugin>
+
+#<Plugin vmem>
+#	Verbose false
+#</Plugin>
+
+#<Plugin write_graphite>
+#	<Carbon>
+#		Host "localhost"
+#		Port "2003"
+#		Prefix "collectd"
+#		Postfix "collectd"
+#		StoreRates false
+#		AlwaysAppendDS false
+#		EscapeCharacter "_"
+#	</Carbon>
+#</Plugin>
+
+#<Plugin write_http>
+#	<URL "http://example.com/collectd-post">
+#		User "collectd"
+#		Password "secret"
+#		VerifyPeer true
+#		VerifyHost true
+#		CACert "/etc/ssl/ca.crt"
+#		Format "Command"
+#		StoreRates false
+#	</URL>
+#</Plugin>
+
+#<Plugin write_mongodb>
+#	<Node "example">
+#		Host "localhost"
+#		Port "27017"
+#		Timeout 1000
+#		StoreRates false
+#	<Node>
+#</Plugin>
+
+{%- for plugin in client.get('plugins', []) %}
+Include "{{ client.config_dir }}/{{ plugin.name }}.conf"
+{%- endfor %}
+
+{%- for service in client.supported_services %}
+{%- if service in grains.roles %}
+Include "{{ client.config_dir }}/{{ service|replace('.', '_') }}.conf"
+{%- endif %}
+{%- endfor %}
+
+{%- for backend_name, backend in client.backend.iteritems() %}
+Include "{{ client.config_dir }}/{{ backend_name }}.conf"
+{%- endfor %}
+
+Include "/etc/collectd/filters.conf"
+Include "/etc/collectd/thresholds.conf"
+
diff --git a/collectd/files/conf.d/amqp.conf b/collectd/files/conf.d/amqp.conf
new file mode 100644
index 0000000..4a9dc82
--- /dev/null
+++ b/collectd/files/conf.d/amqp.conf
@@ -0,0 +1,21 @@
+LoadPlugin amqp
+{%- for plugin in pillar.collectd.client.plugins %}
+{%- if plugin_name == plugin.name %}
+<Plugin "amqp">
+	<Publish "graphite">
+		Host "{{ plugin.host }}"
+		Port "{{ plugin.port }}"
+		VHost "{{ plugin.virtual_host }}"
+		User "{{ plugin.user }}"
+		Password "{{ plugin.password }}"
+		Exchange "metrics"
+		ExchangeType "amq.topic"
+#		RoutingKey "metrics"
+		Persistent true
+		Format "Graphite"
+		GraphitePrefix "{{ pillar.system.system }}_{{ pillar.system.environment }}."
+		StoreRates false
+	</Publish>
+</Plugin>
+{%- endif %}
+{%- endfor %}
diff --git a/collectd/files/conf.d/apache.conf b/collectd/files/conf.d/apache.conf
new file mode 100644
index 0000000..023e744
--- /dev/null
+++ b/collectd/files/conf.d/apache.conf
@@ -0,0 +1,17 @@
+LoadPlugin apache
+<Plugin apache>
+  {%- if pillar.apache is defined %}
+  {%- if pillar.apache.enabled %}
+  <Instance "apache">
+    URL "http://localhost/server-status?auto"
+  </Instance>
+  {%- endif %}
+  {%- endif %}
+  {%- if pillar.lighttpd is defined %}
+  {%- if pillar.lighttpd.enabled %}
+  <Instance "lighttpd">
+    URL "http://localhost/server-status?auto"
+  </Instance>
+  {%- endif %}
+  {%- endif %}
+</Plugin>
diff --git a/collectd/files/conf.d/filecount.conf b/collectd/files/conf.d/filecount.conf
new file mode 100644
index 0000000..0525a48
--- /dev/null
+++ b/collectd/files/conf.d/filecount.conf
@@ -0,0 +1,12 @@
+LoadPlugin filecount
+<Plugin filecount>
+  {%- if pillar.webcms is defined %}
+  {%- if pillar.webcms.enabled %}
+  {%- for app in pillar.webcms.apps %}
+  <Directory "/srv/webcms/sites/{{ app.name }}/media/files">
+    Instance "webcms_{{ app.name }}"
+  </Directory>
+  {%- endfor %}
+  {%- endif %}
+  {%- endif %}
+</Plugin>
diff --git a/collectd/files/conf.d/libvirt.conf b/collectd/files/conf.d/libvirt.conf
new file mode 100644
index 0000000..2042ae1
--- /dev/null
+++ b/collectd/files/conf.d/libvirt.conf
@@ -0,0 +1,14 @@
+LoadPlugin libvirt
+{%- for plugin in pillar.collectd.client.plugins %}
+{%- if plugin_name == plugin.name %}
+<Plugin "libvirt">
+  Connection "{{ plugin.get("connection", "xen:///") }}"
+  RefreshInterval 60
+  #Domain "name"
+  #BlockDevice "name:device"
+  #InterfaceDevice "name:interface"
+  #IgnoreSelected false
+  HostnameFormat "{{ plugin.get('name_format', 'uuid') }}"
+</Plugin>
+{%- endif %}
+{%- endfor %}
diff --git a/collectd/files/conf.d/logfile.conf b/collectd/files/conf.d/logfile.conf
new file mode 100644
index 0000000..d6a7f40
--- /dev/null
+++ b/collectd/files/conf.d/logfile.conf
@@ -0,0 +1,7 @@
+LoadPlugin logfile
+<Plugin logfile>
+  LogLevel "info"
+  File "/tmp/collectd.log"
+  Timestamp true
+  PrintSeverity false
+</Plugin>
diff --git a/collectd/files/conf.d/memcached.conf b/collectd/files/conf.d/memcached.conf
new file mode 100644
index 0000000..1a02ea1
--- /dev/null
+++ b/collectd/files/conf.d/memcached.conf
@@ -0,0 +1,9 @@
+{%- if pillar.memcached is defined %}
+{%- if pillar.memcached.enabled %}
+LoadPlugin memcached
+<Plugin memcached>
+  Host "localhost"
+  Port "{{ pillar.memcached.bind_port }}"
+</Plugin>
+{%- endif %}
+{%- endif %}
diff --git a/collectd/files/conf.d/mysql.conf b/collectd/files/conf.d/mysql.conf
new file mode 100644
index 0000000..2c2257a
--- /dev/null
+++ b/collectd/files/conf.d/mysql.conf
@@ -0,0 +1,13 @@
+LoadPlugin mysql
+<Plugin mysql>
+    {%- for database in pillar.mysql.server.databases %}
+	<Database db_name>
+		Host "localhost"
+		Port "3306"
+		User "{{ database.user }}"
+		Password "{{ database.password }}"
+		Database "{{ database.name }}"
+		MasterStats true
+	</Database>
+	{%- endfor %}
+</Plugin>
diff --git a/collectd/files/conf.d/network.conf b/collectd/files/conf.d/network.conf
new file mode 100644
index 0000000..aed68c3
--- /dev/null
+++ b/collectd/files/conf.d/network.conf
@@ -0,0 +1,34 @@
+LoadPlugin network
+{%- for plugin in pillar.collectd.client.plugins %}
+{%- if plugin_name == plugin.name %}
+<Plugin "network">
+	{% if plugin.mode == 'client' %}
+	Server "{{ plugin.host }}" "{{ plugin.port }}"
+#	<Server "{{ plugin.host }}" "{{ plugin.port }}">
+#		SecurityLevel Encrypt
+#		Username "{{ plugin.user }}"
+#		Password "{{ plugin.password }}"
+#	</Server>
+	TimeToLive 128
+	{% endif %}
+	{% if plugin.mode == 'server' %}
+	Listen "{{ plugin.host }}" "{{ plugin.port }}"
+#	<Listen "{{ plugin.host }}" "{{ plugin.port }}">
+#		SecurityLevel Sign
+#		AuthFile "/etc/collectd/passwd"
+#		Interface "{{ plugin.interface }}"
+#	</Listen>
+	MaxPacketSize 1024
+	{% endif %}
+
+#	# proxy setup (client and server as above):
+#	Forward true
+#
+#	# statistics about the network plugin itself
+#	ReportStats false
+#
+#	# "garbage collection"
+#	CacheFlush 1800
+</Plugin>
+{%- endif %}
+{%- endfor %}
diff --git a/collectd/files/conf.d/nginx.conf b/collectd/files/conf.d/nginx.conf
new file mode 100644
index 0000000..6131b5b
--- /dev/null
+++ b/collectd/files/conf.d/nginx.conf
@@ -0,0 +1,4 @@
+LoadPlugin nginx
+<Plugin nginx>
+    URL "http://localhost/status?auto"
+</Plugin>
diff --git a/collectd/files/conf.d/postgresql.conf b/collectd/files/conf.d/postgresql.conf
new file mode 100644
index 0000000..db6fa66
--- /dev/null
+++ b/collectd/files/conf.d/postgresql.conf
@@ -0,0 +1,25 @@
+{%- if pillar.postgresql is defined %}
+{%- if pillar.postgresql.server.enabled %}
+LoadPlugin postgresql
+<Plugin postgresql>
+  <Query disk_usage>
+    Statement "SELECT pg_database_size($1) AS size;"
+    Param database
+    <Result>
+      Type pg_db_size
+      ValuesFrom "size"
+    </Result>
+  </Query>
+  {%- for database in pillar.postgresql.databases %}
+  <Database {{ database.name }}>
+    Host "localhost"
+    Port 5432
+    User "{{ database.user }}"
+    Password "{{ database.password }}"
+    Service "service_{{ database.name }}"
+    Query disk_usage
+  </Database>
+  {%- endfor %}
+</Plugin>
+{%- endif %}
+{%- endif %}
diff --git a/collectd/files/conf.d/statsd.conf b/collectd/files/conf.d/statsd.conf
new file mode 100644
index 0000000..fd1e58b
--- /dev/null
+++ b/collectd/files/conf.d/statsd.conf
@@ -0,0 +1,7 @@
+LoadPlugin statsd
+<Plugin statsd>
+	Host "::"
+	Port "8125"
+	DeleteSets true
+	TimerPercentile 90.0
+</Plugin>
diff --git a/collectd/files/conf.d/write_graphite.conf b/collectd/files/conf.d/write_graphite.conf
new file mode 100644
index 0000000..9d3e730
--- /dev/null
+++ b/collectd/files/conf.d/write_graphite.conf
@@ -0,0 +1,20 @@
+{%- from "linux/map.jinja" import system with context %}
+
+LoadPlugin write_graphite
+{%- for plugin in pillar.collectd.client.plugins %}
+{%- if plugin_name == plugin.name %}
+<Plugin write_graphite>
+	<Carbon>
+		Host "{{ plugin.host }}"
+		Port "{{ plugin.port }}"
+		Prefix "{{ system.cluster }}_{{ system.environment }}."
+		Postfix ""
+		StoreRates false
+		AlwaysAppendDS false
+		EscapeCharacter "_"
+		SeparateInstances true
+		Protocol "{{ plugin.get('protocol', 'tcp') }}"
+	</Carbon>
+</Plugin>
+{%- endif %}
+{%- endfor %}
diff --git a/collectd/files/filters.conf b/collectd/files/filters.conf
new file mode 100644
index 0000000..5dbf890
--- /dev/null
+++ b/collectd/files/filters.conf
@@ -0,0 +1,34 @@
+# Filter configuration for collectd(1).
+#
+# See the section "FILTER CONFIGURATION" in collectd.conf(5) for details.
+
+#PreCacheChain "PreCache"
+#PostCacheChain "PostCache"
+
+#LoadPlugin match_empty_counter
+#LoadPlugin match_hashed
+#LoadPlugin match_regex
+#LoadPlugin match_timediff
+#LoadPlugin match_value
+
+#LoadPlugin target_notification
+#LoadPlugin target_replace
+#LoadPlugin target_scale
+#LoadPlugin target_set
+#LoadPlugin target_v5upgrade
+
+#<Chain "PreCache">
+#	<Rule "no_fqdn">
+#		<Match "regex">
+#			Host "^[^\.]*$"
+#			Invert false
+#		</Match>
+#		Target "stop"
+#	</Rule>
+#</Chain>
+
+# Default behavior:
+#<Chain "PostCache">
+#	Target "write"
+#</Chain>
+
diff --git a/collectd/files/passwd b/collectd/files/passwd
new file mode 100644
index 0000000..aa2c4d1
--- /dev/null
+++ b/collectd/files/passwd
@@ -0,0 +1,6 @@
+LoadPlugin network
+{%- for plugin in pillar.collectd.client.plugins %}
+{%- if plugin.name == 'network' %}
+{{ plugin.user }}: {{ plugin.password }}
+{%- endif %}
+{%- endfor %}
diff --git a/collectd/files/thresholds.conf b/collectd/files/thresholds.conf
new file mode 100644
index 0000000..2bd4f2c
--- /dev/null
+++ b/collectd/files/thresholds.conf
@@ -0,0 +1,51 @@
+# Threshold configuration for collectd(1).
+#
+# See the collectd-threshold(5) manual page for details.
+
+#LoadPlugin "threshold"
+#<Plugin "threshold">
+#	<Type "counter">
+#		WarningMin 0.00
+#		WarningMax 1000.00
+#		FailureMin 0
+#		FailureMax 1200.00
+#		Invert false
+#		Persist false
+#		Instance "some_instance"
+#	</Type>
+#
+#	<Type "load">
+#		DataSource "midterm"
+#		WarningMax 1
+#		Hysteresis 0.3
+#	</Type>
+#
+#	<Type "cpu">
+#		Instance "user"
+#		WarningMax 85
+#		Hits 6
+#	</Type>
+#
+#	<Plugin "interface">
+#		Instance "eth0"
+#		<Type "if_octets">
+#			DataSource "rx"
+#			FailureMax 10000000
+#		</Type>
+#	</Plugin>
+#
+#	<Host "hostname">
+#		<Type "cpu">
+#			Instance "idle"
+#			FailureMin 10
+#		</Type>
+#
+#		<Plugin "memory">
+#			<Type "memory">
+#				Instance "cached"
+#				WarningMin 100000000
+#			</Type>
+#		</Plugin>
+#	</Host>
+#</Plugin>
+
diff --git a/collectd/init.sls b/collectd/init.sls
new file mode 100644
index 0000000..21ec9f4
--- /dev/null
+++ b/collectd/init.sls
@@ -0,0 +1,5 @@
+
+include:
+{% if pillar.collectd.client is defined %}
+- collectd.client
+{% endif %}
diff --git a/collectd/map.jinja b/collectd/map.jinja
new file mode 100644
index 0000000..7a84ba3
--- /dev/null
+++ b/collectd/map.jinja
@@ -0,0 +1,32 @@
+{% set supported_services = [
+  'linux.system',
+  'memcached.server',
+  'mysql.server',
+  'nginx.server',
+  'nova.compute',
+  'postgresql.server',
+] %}
+
+{% set client = salt['grains.filter_by']({
+    'Arch': {
+        'pkgs': ['collectd'],
+        'service': 'collectd',
+        'config_file': '/etc/collectd.conf',
+        'config_dir': '/etc/collectd.d',
+        'supported_services': supported_services
+    },
+    'Debian': {
+        'pkgs': ['collectd-core'],
+        'service': 'collectd',
+        'config_file': '/etc/collectd/collectd.conf',
+        'config_dir': '/etc/collectd/conf.d',
+        'supported_services': supported_services
+    },
+    'RedHat': {
+        'pkgs': ['collectd', 'collectd-virt', 'collectd-ping', ],
+        'service': 'collectd',
+        'config_file': '/etc/collectd.conf',
+        'config_dir': '/etc/collectd.d',
+        'supported_services': supported_services
+    },
+}, merge=salt['pillar.get']('collectd:client')) %}
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..31be166
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,11 @@
+salt-formula-collectd (0.2) trusty; urgency=medium
+
+  * First public release
+
+ -- Filip Pytloun <filip.pytloun@tcpcloud.eu>  Tue, 06 Oct 2015 16:38:38 +0200
+
+salt-formula-collectd (0.1) trusty; urgency=medium
+
+  * Initial release
+
+ -- Ales Komarek <ales.komarek@tcpcloud.eu>  Thu, 13 Aug 2015 23:23:41 +0200
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..550f981
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,15 @@
+Source: salt-formula-collectd
+Maintainer: Ales Komarek <ales.komarek@tcpcloud.eu>
+Section: admin
+Priority: optional
+Build-Depends: debhelper (>= 9)
+Standards-Version: 3.9.6
+Homepage: http://www.tcpcloud.eu
+Vcs-Browser: https://github.com/tcpcloud/salt-formula-collectd
+Vcs-Git: https://github.com/tcpcloud/salt-formula-collectd.git
+
+Package: salt-formula-collectd
+Architecture: all
+Depends: ${misc:Depends}, salt-master, reclass
+Description: Collectd salt formula
+ Install and configure Collectd service.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..f2e19b2
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,15 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: salt-formula-collectd
+Upstream-Contact: Ales Komarek <ales.komarek@tcpcloud.eu>
+Source: https://github.com/tcpcloud/salt-formula-collectd
+
+Files: *
+Copyright: 2014-2015 tcp cloud a.s.
+License: Apache-2.0
+  Copyright (C) 2014-2015 tcp cloud a.s.
+  .
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  .
+  On a Debian system you can find a copy of this license in
+  /usr/share/common-licenses/Apache-2.0.
diff --git a/debian/docs b/debian/docs
new file mode 100644
index 0000000..d585829
--- /dev/null
+++ b/debian/docs
@@ -0,0 +1,3 @@
+README.rst
+CHANGELOG.rst
+VERSION
diff --git a/debian/install b/debian/install
new file mode 100644
index 0000000..b85dde5
--- /dev/null
+++ b/debian/install
@@ -0,0 +1,2 @@
+collectd/*             /usr/share/salt-formulas/env/collectd/
+metadata/service/*      /usr/share/salt-formulas/reclass/service/collectd/
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..abde6ef
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,5 @@
+#!/usr/bin/make -f
+
+%:
+	dh $@
+
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..89ae9db
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (native)
diff --git a/metadata/service/client/init.yml b/metadata/service/client/init.yml
new file mode 100644
index 0000000..9a1b0f6
--- /dev/null
+++ b/metadata/service/client/init.yml
@@ -0,0 +1,7 @@
+applications:
+- collectd
+parameters:
+  collectd:
+    client:
+      enabled: true
+      read_interval: 60
