107 lines
3.2 KiB
YAML
Executable File
107 lines
3.2 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 PostgreSQL metrics
|
|
- hosts: postgres
|
|
vars:
|
|
prometheus_postgres_exporter: "{{ glob_prometheus_postgres_exporter | default({}) | combine(loc_prometheus_postgres_exporter | default({})) }}"
|
|
roles:
|
|
- prometheus-postgres-exporter
|
|
|
|
# Monitor MySQL metrics
|
|
- hosts: mariadb
|
|
vars:
|
|
prometheus_mysqld_exporter: "{{ glob_prometheus_mysqld_exporter | default({}) | combine(loc_prometheus_mysqld_exporter | default({})) }}"
|
|
roles:
|
|
- prometheus-mysqld-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
|