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 %}