[postgres+mariadb] Add Prometheus exporter
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>alerts
parent
facd462e24
commit
31d3ddfdd8
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
glob_prometheus_mysqld_exporter:
|
||||
listen_addr: "{{ query('ldap', 'ip', ansible_hostname, 'adm') | ansible.utils.ipv4 | first }}"
|
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
glob_prometheus_postfix_exporter:
|
||||
listen_addr: "{{ query('ldap', 'ip', ansible_hostname, 'adm') | ansible.utils.ipv4 | first }}"
|
|
@ -3,3 +3,6 @@ glob_postgres:
|
|||
subnets:
|
||||
- 172.16.10.0/24
|
||||
- fd00:0:0:10::/64
|
||||
|
||||
glob_prometheus_postgres_exporter:
|
||||
listen_addr: "{{ query('ldap', 'ip', ansible_hostname, 'adm') | ansible.utils.ipv4 | first }}"
|
||||
|
|
|
@ -147,6 +147,36 @@ loc_prometheus:
|
|||
target_label: __address__
|
||||
replacement: '$1:9154'
|
||||
|
||||
postgres:
|
||||
config:
|
||||
- job_name: postgres
|
||||
file_sd_configs:
|
||||
- files:
|
||||
- '/etc/prometheus/targets_postgres.json'
|
||||
relabel_configs:
|
||||
- source_labels: [__address__]
|
||||
target_label: __param_target
|
||||
- source_labels: [__param_target]
|
||||
target_label: instance
|
||||
- source_labels: [__param_target]
|
||||
target_label: __address__
|
||||
replacement: '$1:9187'
|
||||
|
||||
mysql:
|
||||
config:
|
||||
- job_name: mysql
|
||||
file_sd_configs:
|
||||
- files:
|
||||
- '/etc/prometheus/targets_mysql.json'
|
||||
relabel_configs:
|
||||
- source_labels: [__address__]
|
||||
target_label: __param_target
|
||||
- source_labels: [__param_target]
|
||||
target_label: instance
|
||||
- source_labels: [__param_target]
|
||||
target_label: __address__
|
||||
replacement: '$1:9104'
|
||||
|
||||
mtail:
|
||||
config:
|
||||
- job_name: mtail
|
||||
|
|
3
hosts
3
hosts
|
@ -131,6 +131,9 @@ routeur-sam.adm.crans.org
|
|||
[linx]
|
||||
linx.adm.crans.org
|
||||
|
||||
[mariadb]
|
||||
zamok.adm.crans.org
|
||||
|
||||
[mailman]
|
||||
mailman.adm.crans.org
|
||||
|
||||
|
|
|
@ -76,6 +76,20 @@
|
|||
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"]
|
||||
|
|
|
@ -7,5 +7,6 @@
|
|||
adh: "{{ glob_adh | combine(loc_adh | default({}), recursive=True) }}"
|
||||
roles:
|
||||
- zamok-tools
|
||||
- mariadb
|
||||
# - postfix
|
||||
- prometheus-node-exporter-postfix
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
- name: Install MariaDB
|
||||
apt:
|
||||
update_cache: true
|
||||
name: mariadb
|
||||
register: apt_result
|
||||
retries: 3
|
||||
until: apt_result is succeeded
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
- name: Restart prometheus-mysqld-exporter
|
||||
service:
|
||||
name: prometheus-mysqld-exporter
|
||||
state: restarted
|
|
@ -0,0 +1,24 @@
|
|||
---
|
||||
- name: Install Prometheus mysqld-exporter
|
||||
apt:
|
||||
update_cache: true
|
||||
name: prometheus-mysqld-exporter
|
||||
register: apt_result
|
||||
retries: 3
|
||||
until: apt_result is succeeded
|
||||
|
||||
- name: Make Prometheus mysqld-exporter listen on adm only
|
||||
lineinfile:
|
||||
path: /etc/default/prometheus-mysqld-exporter
|
||||
regexp: ^ARGS=
|
||||
line: |
|
||||
ARGS="--web.listen-address={{ prometheus_mysqld_exporter.listen_addr }}:9104"
|
||||
notify: Restart prometheus-mysqld-exporter
|
||||
|
||||
# You need to create the prometheus account, RTFM.
|
||||
- name: Configure MySQL connection
|
||||
lineinfile:
|
||||
path: /etc/default/prometheus-mysqld-exporter
|
||||
regexp: DATA_SOURCE_NAME="prometheus@unix(/run/mysqld/mysqld.sock)/"
|
||||
line: DATA_SOURCE_NAME="prometheus@unix(/run/mysqld/mysqld.sock)/"
|
||||
notify: Restart prometheus-mysqld-exporter
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
- name: Restart prometheus-postgres-exporter
|
||||
service:
|
||||
name: prometheus-postgres-exporter
|
||||
state: restarted
|
|
@ -0,0 +1,24 @@
|
|||
---
|
||||
- name: Install Prometheus postgres-exporter
|
||||
apt:
|
||||
update_cache: true
|
||||
name: prometheus-postgres-exporter
|
||||
register: apt_result
|
||||
retries: 3
|
||||
until: apt_result is succeeded
|
||||
|
||||
- name: Make Prometheus postgres-exporter listen on adm only
|
||||
lineinfile:
|
||||
path: /etc/default/prometheus-postgres-exporter
|
||||
regexp: ^ARGS=
|
||||
line: |
|
||||
ARGS="--web.listen-address={{ prometheus_postgres_exporter.listen_addr }}:9187"
|
||||
notify: Restart prometheus-postgres-exporter
|
||||
|
||||
# You need to create the prometheus account, RTFM.
|
||||
- name: Configure PostgreSQL connection
|
||||
lineinfile:
|
||||
path: /etc/default/prometheus-postgres-exporter
|
||||
regexp: ^DATA_SOURCE_NAME=
|
||||
line: DATA_SOURCE_NAME='user=prometheus host=/run/postgresql dbname=postgres'
|
||||
notify: Restart prometheus-postgres-exporter
|
|
@ -33,7 +33,6 @@
|
|||
- libapache2-mod-wsgi-py3
|
||||
- lua-cjson # Demande du 01/09/2017 18:50 sur #crans
|
||||
- lynx # Demande du 30/07/2017 sur nounou@
|
||||
- mariadb-server
|
||||
- moreutils # Ce package, c'est la vie !
|
||||
- nyancat
|
||||
- octave # Demande irc #crans 28/02/2019 14h28
|
||||
|
|
Loading…
Reference in New Issue