From 89c73cbfa4ada30e65275e602635cb6faf2dbb08 Mon Sep 17 00:00:00 2001 From: Thomas Kleinendorst Date: Wed, 15 Jan 2025 13:38:01 +0100 Subject: [PATCH] Add cAdvisor and Prometheus integration --- roles/monitoring/tasks/main.yml | 39 +++++++++++++++++++++++++ roles/monitoring/vars/main/defaults.yml | 7 +++++ versions.yml | 2 ++ 3 files changed, 48 insertions(+) diff --git a/roles/monitoring/tasks/main.yml b/roles/monitoring/tasks/main.yml index f40746a..70c94b0 100644 --- a/roles/monitoring/tasks/main.yml +++ b/roles/monitoring/tasks/main.yml @@ -1,4 +1,43 @@ --- +- name: Install the container + become: true + community.docker.docker_container: + name: cadvisor + image: "gcr.io/cadvisor/cadvisor:{{ versions.monitoring.cAdvisor }}" + image_name_mismatch: recreate + ports: + - "127.0.0.1:8091:8080/tcp" + mounts: + - source: / + target: /rootfs + read_only: true + type: bind + - source: /var/run + target: /var/run + read_only: true + type: bind + - source: /sys + target: /sys + read_only: true + type: bind + - source: /var/lib/docker/ + target: /var/lib/docker + read_only: true + type: bind + - source: /dev/disk/ + target: /dev/disk + read_only: true + type: bind + privileged: true + devices: + - /dev/kmsg + restart_policy: always +- name: Include simple-reverse-proxy role + ansible.builtin.include_role: + name: simple-reverse-proxy + vars: + simple_reverse_proxy_internal_port: 8091 + simple_reverse_proxy_internal_subdomain: cadvisor - name: Include the Prometheus role ansible.builtin.include_role: name: prometheus.prometheus.prometheus diff --git a/roles/monitoring/vars/main/defaults.yml b/roles/monitoring/vars/main/defaults.yml index b68f331..3cd2265 100644 --- a/roles/monitoring/vars/main/defaults.yml +++ b/roles/monitoring/vars/main/defaults.yml @@ -14,6 +14,9 @@ prometheus_targets: postgres: - targets: - raspberry-pi-1.kleinendorst.info:9187 + cadvisor: + - targets: + - raspberry-pi-1.kleinendorst.info:8091 prometheus_web_listen_address: 127.0.0.1:9090 prometheus_scrape_configs: - job_name: "prometheus" @@ -32,6 +35,10 @@ prometheus_scrape_configs: file_sd_configs: - files: - "{{ prometheus_config_dir }}/file_sd/postgres.yml" + - job_name: "cadvisor" + file_sd_configs: + - files: + - "{{ prometheus_config_dir }}/file_sd/cadvisor.yml" prometheus_alertmanager_config: - static_configs: - targets: diff --git a/versions.yml b/versions.yml index 7de42d1..15f20f6 100644 --- a/versions.yml +++ b/versions.yml @@ -12,6 +12,8 @@ versions: # Changelog: https://github.com/immich-app/immich/releases immich: v1.124.2 monitoring: + # Releases: https://github.com/google/cadvisor/releases/ + cAdvisor: v0.49.2 # Changelog: https://github.com/prometheus/prometheus/blob/main/CHANGELOG.md # Note that version 3.0.0 was just released, upgrading is probably necessary. prometheus: 3.0.1