Merge "Enable Telegraf support"
diff --git a/metadata/service/support.yml b/metadata/service/support.yml
index f8eb577..b17f605 100644
--- a/metadata/service/support.yml
+++ b/metadata/service/support.yml
@@ -15,3 +15,5 @@
         enabled: true
       grafana:
         enabled: true
+      telegraf:
+        enabled: true
diff --git a/rabbitmq/files/telegraf.conf b/rabbitmq/files/telegraf.conf
new file mode 100644
index 0000000..add724b
--- /dev/null
+++ b/rabbitmq/files/telegraf.conf
@@ -0,0 +1,11 @@
+[[inputs.rabbitmq]]
+  url = "{{ values.url }}"
+  username = "{{ values.username }}"
+  password = "{{ values.password }}"
+{%- if values.nodes is defined %}
+  nodes = {{ values.nodes|json }}
+{%- endif %}
+{%- if values.queues is defined %}
+  queues = {{ values.queues|json }}
+{%- endif %}
+{%- include 'telegraf/files/input/_tags.conf' %}
diff --git a/rabbitmq/meta/telegraf.yml b/rabbitmq/meta/telegraf.yml
new file mode 100644
index 0000000..329fdf2
--- /dev/null
+++ b/rabbitmq/meta/telegraf.yml
@@ -0,0 +1,17 @@
+{%- from "rabbitmq/map.jinja" import server with context %}
+{%- if server.get('enabled', False) %}
+agent:
+  input:
+    rabbitmq:
+      template: rabbitmq/files/telegraf.conf
+      url: "http://{{ server.management.bind.address }}:{{ server.management.bind.port }}"
+      username: {{ server.admin.name }}
+      password: >-
+        {{ server.admin.password }}
+      nodes: [ "rabbit@{{ grains.host }}" ]
+      tagexclude: [ "node", "url" ]
+    procstat:
+      process:
+        rabbitmq:
+          exe: beam.smp
+{%- endif %}