prometheus/tasks/server/prometheus.yml
2023-02-06 15:44:42 +01:00

65 lines
1.9 KiB
YAML

---
- name: 'prometheus | server | assert | check mandatory vars are defined'
assert:
that:
- "prometheus_server_monitor is defined"
tags: ['prometheus_server']
- name: 'prometheus | server | create docker network'
docker_network:
name: '{{ prometheus_docker_network }}'
tags: ['prometheus_server']
- name: 'prometheus | server | create docker volume data'
docker_volume:
name: prometheus_data
register: register_docker_volume_prometheus__prometheus_data
tags: ['prometheus_server']
- name: 'prometheus | server | create prometheus directory to /etc'
file:
path: /etc/prometheus
state: directory
mode: '0755'
tags: ['prometheus_server']
- name: 'prometheus | server | copy config prometheus yml'
template:
src: conf/prometheus.yml.j2
dest: /etc/prometheus/prometheus.yml
owner: root
group: root
mode: 0644
tags: ['prometheus_server']
notify:
- 'prometheus | server | restart container'
- name: 'prometheus | server | deploy container'
docker_container:
name: prometheus
hostname: '{{ inventory_hostname }}'
image: prom/prometheus:{{ prometheus_server_version }}
volumes:
- /etc/prometheus/:/etc/prometheus/
- prometheus_data:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--storage.tsdb.retention.time={{ prometheus_retention_time }}'
- '--web.console.libraries=/usr/share/prometheus/console_libraries'
- '--web.console.templates=/usr/share/prometheus/consoles'
- '--web.enable-admin-api'
networks:
- name: '{{ prometheus_docker_network }}'
ports:
- "9090:9090"
log_driver: syslog
log_options:
tag: docker_prometheus
restart_policy: 'unless-stopped'
pull: '{{ prometheus_docker_pull }}'
etc_hosts: '{{ prometheus_nodes_ip }}'
tags: ['prometheus_server']
notify:
- 'prometheus | server | restart container'