Merge pull request #33 from simonpasquier/split-elasticsearch-plugin
Split the Elasticsearch plugin
diff --git a/collectd/files/backend/http.conf b/collectd/files/backend/http.conf
index 752df40..8787dbc 100644
--- a/collectd/files/backend/http.conf
+++ b/collectd/files/backend/http.conf
@@ -6,5 +6,8 @@
<URL "http://{{ backend.host }}:{{ backend.port }}">
Format "{{ backend.get('format', 'json')|upper }}"
StoreRates {{ backend.get('store_rates', True)|lower }}
+{%- if backend.timeout is defined %}
+ Timeout {{ backend.timeout }}
+{%- endif %}
</URL>
</Plugin>
diff --git a/collectd/files/collectd.conf b/collectd/files/collectd.conf
index d815eb1..0a64b0f 100644
--- a/collectd/files/collectd.conf
+++ b/collectd/files/collectd.conf
@@ -36,6 +36,9 @@
#Timeout 2
#ReadThreads 5
+{%- if client.read_threads is defined %}
+ReadThreads {{ client.read_threads }}
+{%- endif %}
##############################################################################
# Logging #
diff --git a/collectd/files/plugin/collectd_vrrp.py b/collectd/files/plugin/collectd_vrrp.py
index b020ec2..6c10ae1 100644
--- a/collectd/files/plugin/collectd_vrrp.py
+++ b/collectd/files/plugin/collectd_vrrp.py
@@ -14,11 +14,11 @@
# limitations under the License.
import collectd
+from pyroute2 import IPRoute
+import socket
import collectd_base as base
-from pyroute2 import IPRoute
-
NAME = 'vrrp'
@@ -62,8 +62,10 @@
self.logger.error("vrrp: Missing 'IPAddress' parameter")
def itermetrics(self):
+ local_addresses = [i.get_attr('IFA_LOCAL') for i in
+ self.ipr.get_addr(family=socket.AF_INET)]
for ip_address in self.ip_addresses:
- v = 1 if self.ipr.get_addr(address=ip_address['address']) else 0
+ v = 1 if ip_address['address'] in local_addresses else 0
data = {'values': v, 'meta': {'ip_address': ip_address['address']}}
if 'label' in ip_address:
data['meta']['label'] = ip_address['label']
diff --git a/collectd/meta/sphinx.yml b/collectd/meta/sphinx.yml
index e7fa0cb..218ad6b 100644
--- a/collectd/meta/sphinx.yml
+++ b/collectd/meta/sphinx.yml
@@ -5,8 +5,10 @@
{%- set grains_fragment_file = service_name+'/meta/collectd.yml' %}
{%- macro load_grains_file() %}{% include grains_fragment_file %}{% endmacro %}
{%- set grains_yaml = load_grains_file()|load_yaml %}
+{%- if grains_yaml is mapping %}
{%- do service_grains.collectd.local_plugin.update(grains_yaml.get('local_plugin', {})) %}
{%- endif %}
+{%- endif %}
{%- endfor %}
doc:
name: collectd
@@ -21,4 +23,6 @@
value: {{ backend.host }}:{{ backend.port }}
{%- endfor %}
plugins:
- value: {% for plugin_name, plugin in service_grains.collectd.local_plugin.iteritems() %} {{ plugin_name }}{% endfor %}
+ value:
+ {% for plugin_name, plugin in service_grains.collectd.local_plugin.iteritems() %}
+ - {{ plugin_name }}{% endfor %}
diff --git a/metadata/service/remote_client/cluster.yml b/metadata/service/remote_client/cluster.yml
index b340e79..b1d8d34 100644
--- a/metadata/service/remote_client/cluster.yml
+++ b/metadata/service/remote_client/cluster.yml
@@ -7,5 +7,6 @@
remote_client:
enabled: true
read_interval: 10
+ read_threads: 10
use_fqdn: false
automatic_starting: false
diff --git a/metadata/service/remote_client/single.yml b/metadata/service/remote_client/single.yml
index 81062b4..297912a 100644
--- a/metadata/service/remote_client/single.yml
+++ b/metadata/service/remote_client/single.yml
@@ -7,5 +7,6 @@
remote_client:
enabled: true
read_interval: 10
+ read_threads: 10
use_fqdn: false
automatic_starting: true