[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:
|
subnets:
|
||||||
- 172.16.10.0/24
|
- 172.16.10.0/24
|
||||||
- fd00:0:0:10::/64
|
- 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__
|
target_label: __address__
|
||||||
replacement: '$1:9154'
|
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:
|
mtail:
|
||||||
config:
|
config:
|
||||||
- job_name: mtail
|
- job_name: mtail
|
||||||
|
|
3
hosts
3
hosts
|
@ -131,6 +131,9 @@ routeur-sam.adm.crans.org
|
||||||
[linx]
|
[linx]
|
||||||
linx.adm.crans.org
|
linx.adm.crans.org
|
||||||
|
|
||||||
|
[mariadb]
|
||||||
|
zamok.adm.crans.org
|
||||||
|
|
||||||
[mailman]
|
[mailman]
|
||||||
mailman.adm.crans.org
|
mailman.adm.crans.org
|
||||||
|
|
||||||
|
|
|
@ -76,6 +76,20 @@
|
||||||
roles:
|
roles:
|
||||||
- prometheus-postfix-exporter
|
- 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
|
# Monitor mailq with a special text exporter
|
||||||
# - hosts: redisdead.adm.crans.org
|
# - hosts: redisdead.adm.crans.org
|
||||||
# roles: ["prometheus-node-exporter-postfix"]
|
# roles: ["prometheus-node-exporter-postfix"]
|
||||||
|
|
|
@ -7,5 +7,6 @@
|
||||||
adh: "{{ glob_adh | combine(loc_adh | default({}), recursive=True) }}"
|
adh: "{{ glob_adh | combine(loc_adh | default({}), recursive=True) }}"
|
||||||
roles:
|
roles:
|
||||||
- zamok-tools
|
- zamok-tools
|
||||||
|
- mariadb
|
||||||
# - postfix
|
# - postfix
|
||||||
- prometheus-node-exporter-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
|
- libapache2-mod-wsgi-py3
|
||||||
- lua-cjson # Demande du 01/09/2017 18:50 sur #crans
|
- lua-cjson # Demande du 01/09/2017 18:50 sur #crans
|
||||||
- lynx # Demande du 30/07/2017 sur nounou@
|
- lynx # Demande du 30/07/2017 sur nounou@
|
||||||
- mariadb-server
|
|
||||||
- moreutils # Ce package, c'est la vie !
|
- moreutils # Ce package, c'est la vie !
|
||||||
- nyancat
|
- nyancat
|
||||||
- octave # Demande irc #crans 28/02/2019 14h28
|
- octave # Demande irc #crans 28/02/2019 14h28
|
||||||
|
|
Loading…
Reference in New Issue