| {% from "prometheus/map.jinja" import exporters with context %} |
| {%- for exporter, parameters in exporters.iteritems() %} |
| {%- if parameters.get('enabled', False) %} |
| {%- if parameters.get('packages', False) %} |
| {{ exporter }}_exporter_packages: |
| pkg.installed: |
| - names: {{ parameters.packages }} |
| {%- endif %} |
| |
| {{ exporter }}_exporter_service: |
| service.running: |
| - name: {{ exporter }}-exporter |
| - enable: True |
| {%- if grains.get('noservices') %} |
| - onlyif: /bin/false |
| {%- endif %} |
| {%- if parameters.template is defined %} |
| - watch: |
| - file: {{ exporter }}_exporter_service_config_file |
| {%- endif %} |
| |
| {%- 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 %} |
| {%- endif %} |
| {%- endfor %} |