--- - name: Install Prometheus apt: update_cache: true name: - prometheus - prometheus-snmp-exporter register: apt_result retries: 3 until: apt_result is succeeded - name: Configure Prometheus template: src: prometheus.yml.j2 dest: /etc/prometheus/prometheus.yml owner: prometheus group: prometheus mode: u=r,g=r,o= loop: - prometheus.yml - alert.rules.yml - django.rules.yml notify: Restart Prometheus - name: Make Prometheus snmp-exporter listen on localhost only lineinfile: path: /etc/default/prometheus-snmp-exporter regexp: '^ARGS=' line: "ARGS=\"--web.listen-address=127.0.0.1:9116\"" notify: Restart prometheus-snmp-exporter # This file store SNMP OIDs - name: Configure Prometheus snmp-exporter template: src: snmp.yml.j2 dest: /etc/prometheus/snmp.yml owner: prometheus group: prometheus mode: u=r,g=r,o= notify: Restart prometheus-snmp-exporter # We don't need to restart Prometheus when updating nodes - name: Configure Prometheus nodes copy: content: "{{ prometheus_targets | to_nice_json }}" dest: /etc/prometheus/targets.json mode: 0644 # We don't need to restart Prometheus when updating nodes - name: Configure Prometheus Ubiquity Unifi SNMP devices copy: content: "{{ prometheus_unifi_snmp_targets | to_nice_json }}" dest: /etc/prometheus/targets_unifi_snmp.json mode: 0644 when: prometheus_unifi_snmp_targets is defined - name: Configure Prometheus Switchs copy: content: "{{ prometheus_switch_snmp_targets | to_nice_json }}" dest: /etc/prometheus/targets_switch_snmp.json mode: 0644 when: prometheus_switch_snmp_targets is defined - name: Configure Prometheus UPS SNMP devices copy: content: "{{ [{'targets': prometheus_ups_snmp_targets }] | to_nice_json }}\n" dest: /etc/prometheus/targets_ups_snmp.json mode: 0644 when: prometheus_ups_snmp_targets is defined - name: Configure Prometheus docker monitoring copy: content: "{{ [{'targets': prometheus_docker_targets }] | to_nice_json }}\n" dest: /etc/prometheus/targets_docker.json mode: 0644 when: prometheus_docker_targets is defined - name: Activate prometheus service systemd: name: prometheus enabled: true state: started - include_role: name: update_motd vars: motd_messages: - key: 05-prometheus message: >- Prometheus est déployé sur cette machine (voir /etc/prometheus) ...