Add Telegraf support

Change-Id: I22f64b896daca2f0bbcc4672d2eaf7b65d20b813
diff --git a/glusterfs/files/telegraf.conf b/glusterfs/files/telegraf.conf
new file mode 100644
index 0000000..917fd00
--- /dev/null
+++ b/glusterfs/files/telegraf.conf
@@ -0,0 +1,5 @@
+[[inputs.glusterfs]]
+  interval = "{{ values.interval|default('1m') }}"
+  use_sudo = {{ values.use_sudo|lower }}
+{%- include 'telegraf/files/input/_tags.conf' %}
+
diff --git a/glusterfs/map.jinja b/glusterfs/map.jinja
index 0f428eb..8206478 100644
--- a/glusterfs/map.jinja
+++ b/glusterfs/map.jinja
@@ -19,3 +19,7 @@
         'mount_defaults': 'defaults',
     },
 }, merge=salt['pillar.get']('glusterfs:client')) %}
+
+{% set monitoring = salt['grains.filter_by']({
+    'default': {}
+}, merge=salt['pillar.get']('glusterfs:monitoring')) %}
diff --git a/glusterfs/meta/collectd.yml b/glusterfs/meta/collectd.yml
index 69a1117..55cc497 100644
--- a/glusterfs/meta/collectd.yml
+++ b/glusterfs/meta/collectd.yml
@@ -5,7 +5,7 @@
   collectd_glusterfs:
     plugin: python
     {%- if server.check_timeout is defined %}
-    timeout: {{ server.check_timeout }} 
+    timeout: {{ server.check_timeout }}
     {%- endif %}
     template: glusterfs/files/collectd_glusterfs.conf
 {%- endif %}
diff --git a/glusterfs/meta/telegraf.yml b/glusterfs/meta/telegraf.yml
new file mode 100644
index 0000000..4ea04af
--- /dev/null
+++ b/glusterfs/meta/telegraf.yml
@@ -0,0 +1,13 @@
+{%- if pillar.glusterfs.server is defined %}
+{% from "glusterfs/map.jinja" import server, monitoring with context %}
+{%- if server.get('enabled', False) %}
+agent:
+  input:
+    glusterfs:
+      template: glusterfs/files/telegraf.conf
+{%- if monitoring.interval is defined or server.check_timeout is defined %}
+      interval: {{ monitoring.interval|default(server.check_timeout) }}
+{%- endif %}
+      use_sudo: true
+{%- endif %}
+{%- endif %}
diff --git a/metadata/service/support.yml b/metadata/service/support.yml
index 3d7dee6..5ac01ff 100644
--- a/metadata/service/support.yml
+++ b/metadata/service/support.yml
@@ -13,3 +13,5 @@
         enabled: true
       grafana:
         enabled: true
+      telegraf:
+        enabled: true