Fix jmx-exporter service configuration
Change-Id: Ie889b5f8d485aa7f41166fc3f90bb6554681c68e
diff --git a/prometheus/exporters.sls b/prometheus/exporters.sls
index c44126f..d432cd4 100644
--- a/prometheus/exporters.sls
+++ b/prometheus/exporters.sls
@@ -7,4 +7,58 @@
- names: {{ parameters.packages }}
{%- endif %}
{%- endif %}
+
+{{ exporter }}_exporter_service:
+ service.running:
+ - name: {{ exporter }}-exporter
+ - enable: True
+ {%- if grains.get('noservices') %}
+ - onlyif: /bin/false
+ {%- endif %}
+ - watch:
+ - file: {{ exporter }}_exporter_service_config_file
+
+ {%- for svc, svc_parameters in parameters.get('services', {}).iteritems() %}
+ {%- if svc_parameters.get('enabled', False) %}
+ {%- if svc_parameters.template is defined %}
+ {%- set jmxbind = svc_parameters.get('jmx_bind', {}) %}
+{{ exporter }}_{{ svc }}_exporter_config_file:
+ file.managed:
+ - name: /etc/exporters/{{ exporter }}_{{ svc }}-running.yml
+ - template: jinja
+ - source:
+ - salt://{{ svc_parameters.template }}
+ - context:
+ jmxbind: {{ jmxbind }}
+ - user: root
+ - group: root
+ - mode: 644
+ - require:
+ - pkg: {{ exporter }}_exporter_packages
+ - watch_in:
+ - service: {{ exporter }}_exporter_service
+ {%- endif %}
+
+ {%- if parameters.template is defined %}
+ {%- set template = parameters.template %}
+ {%- set bind = svc_parameters.get('bind', {}) %}
+{{ exporter }}_exporter_service_config_file:
+ file.managed:
+ - name: /etc/default/{{ exporter }}-exporter
+ - template: jinja
+ - source:
+ - salt://{{ template }}
+ - context:
+ bind: {{ bind }}
+ cfg_file: /etc/exporters/{{ exporter }}_{{ svc }}-running.yml
+ - user: root
+ - group: root
+ - mode: 644
+ - require:
+ - pkg: {{ exporter }}_exporter_packages
+ - watch_in:
+ - service: {{ exporter }}_exporter_service
+ {%- endif %}
+ {%- endif %}
+ {%- endfor %}
{%- endfor %}