--- - name: Install Blackbox Exporter ansible.builtin.apt: name: - curl - prometheus-blackbox-exporter state: present update_cache: true - name: Install external probe configuration ansible.builtin.template: src: blackbox.yml.j2 dest: /etc/prometheus/blackbox.yml owner: root group: root mode: "0644" notify: restart blackbox exporter - name: Create Blackbox Exporter systemd override directory ansible.builtin.file: path: /etc/systemd/system/prometheus-blackbox-exporter.service.d state: directory owner: root group: root mode: "0755" - name: Configure Blackbox Exporter listen address ansible.builtin.copy: dest: /etc/systemd/system/prometheus-blackbox-exporter.service.d/override.conf owner: root group: root mode: "0644" content: | [Service] ExecStart= ExecStart=/usr/bin/prometheus-blackbox-exporter --config.file=/etc/prometheus/blackbox.yml --web.listen-address={{ monitoring_blackbox_listen_address }} notify: - reload systemd - restart blackbox exporter - name: Install ru-vps metrics push script ansible.builtin.template: src: push-metrics.sh.j2 dest: /usr/local/sbin/homelab-monitoring-push owner: root group: root mode: "0755" - name: Install ru-vps metrics push service ansible.builtin.copy: dest: /etc/systemd/system/homelab-monitoring-push.service owner: root group: root mode: "0644" content: | [Unit] Description=Push ru-vps monitoring metrics through OpenVPN Wants=network-online.target After=network-online.target [Service] Type=oneshot ExecStart=/usr/local/sbin/homelab-monitoring-push notify: reload systemd - name: Install ru-vps metrics push timer ansible.builtin.copy: dest: /etc/systemd/system/homelab-monitoring-push.timer owner: root group: root mode: "0644" content: | [Unit] Description=Run ru-vps monitoring metric push every minute [Timer] OnBootSec=2m OnUnitActiveSec=1m Persistent=true [Install] WantedBy=timers.target notify: reload systemd - name: Ensure Blackbox Exporter is enabled and running ansible.builtin.systemd: name: prometheus-blackbox-exporter enabled: true state: started - name: Enable ru-vps metrics push timer ansible.builtin.systemd: name: homelab-monitoring-push.timer daemon_reload: true enabled: true state: started