ansible-role-prometheus/tasks/main.yml
2022-03-26 16:21:30 +01:00

72 lines
1.6 KiB
YAML

- 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: write prometheus config
notify: restart prometheus
template:
src: prometheus.j2
dest: /etc/default/prometheus
owner: root
group: root
mode: 0644
- name: write 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
owner: root
group: root
mode: 0644
- 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