Fix grains generation
diff --git a/sensu/files/sensu.grain b/sensu/files/sensu.grain
index 2973a90..e7c14d9 100644
--- a/sensu/files/sensu.grain
+++ b/sensu/files/sensu.grain
@@ -1,10 +1,10 @@
-sensu_checks:
-{%- from "sensu/map.jinja" import client with context %}
-{%- for service in client.supported_services %}
-{%- if service in grains.get('services', []) %}
-{%- set service_checks_file = service+'/files/sensu.conf' %}
-{%- macro indent_service_checks() %}{% include service_checks_file %}{% endmacro %}
-{{ indent_service_checks()|indent(2, true) }}
-
+{%- set grains = {'sensu': {'check': {}}} %}
+{%- for service_name, service in pillar.items() %}
+{%- if service.get('_support', {}).get('sensu', {}).get('enabled', False) %}
+{%- set grains_fragment_file = service_name+'/meta/sensu.yml' %}
+{%- macro load_grains_file() %}{% include grains_fragment_file %}{% endmacro %}
+{%- set grains_yaml = load_grains_file()|load_yaml %}
+{%- set _dummy = grains.sensu.check.update(grains_yaml.check) %}
{%- endif %}
{%- endfor %}
+{{ grains|yaml(False) }}
diff --git a/sensu/meta/sensu.yml b/sensu/meta/sensu.yml
index fd79f95..6f3900b 100644
--- a/sensu/meta/sensu.yml
+++ b/sensu/meta/sensu.yml
@@ -1,45 +1,46 @@
{%- from "nginx/map.jinja" import server with context -%}
-local_sensu_server_proc:
- command: "PATH=$PATH:/usr/lib64/nagios/plugins:/usr/lib/nagios/plugins check_procs -C sensu-server -u sensu -c 1:1"
- interval: 60
- occurrences: 1
- subscribers:
- - local-sensu-server
-local_sensu_api_proc:
- command: "PATH=$PATH:/usr/lib64/nagios/plugins:/usr/lib/nagios/plugins check_procs -C sensu-api -u sensu -c 1:1"
- interval: 60
- occurrences: 1
- subscribers:
- - local-sensu-server
-local_sensu_client_proc:
- command: "PATH=$PATH:/usr/lib64/nagios/plugins:/usr/lib/nagios/plugins check_procs -C sensu-client -u sensu -c 1:1"
- interval: 60
- occurrences: 1
- subscribers:
- - local-sensu-client
-local_sensu_dashboard_proc:
- command: "PATH=$PATH:/usr/lib64/nagios/plugins:/usr/lib/nagios/plugins check_procs -C uchiwa -u uchiwa -c 1:1"
- interval: 60
- occurrences: 1
- subscribers:
- - local-sensu-dashboard
+check:
+ local_sensu_server_proc:
+ command: "PATH=$PATH:/usr/lib64/nagios/plugins:/usr/lib/nagios/plugins check_procs -C sensu-server -u sensu -c 1:1"
+ interval: 60
+ occurrences: 1
+ subscribers:
+ - local-sensu-server
+ local_sensu_api_proc:
+ command: "PATH=$PATH:/usr/lib64/nagios/plugins:/usr/lib/nagios/plugins check_procs -C sensu-api -u sensu -c 1:1"
+ interval: 60
+ occurrences: 1
+ subscribers:
+ - local-sensu-server
+ local_sensu_client_proc:
+ command: "PATH=$PATH:/usr/lib64/nagios/plugins:/usr/lib/nagios/plugins check_procs -C sensu-client -u sensu -c 1:1"
+ interval: 60
+ occurrences: 1
+ subscribers:
+ - local-sensu-client
+ local_sensu_dashboard_proc:
+ command: "PATH=$PATH:/usr/lib64/nagios/plugins:/usr/lib/nagios/plugins check_procs -C uchiwa -u uchiwa -c 1:1"
+ interval: 60
+ occurrences: 1
+ subscribers:
+ - local-sensu-dashboard
{%- if client.get('plugin', {}).network_monitoring is defined %}
{%- for device_name, device in client.network_device.iteritems() %}
{%- for interface_name, interface in device.get('interface', {}).iteritems() %}
-remote_{{ device_name }}_{{ interface_name|replace("/", "_") }}_interface_up:
- command: "/etc/sensu/plugins/check_snmp_int.pl -H {{ device.management.address }} -C {{ device.community }} -n ^{{ interface_name }}$"
- interval: 60
- occurrences: 1
- subscribers:
- - remote-network
+ remote_{{ device_name }}_{{ interface_name|replace("/", "_") }}_interface_up:
+ command: "/etc/sensu/plugins/check_snmp_int.pl -H {{ device.management.address }} -C {{ device.community }} -n ^{{ interface_name }}$"
+ interval: 60
+ occurrences: 1
+ subscribers:
+ - remote-network
{%- for subinterface_name, subinterface in interface.get('subinterface', {}).iteritems() %}
-remote_{{ device_name }}_{{ subinterface_name|replace("/", "_")|replace('.', '_') }}_interface_up:
- command: "/etc/sensu/plugins/check_snmp_int.pl -H {{ device.management.address }} -C {{ device.community }} -n ^{{ subinterface_name }}$"
- interval: 60
- occurrences: 1
- subscribers:
- - remote-network
-{%- endfor %}
+ remote_{{ device_name }}_{{ subinterface_name|replace("/", "_")|replace('.', '_') }}_interface_up:
+ command: "/etc/sensu/plugins/check_snmp_int.pl -H {{ device.management.address }} -C {{ device.community }} -n ^{{ subinterface_name }}$"
+ interval: 60
+ occurrences: 1
+ subscribers:
+ - remote-network
+{%- endfor %}
{%- endfor %}
{%- endfor %}
{%- endif %}