[bird] Deploy prometheus-bird-exporter on routers to monitor routes

Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
ntpsec
Yohann D'ANELLO 2022-08-04 10:36:44 +02:00
parent d51c211e1a
commit 6aafd88ab1
Signed by: _ynerant
GPG Key ID: 3A75C55819C8CF85
5 changed files with 48 additions and 0 deletions

View File

@ -1,2 +1,5 @@
---
glob_bird: {}
glob_prometheus_bird_exporter:
listen_addr: "{{ query('ldap', 'ip', ansible_hostname, 'adm') | ansible.utils.ipv4 | first }}"

View File

@ -98,6 +98,23 @@ loc_prometheus:
- target_label: __address__
replacement: 127.0.0.1:9115
bird:
file: targets_bird.json
targets: "{{ groups['bird'] | select('match', '^.*\\.adm\\.crans\\.org$') | list | sort }}"
config:
- job_name: servers
file_sd_configs:
- files:
- '/etc/prometheus/targets_bird.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:9324'
mtail:
file: targets_mtail.json
targets:

View File

@ -46,6 +46,13 @@
roles:
- prometheus-nginx-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 mailq with a special text exporter
# - hosts: redisdead.adm.crans.org
# roles: ["prometheus-node-exporter-postfix"]

View File

@ -0,0 +1,5 @@
---
- name: Restart prometheus-bird-exporter
service:
name: prometheus-bird-exporter
state: restarted

View File

@ -0,0 +1,16 @@
---
- name: Install Prometheus bird-exporter
apt:
update_cache: true
name: prometheus-bird-exporter
register: apt_result
retries: 3
until: apt_result is succeeded
- name: Make Prometheus bird-exporter listen on adm only and use Bird v2
lineinfile:
path: /etc/default/prometheus-bird-exporter
regexp: ^ARGS=
line: |
ARGS="-format.new -bird.v2 -web.listen-address={{ prometheus_bird_exporter.listen_addr }}:9324"
notify: Restart prometheus-bird-exporter