diff --git a/roles/prometheus/README.md b/roles/prometheus/README.md index 2f5c5ada..bbc6835d 100644 --- a/roles/prometheus/README.md +++ b/roles/prometheus/README.md @@ -41,6 +41,7 @@ prometheus_odoo_exporter_basic_auth_password: # default: "{{ vault_prometheus_od prometheus_n8n_exporter_basic_auth_username: n8n-exporter prometheus_n8n_exporter_basic_auth_password: # default: "{{ vault_prometheus_n8n_exporter_basic_auth_password }}" prometheus_meilisearch_exporter_api_key: "{{ vault_prometheus_meilisearch_exporter_api_key }}" +prometheus_uptime_kuma_exporter_password: "{{ vault_prometheus_uptime_kuma_exporter_password }}" ``` Ensure the targets nginx proxy includes the exporter config: diff --git a/roles/prometheus/defaults/main.yml b/roles/prometheus/defaults/main.yml index 0cb4d813..4d1b4871 100644 --- a/roles/prometheus/defaults/main.yml +++ b/roles/prometheus/defaults/main.yml @@ -17,6 +17,7 @@ prometheus_mysqld_exporter_basic_auth_password: "{{ vault_prometheus_mysqld_expo prometheus_odoo_exporter_basic_auth_password: "{{ vault_prometheus_odoo_exporter_basic_auth_password }}" prometheus_n8n_exporter_proxy_basic_auth_password: "'{{ vault_prometheus_n8n_exporter_proxy_basic_auth_password }}'" prometheus_meilisearch_exporter_api_key: "{{ vault_prometheus_meilisearch_exporter_api_key }}" +prometheus_uptime_kuma_exporter_password: "{{ vault_prometheus_uptime_kuma_exporter_password }}" prometheus_alerting: {} prometheus_rules: {} prometheus_custom_scrapers: "" diff --git a/roles/prometheus/templates/prometheus.yml b/roles/prometheus/templates/prometheus.yml index 88bbb5e4..8706407c 100644 --- a/roles/prometheus/templates/prometheus.yml +++ b/roles/prometheus/templates/prometheus.yml @@ -151,6 +151,18 @@ scrape_configs: static_configs: - targets: {{ prometheus_hosts | map('extract', hostvars) | json_query('[*].nginx_proxies[?exporter!=null && contains(exporter, `n8n`)].src_hostname') | flatten }} {% endif %} +{% if prometheus_uptime_kuma_exporter_username is defined %} + - job_name: uptime-kuma https + metrics_path: "/metrics" + scrape_interval: 15s + honor_labels: true + scheme: https + basic_auth: + username: {{ prometheus_uptime_kuma_exporter_username }} + password: {{ prometheus_uptime_kuma_exporter_password }} + static_configs: + - targets: {{ prometheus_hosts | map('extract', hostvars) | json_query('[*].nginx_proxies[?exporter!=null && contains(exporter, `uptime-kuma`)].src_hostname') | flatten }} +{% endif %} {% if prometheus_meilisearch_exporter_api_key is defined %} - job_name: meilisearch https metrics_path: "/metrics"