- name: install prometheus apt: pkg: prometheus - name: update prometheus user user: name: prometheus groups: ssl-cert append: yes - name: create ssl certificate folder file: dest: /etc/prometheus/targetcerts/ owner: root group: root mode: 0755 state: directory - name: create config folders file: dest: "{{ item }}" owner: root group: root mode: 0755 state: directory loop: - /etc/prometheus/conf.d - /etc/prometheus/conf.d/scrape_configs - /etc/prometheus/conf.d/rule_files - /etc/prometheus/conf.d/alerting - name: wrtie prometheus config notify: restart prometheus template: src: prometheus.j2 dest: /etc/default/prometheus - name: wrtie prometheus (base) config notify: regenerate prometheus config copy: owner: root group: root mode: 0644 dest: /etc/prometheus/conf.d/prometheus.conf content: "{{ prometheus.config|to_nice_yaml(indent=2) }}" - name: add self scrape job notify: regenerate prometheus config template: src: scrape_self.conf.j2 dest: /etc/prometheus/conf.d/scrape_configs/selfscrape.conf - name: add config generating script notify: regenerate prometheus config copy: dest: /usr/local/sbin/prometheus-generate-config.sh src: generate-config.sh mode: 0755 owner: root group: root - name: add cronjob to regenerate config cron: name: regenerate prometheus config minute: 3,18,33,48 job: /usr/local/sbin/prometheus-generate-config.sh