Merge pull request #78 from simonpasquier/update-collectd-decoder-for-elasticsearch

Update collectd decoder for Elasticsearch metrics
diff --git a/heka/files/lua/filters/resource_creation_time.lua b/heka/files/lua/filters/resource_creation_time.lua
index 0047ed3..f2919fd 100644
--- a/heka/files/lua/filters/resource_creation_time.lua
+++ b/heka/files/lua/filters/resource_creation_time.lua
@@ -30,7 +30,7 @@
 function process_message ()
     local metric_name = event_type_to_name[read_message("Fields[event_type]")]
     if not metric_name then
-        return -1
+        return 0
     end
 
     local started_at, completed_at
diff --git a/heka/meta/heka.yml b/heka/meta/heka.yml
index 92750bb..0910676 100644
--- a/heka/meta/heka.yml
+++ b/heka/meta/heka.yml
@@ -196,8 +196,9 @@
       decoder: notification_decoder
 {%- endfor %}
 {%- endif %}
-{%- if remote_collector.influxdb_host is defined %}
+{%- if remote_collector.influxdb_host is defined or remote_collector.amqp_host is defined %}
   filter:
+{%- if remote_collector.influxdb_host is defined %}
     influxdb_accumulator:
       engine: sandbox
       module_file: /usr/share/lma_collector/filters/influxdb_accumulator.lua
@@ -209,6 +210,15 @@
         tag_fields: "deployment_id environment_label tenant_id user_id"
         time_precision: "{{ remote_collector.influxdb_time_precision }}"
 {%- endif %}
+{%- if remote_collector.amqp_host is defined %}
+    resource_creation_time:
+      engine: sandbox
+      module_file: /usr/share/lma_collector/filters/resource_creation_time.lua
+      module_dir: /usr/share/lma_collector/common;/usr/share/heka/lua_modules
+      preserve_data: false
+      message_matcher: "Type == 'notification' && Fields[event_type] =~ /create.end$/"
+{%- endif %}
+{%- endif %}
 {%- if remote_collector.influxdb_host is defined or remote_collector.elasticsearch_host is defined %}
   encoder:
 {%- if remote_collector.influxdb_host is defined %}
diff --git a/heka/meta/sphinx.yml b/heka/meta/sphinx.yml
index 5607bfd..0fec9ed 100644
--- a/heka/meta/sphinx.yml
+++ b/heka/meta/sphinx.yml
@@ -5,5 +5,32 @@
   {%- if pillar.heka.server is defined %}
     server:
       name: server
-      param: {}
-  {%- endif %}
\ No newline at end of file
+      param:
+        version:
+          name: "Version"
+          value: {{ salt['cmd.run']("hekad --version") }}
+  {%- endif %}
+  {%- if pillar.heka.log_collector is defined %}
+    log_collector:
+      name: log collector
+      param:
+        version:
+          name: "Version"
+          value: {{ salt['cmd.run']("hekad --version") }}
+  {%- endif %}
+  {%- if pillar.heka.metric_collector is defined %}
+    metric_collector:
+      name: metric collector
+      param:
+        version:
+          name: "Version"
+          value: {{ salt['cmd.run']("hekad --version") }}
+  {%- endif %}
+  {%- if pillar.heka.aggregator_collector is defined %}
+    aggregator:
+      name: aggregator
+      param:
+        version:
+          name: "Version"
+          value: {{ salt['cmd.run']("hekad --version") }}
+  {%- endif %}
diff --git a/heka/orch/generate_mon.sls b/heka/orch/generate_mon.sls
new file mode 100644
index 0000000..dc891cd
--- /dev/null
+++ b/heka/orch/generate_mon.sls
@@ -0,0 +1,33 @@
+
+collectd_client_state_run:
+  salt.state:
+    - tgt: 'I@collectd:client'
+    - tgt_type: compound
+    - sls: collectd.client
+
+heka_client_state_run:
+  salt.state:
+    - tgt: 'I@heka:metric_collector'
+    - tgt_type: compound
+    - sls: heka.log_collector,heka.metric_collector
+
+salt_minion_grains:
+  salt.state:
+    - tgt: '*'
+    - sls: salt.minion.grains
+
+mine_flush:
+  salt.function:
+    - name: mine.flush
+    - tgt: '*'
+
+mine_update:
+  salt.function:
+    - name: mine.update
+    - tgt: '*'
+
+heka_server_state_run:
+  salt.state:
+    - tgt: 'I@heka:aggregator'
+    - tgt_type: compound
+    - sls: heka.aggregator