{% set smtp_monitoring_enabled = salt['pillar.get']('pmg:smtp_monitoring:enabled', True) %} {% set blackbox_package = salt['pillar.get']('pmg:smtp_monitoring:blackbox:package', 'prometheus-blackbox-exporter') %} {% set blackbox_service = salt['pillar.get']('pmg:smtp_monitoring:blackbox:service', 'prometheus-blackbox-exporter') %} {% set smtp_ports = salt['pillar.get']('pmg:smtp_monitoring:ports', [25, 26]) %} {% set smtp_log_window_seconds = salt['pillar.get']('pmg:smtp_monitoring:log_window_seconds', 300) %} {% if smtp_monitoring_enabled %} pmg-smtp-monitoring-packages: pkg.installed: - pkgs: - {{ blackbox_package }} - iproute2 - jq pmg-smtp-monitoring-metrics-dir: file.directory: - name: /var/lib/prometheus/node-exporter - user: root - group: root - mode: "0755" pmg-smtp-monitoring-script: file.managed: - name: /usr/local/bin/pmg-smtp-metrics.sh - source: salt://pmg/files/pmg-smtp-metrics.sh.jinja - template: jinja - context: smtp_ports: {{ smtp_ports }} smtp_log_window_seconds: {{ smtp_log_window_seconds }} - user: root - group: root - mode: "0755" - require: - file: pmg-smtp-monitoring-metrics-dir pmg-smtp-monitoring-service: file.managed: - name: /etc/systemd/system/pmg-smtp-metrics.service - source: salt://pmg/files/pmg-smtp-metrics.service.jinja - user: root - group: root - mode: "0644" pmg-smtp-monitoring-timer: file.managed: - name: /etc/systemd/system/pmg-smtp-metrics.timer - source: salt://pmg/files/pmg-smtp-metrics.timer.jinja - user: root - group: root - mode: "0644" pmg-smtp-monitoring-blackbox-config: file.managed: - name: /etc/prometheus/blackbox.yml - source: salt://pmg/files/blackbox.yml.jinja - template: jinja - context: smtp_ports: {{ smtp_ports }} - user: root - group: root - mode: "0644" - require: - pkg: pmg-smtp-monitoring-packages pmg-smtp-monitoring-systemd-reload: cmd.run: - name: systemctl daemon-reload - onchanges: - file: pmg-smtp-monitoring-service - file: pmg-smtp-monitoring-timer pmg-smtp-monitoring-blackbox-service: service.running: - name: {{ blackbox_service }} - enable: true - require: - pkg: pmg-smtp-monitoring-packages - watch: - file: pmg-smtp-monitoring-blackbox-config pmg-smtp-monitoring-timer-running: service.running: - name: pmg-smtp-metrics.timer - enable: true - require: - cmd: pmg-smtp-monitoring-systemd-reload - file: pmg-smtp-monitoring-script pmg-smtp-monitoring-run-once: cmd.run: - name: /usr/local/bin/pmg-smtp-metrics.sh - require: - file: pmg-smtp-monitoring-script {% endif %}