diff --git a/group_vars/apache.yml b/group_vars/apache.yml new file mode 100644 index 00000000..428b6e30 --- /dev/null +++ b/group_vars/apache.yml @@ -0,0 +1,3 @@ +--- +glob_prometheus_apache_exporter: + listen_addr: "{{ query('ldap', 'ip', ansible_hostname, 'adm') | ansible.utils.ipv4 | first }}" diff --git a/group_vars/all/prometheus_nginx_exporter.yaml b/group_vars/bind.yml similarity index 75% rename from group_vars/all/prometheus_nginx_exporter.yaml rename to group_vars/bind.yml index d73de03c..b893c041 100644 --- a/group_vars/all/prometheus_nginx_exporter.yaml +++ b/group_vars/bind.yml @@ -1,3 +1,3 @@ --- -glob_prometheus_nginx_exporter: +glob_prometheus_bind_exporter: listen_addr: "{{ query('ldap', 'ip', ansible_hostname, 'adm') | ansible.utils.ipv4 | first }}" diff --git a/group_vars/nginx.yml b/group_vars/nginx.yml index 3dc6e157..d36cb7f6 100644 --- a/group_vars/nginx.yml +++ b/group_vars/nginx.yml @@ -30,3 +30,6 @@ glob_nginx: - "172.16.0.0/16" - "fd00::/56" deploy_robots_file: false + +glob_prometheus_nginx_exporter: + listen_addr: "{{ query('ldap', 'ip', ansible_hostname, 'adm') | ansible.utils.ipv4 | first }}" diff --git a/host_vars/fyre.adm.crans.org.yml b/host_vars/fyre.adm.crans.org.yml index df5ea2d2..54e15472 100644 --- a/host_vars/fyre.adm.crans.org.yml +++ b/host_vars/fyre.adm.crans.org.yml @@ -32,6 +32,19 @@ loc_prometheus: target_label: __address__ replacement: '$1:9117' + apache: + config: + - job_name: apache + file_sd_configs: + - files: + - '/etc/prometheus/targets/apache.json' + relabel_configs: + - source_labels: [__address__] + target_label: instance + - source_labels: [instance] + target_label: __address__ + replacement: '$1:9117' + blackbox: file: targets_blackbox.json targets: diff --git a/hosts b/hosts index ef386db3..d1a3cf32 100644 --- a/hosts +++ b/hosts @@ -3,6 +3,9 @@ [adh_server] zamok.adm.crans.org +[apache] +zamok.adm.crans.org + [arpproxy] boeing.adm.crans.org routeur-ft.adm.crans.org diff --git a/plays/monitoring.yml b/plays/monitoring.yml index 152cc79e..fe874070 100755 --- a/plays/monitoring.yml +++ b/plays/monitoring.yml @@ -48,6 +48,13 @@ 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: diff --git a/roles/prometheus-apache-exporter/tasks/main.yml b/roles/prometheus-apache-exporter/tasks/main.yml index cd7a2ab6..c0e65cc9 100644 --- a/roles/prometheus-apache-exporter/tasks/main.yml +++ b/roles/prometheus-apache-exporter/tasks/main.yml @@ -1,5 +1,5 @@ --- -- name: Install prometheus-apache-exporter +- name: Install Prometheus apache-exporter apt: update_cache: true name: prometheus-apache-exporter @@ -7,10 +7,10 @@ retries: 3 until: apt_result is succeeded -- name: Make prometheus-apache-exporter listen on adm only +- name: Make Prometheus apache-exporter listen on adm only lineinfile: path: /etc/default/prometheus-apache-exporter - regexp: '^ARGS=' + regexp: ^ARGS= line: | - ARGS="-telemetry.address={{ adm_ipv4 }}:9117" + ARGS="-telemetry.address={{ prometheus_apache_exporter.listen_addr }}:9117" notify: Restart prometheus-apache-exporter