diff --git a/roles/prometheus-node-exporter/files/apt.sh b/roles/prometheus-node-exporter/files/apt.sh deleted file mode 100644 index b61e72f..0000000 --- a/roles/prometheus-node-exporter/files/apt.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash -# -# Description: Expose metrics from apt updates. -# -# Author: Ben Kochie - -upgrades="$(/usr/bin/apt-get --just-print dist-upgrade \ - | /usr/bin/awk -F'[()]' \ - '/^Inst/ { sub("^[^ ]+ ", "", $2); gsub(" ","",$2); - sub("\\[", " ", $2); sub("\\]", "", $2); print $2 }' \ - | /usr/bin/sort \ - | /usr/bin/uniq -c \ - | awk '{ gsub(/\\\\/, "\\\\", $2); gsub(/\"/, "\\\"", $2); - gsub(/\[/, "", $3); gsub(/\]/, "", $3); - print "apt_upgrades_pending{origin=\"" $2 "\",arch=\"" $NF "\"} " $1}' -)" - -echo '# HELP apt_upgrades_pending Apt package pending updates by origin.' -echo '# TYPE apt_upgrades_pending gauge' -if [[ -n "${upgrades}" ]] ; then - echo "${upgrades}" -else - echo 'apt_upgrades_pending{origin="",arch=""} 0' -fi - -echo '# HELP node_reboot_required Node reboot is required for software updates.' -echo '# TYPE node_reboot_required gauge' -if [[ -f '/run/reboot-required' ]] ; then - echo 'node_reboot_required 1' -else - echo 'node_reboot_required 0' -fi diff --git a/roles/prometheus-node-exporter/files/prometheus-node-exporter-apt.service b/roles/prometheus-node-exporter/files/prometheus-node-exporter-apt.service deleted file mode 100644 index 63c901d..0000000 --- a/roles/prometheus-node-exporter/files/prometheus-node-exporter-apt.service +++ /dev/null @@ -1,7 +0,0 @@ -[Unit] -Description=Collect apt metrics for prometheus-node-exporter - -[Service] -Type=oneshot -Environment=TMPDIR=/var/lib/prometheus/node-exporter -ExecStart=/bin/bash -c "/usr/share/prometheus-node-exporter/apt.sh | sponge /var/lib/prometheus/node-exporter/apt.prom" diff --git a/roles/prometheus-node-exporter/files/prometheus-node-exporter-apt.timer b/roles/prometheus-node-exporter/files/prometheus-node-exporter-apt.timer deleted file mode 100644 index 6ed4b45..0000000 --- a/roles/prometheus-node-exporter/files/prometheus-node-exporter-apt.timer +++ /dev/null @@ -1,9 +0,0 @@ -[Unit] -Description=Run apt metrics collection every 15 minutes - -[Timer] -OnBootSec=0 -OnUnitActiveSec=15min - -[Install] -WantedBy=timers.target diff --git a/roles/prometheus-node-exporter/tasks/main.yml b/roles/prometheus-node-exporter/tasks/main.yml index 379c4a4..c8cad53 100644 --- a/roles/prometheus-node-exporter/tasks/main.yml +++ b/roles/prometheus-node-exporter/tasks/main.yml @@ -27,6 +27,7 @@ apt: name: - prometheus-node-exporter + - prometheus-node-exporter-collectors state: latest update_cache: true install_recommends: false # Do not install smartmontools @@ -84,58 +85,6 @@ - name: web.config value: /etc/node_exporter/config.yaml -- name: Add monitoring for apt on bullseye - block: - - name: Install moreutils # we need the sponge command - apt: - name: - - moreutils - state: latest - update_cache: true - register: apt_result - retries: 3 - until: apt_result is succeeded - - - name: Ensure /usr/share/prometheus-node-exporter exist - file: - path: /usr/share/prometheus-node-exporter/ - state: directory - group: root - owner: root - mode: u=rwx,g=rx,o=rx - - - name: Add the script - copy: - src: apt.sh - dest: /usr/share/prometheus-node-exporter/apt.sh - group: root - owner: root - mode: u=rwx,g=rx,o=rx - - - name: Add the timer - copy: - src: prometheus-node-exporter-apt.timer - dest: /lib/systemd/system/prometheus-node-exporter-apt.timer - group: root - owner: root - mode: u=rw,g=r,o=r - - - name: Add the service - copy: - src: prometheus-node-exporter-apt.service - dest: /lib/systemd/system/prometheus-node-exporter-apt.service - group: root - owner: root - mode: u=rw,g=r,o=r - - - name: Enable the timer - systemd: - name: prometheus-node-exporter-apt.timer - state: started - enabled: true - - when: ansible_facts['lsb']['codename'] == 'bullseye' - # Add the node to the server targets - name: Get the list of targets of the server