Documentation setup
diff --git a/metadata/service/server/cluster.yml b/metadata/service/server/cluster.yml
index c7c9ec2..ef3ba8a 100644
--- a/metadata/service/server/cluster.yml
+++ b/metadata/service/server/cluster.yml
@@ -1,5 +1,7 @@
 applications:
 - rabbitmq
+classes:
+- service.rabbitmq.support
 parameters:
   rabbitmq:
     server:
diff --git a/metadata/service/server/local.yml b/metadata/service/server/local.yml
index 36f8c27..6e38732 100644
--- a/metadata/service/server/local.yml
+++ b/metadata/service/server/local.yml
@@ -1,5 +1,7 @@
 applications:
 - rabbitmq
+classes:
+- service.rabbitmq.support
 parameters:
   _param:
     rabbitmq_admin_user: admin
diff --git a/metadata/service/server/single.yml b/metadata/service/server/single.yml
index ce6a9d7..44cca88 100644
--- a/metadata/service/server/single.yml
+++ b/metadata/service/server/single.yml
@@ -1,5 +1,7 @@
 applications:
 - rabbitmq
+classes:
+- service.rabbitmq.support
 parameters:
   _param:
     rabbitmq_admin_user: admin
diff --git a/metadata/service/support.yml b/metadata/service/support.yml
new file mode 100644
index 0000000..68d216d
--- /dev/null
+++ b/metadata/service/support.yml
@@ -0,0 +1,11 @@
+parameters:
+  rabbitmq:
+    _support:
+      collectd:
+        enabled: false
+      heka:
+        enabled: false
+      sensu:
+        enabled: true
+      sphinx:
+        enabled: true
diff --git a/rabbitmq/meta/collectd.yml b/rabbitmq/meta/collectd.yml
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/rabbitmq/meta/collectd.yml
diff --git a/rabbitmq/meta/heka.yml b/rabbitmq/meta/heka.yml
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/rabbitmq/meta/heka.yml
diff --git a/rabbitmq/meta/sensu.yml b/rabbitmq/meta/sensu.yml
new file mode 100644
index 0000000..125bff1
--- /dev/null
+++ b/rabbitmq/meta/sensu.yml
@@ -0,0 +1,157 @@
+{%- from "rabbitmq/map.jinja" import server with context -%}
+{%- from "linux/map.jinja" import network with context -%}
+{%- if server.bind.address == '0.0.0.0' %}
+{% if grains.ipv4[0] == '127.0.0.1' %}{% set address =  grains.ipv4[1] %}{% else %}{% set address =  grains.ipv4[0] %}{% endif %}
+{%- else %}
+{%- set address = server.bind.address %}
+{%- endif %}
+check:
+  local_rabbitmq_server_proc:
+    command: "PATH=$PATH:/usr/lib64/nagios/plugins:/usr/lib/nagios/plugins check_procs -C beam.smp -u rabbitmq -c 1:2"
+    interval: 60
+    occurrences: 1
+    subscribers:
+    - local-rabbitmq-server
+{%- if server.bind.address == '127.0.0.1' %}
+  local_rabbitmq_server_tcp_{{ network.fqdn }}:
+    command: "PATH=$PATH:/usr/lib64/nagios/plugins:/usr/lib/nagios/plugins check_tcp -H 127.0.0.1 -p 5672"
+    interval: 60
+    occurrences: 1
+    subscribers:
+    - {{ network.fqdn|replace('.', '-') }}
+{%- else %}
+  remote_rabbitmq_server_tcp_{{ network.fqdn }}:
+    command: "PATH=$PATH:/usr/lib64/nagios/plugins:/usr/lib/nagios/plugins check_tcp -H {% if grains.ipv4[0] == '127.0.0.1' %}{{ grains.ipv4[1] }}{% else %}{{ grains.ipv4[0] }}{% endif %} -p 5672"
+    interval: 60
+    occurrences: 1
+    subscribers:
+    - remote-network
+{%- endif %}
+{#
+remote_rabbitmq_alive_{{ address }}:
+  command: "PATH=$PATH:/etc/sensu/plugins rabbitmq-amqp-alive.rb -w {{ address }}"
+  interval: 60
+  occurrences: 1
+  subscribers:
+  - remote-network
+remote_rabbitmq_mistral_alive:
+  command: "PATH=$PATH:/etc/sensu/plugins rabbitmq-amqp-alive.rb -w {{ address }} -v %2Fmistral -u mistral --password {{ server.admin.password }}"
+  interval: 60
+  occurrences: 1
+  subscribers:
+  - remote-network
+remote_rabbitmq_murano_alive:
+  command: "PATH=$PATH:/etc/sensu/plugins rabbitmq-amqp-alive.rb -w {{ address }} -v %2Fmurano -u murano --password {{ server.admin.password }}"
+  interval: 60
+  occurrences: 1
+  subscribers:
+  - remote-network
+remote_rabbitmq_openstack_alive:
+  command: "PATH=$PATH:/etc/sensu/plugins rabbitmq-amqp-alive.rb -w {{ address }} -v %2Fopenstack -u {{ server.admin.name }} --password {{ server.admin.password }}"
+  interval: 60
+  occurrences: 1
+  subscribers:
+  - remote-network
+remote_rabbitmq_metrics_compute:
+  command: "PATH=$PATH:/etc/sensu/plugins rabbitmq-queue-metrics.rb --host {{ address }} --user {{ server.admin.name }} --password {{ server.admin.password }} --filter compute"
+  interval: 60
+  occurrences: 1
+  subscribers:
+  - remote-network
+remote_rabbitmq_metrics_scheduler:
+  command: "PATH=$PATH:/etc/sensu/plugins rabbitmq-queue-metrics.rb --host {{ address }} --user {{ server.admin.name }} --password {{ server.admin.password }} --filter scheduler"
+  interval: 60
+  occurrences: 1
+  subscribers:
+  - remote-network
+remote_rabbitmq_metrics_engine:
+  command: "PATH=$PATH:/etc/sensu/plugins rabbitmq-queue-metrics.rb --host {{ address }} --user {{ server.admin.name }} --password {{ server.admin.password }} --filter engine"
+  interval: 60
+  occurrences: 1
+  subscribers:
+  - remote-network
+remote_rabbitmq_metrics_console:
+  command: "PATH=$PATH:/etc/sensu/plugins rabbitmq-queue-metrics.rb --host {{ address }} --user {{ server.admin.name }} --password {{ server.admin.password }} --filter console"
+  interval: 60
+  occurrences: 1
+  subscribers:
+  - remote-network
+remote_rabbitmq_metrics_cinder_volume:
+  command: "PATH=$PATH:/etc/sensu/plugins rabbitmq-queue-metrics.rb --host {{ address }} --user {{ server.admin.name }} --password {{ server.admin.password }} --filter cinder-volume"
+  interval: 60
+  occurrences: 1
+  subscribers:
+  - remote-network
+remote_rabbitmq_metrics_conductor:
+  command: "PATH=$PATH:/etc/sensu/plugins rabbitmq-queue-metrics.rb --host {{ address }} --user {{ server.admin.name }} --password {{ server.admin.password }} --filter conductor"
+  interval: 60
+  occurrences: 1
+  subscribers:
+  - remote-network
+remote_rabbitmq_overview_metrics:
+  command: "PATH=$PATH:/etc/sensu/plugins rabbitmq-overview-metrics.rb --host {{ address }} --user {{ server.admin.name }} --password {{ server.admin.password }}"
+  interval: 60
+  occurrences: 1
+  subscribers:
+  - remote-network
+remote_rabbitmq_metrics_contrail_device_manager:
+  command: "PATH=$PATH:/etc/sensu/plugins rabbitmq-queue-metrics.rb --host {{ address }} --filter device_manager"
+  interval: 60
+  occurrences: 1
+  subscribers:
+  - remote-network
+remote_rabbitmq_metrics_contrail_vnc_config:
+  command: "PATH=$PATH:/etc/sensu/plugins rabbitmq-queue-metrics.rb --host {{ address }} --filter vnc_config"
+  interval: 60
+  occurrences: 1
+  subscribers:
+  - remote-network
+remote_rabbitmq_metrics_openstack_reply:
+  command: "PATH=$PATH:/etc/sensu/plugins rabbitmq-queue-metrics.rb --host {{ address }} --user {{ server.admin.name }} --password {{ server.admin.password }} --filter reply"
+  interval: 60
+  occurrences: 1
+  subscribers:
+  - remote-network
+remote_rabbitmq_queue_scheduler:
+  command: "PATH=$PATH:/etc/sensu/plugins check-rabbitmq-queue.rb --host {{ address }} --password {{ server.admin.password }} --user {{ server.admin.name }} -w 50 -c 100 --queue scheduler"
+  interval: 60
+  occurrences: 1
+  subscribers:
+  - remote-network
+remote_rabbitmq_queue_engine:
+  command: "PATH=$PATH:/etc/sensu/plugins check-rabbitmq-queue.rb --host {{ address }} --password {{ server.admin.password }} --user {{ server.admin.name }} -w 50 -c 100 --queue engine"
+  interval: 60
+  occurrences: 1
+  subscribers:
+  - remote-network
+remote_rabbitmq_queue_console:
+  command: "PATH=$PATH:/etc/sensu/plugins check-rabbitmq-queue.rb --host {{ address }} --password {{ server.admin.password }} --user {{ server.admin.name }} -w 50 -c 100 --queue console"
+  interval: 60
+  occurrences: 1
+  subscribers:
+  - remote-network
+remote_rabbitmq_queue_cinder_volume:
+  command: "PATH=$PATH:/etc/sensu/plugins check-rabbitmq-queue.rb --host {{ address }} --password {{ server.admin.password }} --user {{ server.admin.name }} -w 50 -c 100 --queue cinder-volume"
+  interval: 60
+  occurrences: 1
+  subscribers:
+  - remote-network
+remote_rabbitmq_queue_cinder_scheduler:
+  command: "PATH=$PATH:/etc/sensu/plugins check-rabbitmq-queue.rb --host {{ address }} --password {{ server.admin.password }} --user {{ server.admin.name }} -w 50 -c 100 --queue cinder-scheduler"
+  interval: 60
+  occurrences: 1
+  subscribers:
+  - remote-network
+remote_rabbitmq_queue_conductor:
+  command: "PATH=$PATH:/etc/sensu/plugins check-rabbitmq-queue.rb --host {{ address }} --password {{ server.admin.password }} --user {{ server.admin.name }} -w 50 -c 100 --queue conductor"
+  interval: 60
+  occurrences: 1
+  subscribers:
+  - remote-network
+remote_rabbitmq_queue_compute:
+  command: "PATH=$PATH:/etc/sensu/plugins check-rabbitmq-queue.rb --host {{ address }} --password {{ server.admin.password }} --user {{ server.admin.name }} -w 50 -c 100 --queue compute"
+  interval: 60
+  occurrences: 1
+  subscribers:
+  - remote-network
+#}
\ No newline at end of file
diff --git a/rabbitmq/meta/sphinx.yml b/rabbitmq/meta/sphinx.yml
new file mode 100644
index 0000000..540ee42
--- /dev/null
+++ b/rabbitmq/meta/sphinx.yml
@@ -0,0 +1,7 @@
+doc:
+  name: rabbitmq
+  description: RabbitMQ is a complete and highly reliable enterprise messaging system based on the emerging AMQP standard.
+  role:
+    server:
+      name: server
+      param: {}