Files
mailgw-salt/pmg/smtp_monitoring.sls

95 lines
2.7 KiB
YAML+Jinja

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