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