ansible/plays/monitoring.yml

93 lines
2.7 KiB
YAML
Executable File

#!/usr/bin/env ansible-playbook
---
# Deploy Prometheus on monitoring server
- hosts: prometheus
vars:
prometheus: "{{ glob_prometheus | default({}) | combine(loc_prometheus | default({})) }}"
service: "{{ glob_service_prometheus_target | default({}) | combine(loc_service_prometheus_target | default({})) }}"
roles:
- prometheus
- service
- hosts: prometheus_alertmanager
vars:
alertmanager: "{{ glob_alertmanager | default({}) | combine(loc_alertmanager | default({})) }}"
ninjabot: "{{ glob_ninjabot | default({}) | combine(loc_ninjabot | default({})) }}"
roles:
- prometheus-alertmanager
- ninjabot
# Deploy Grafana on monitoring server
- hosts: grafana
vars:
grafana: "{{ glob_grafana | default({}) | combine(loc_grafana | default({})) }}"
roles:
- grafana
- hosts: blackbox
roles:
- prometheus-blackbox-exporter
- hosts: snmp
vars:
snmp_exporter: "{{ glob_snmp_exporter | default({}) | combine(loc_snmp_exporter | default({})) }}"
roles:
- prometheus-snmp-exporter
# Monitor all hosts
- hosts: server
vars:
prometheus_node_exporter: "{{ glob_prometheus_node_exporter | default({}) | combine(loc_prometheus_node_exporter | default({})) }}"
roles:
- prometheus-node-exporter
# Export nginx metrics
- hosts: nginx
vars:
prometheus_nginx_exporter: "{{ glob_prometheus_nginx_exporter | default({}) | combine(loc_prometheus_nginx_exporter | default({})) }}"
roles:
- prometheus-nginx-exporter
# Export apache metrics
- hosts: apache
vars:
prometheus_apache_exporter: "{{ glob_prometheus_apache_exporter | default({}) | combine(loc_prometheus_apache_exporter | default({})) }}"
roles:
- prometheus-apache-exporter
# Monitor Bird metrics
- hosts: bird
vars:
prometheus_bird_exporter: "{{ glob_prometheus_bird_exporter | default({}) | combine(loc_prometheus_bird_exporter | default({})) }}"
roles:
- prometheus-bird-exporter
# Monitor Bind metrics
- hosts: bind
vars:
prometheus_bind_exporter: "{{ glob_prometheus_bind_exporter | default({}) | combine(loc_prometheus_bind_exporter | default({})) }}"
roles:
- prometheus-bind-exporter
# Monitor Postfix metrics
- hosts: postfix
vars:
prometheus_postfix_exporter: "{{ glob_prometheus_postfix_exporter | default({}) | combine(loc_prometheus_postfix_exporter | default({})) }}"
roles:
- prometheus-postfix-exporter
# Monitor mailq with a special text exporter
# - hosts: redisdead.adm.crans.org
# roles: ["prometheus-node-exporter-postfix"]
# Monitor logs with mtail
- hosts: mtail
vars:
mtail: "{{ glob_mtail | default({}) | combine(loc_mtail | default({})) }}"
roles:
- mtail
- hosts: sputnik.adm.crans.org
roles:
- statping