diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index a866f9e71..0dc99ef78 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -4411,7 +4411,7 @@ ntfy_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary # We have ntfy serve its metrics endpoint on a dedicated port, instead of on the regular HTTP port. # Were it served on the regular HTTP port, the endpoint would also become reachable at `https://ntfy.example.com/metrics`. # Nothing protects it there, because ntfy does not apply its own access-control rules to the metrics endpoint. -ntfy_metrics_listen_http_port: "{{ 9090 if matrix_metrics_exposure_enabled else '' }}" +ntfy_metrics_listen_http_port: "{{ 9090 if (prometheus_enabled or matrix_metrics_exposure_enabled) else '' }}" ntfy_container_labels_traefik_metrics_enabled: "{{ matrix_metrics_exposure_enabled }}" @@ -5430,6 +5430,8 @@ prometheus_container_additional_networks_auto: | ([matrix_media_repo_container_network] if matrix_prometheus_services_connect_scraper_media_repo_enabled and matrix_media_repo_container_network != prometheus_container_network else []) + ([matrix_synapse_usage_exporter_container_network] if matrix_prometheus_services_connect_scraper_synapse_usage_exporter_enabled and matrix_synapse_usage_exporter_container_network != prometheus_container_network else []) + + + ([ntfy_container_network] if matrix_prometheus_services_connect_scraper_ntfy_enabled and ntfy_container_network != prometheus_container_network else []) ) | unique }} @@ -5456,6 +5458,8 @@ prometheus_config_scrape_configs_auto: | (matrix_prometheus_services_connect_scraper_media_repo_scrape_configs if matrix_prometheus_services_connect_scraper_media_repo_enabled else []) + (matrix_prometheus_services_connect_scraper_synapse_usage_exporter_scrape_configs if matrix_prometheus_services_connect_scraper_synapse_usage_exporter_enabled else []) + + + (matrix_prometheus_services_connect_scraper_ntfy_scrape_configs if matrix_prometheus_services_connect_scraper_ntfy_enabled else []) }} ###################################################################### @@ -5497,6 +5501,9 @@ matrix_prometheus_services_connect_scraper_media_repo_static_configs_target: "{{ matrix_prometheus_services_connect_scraper_synapse_usage_exporter_enabled: "{{ matrix_synapse_usage_exporter_enabled }}" matrix_prometheus_services_connect_scraper_synapse_usage_exporter_static_configs_target: "{{ matrix_synapse_usage_exporter_identifier }}:{{ matrix_synapse_usage_exporter_container_port | string }}" +matrix_prometheus_services_connect_scraper_ntfy_enabled: "{{ ntfy_enabled and ntfy_metrics_listen_http_port | string | length > 0 }}" +matrix_prometheus_services_connect_scraper_ntfy_static_configs_target: "{{ ntfy_identifier }}:{{ ntfy_metrics_listen_http_port | string }}" + ###################################################################### # # /matrix-prometheus-services-connect diff --git a/roles/custom/matrix-prometheus-services-connect/defaults/main.yml b/roles/custom/matrix-prometheus-services-connect/defaults/main.yml index aa5b37703..118b22c69 100644 --- a/roles/custom/matrix-prometheus-services-connect/defaults/main.yml +++ b/roles/custom/matrix-prometheus-services-connect/defaults/main.yml @@ -189,3 +189,23 @@ matrix_prometheus_services_connect_scraper_synapse_usage_exporter_scrape_configs 'static_configs': matrix_prometheus_services_connect_scraper_synapse_usage_exporter_static_configs, }] }} + +# Controls whether ntfy shall be scraped +matrix_prometheus_services_connect_scraper_ntfy_enabled: false +matrix_prometheus_services_connect_scraper_ntfy_job_name: ntfy +matrix_prometheus_services_connect_scraper_ntfy_metrics_path: /metrics +matrix_prometheus_services_connect_scraper_ntfy_scrape_interval: 15s +matrix_prometheus_services_connect_scraper_ntfy_scrape_timeout: 15s +matrix_prometheus_services_connect_scraper_ntfy_static_configs: "{{ [{'targets': [matrix_prometheus_services_connect_scraper_ntfy_static_configs_target]}] }}" +matrix_prometheus_services_connect_scraper_ntfy_static_configs_target: '' +# The final scrape config for the ntfy scraper +matrix_prometheus_services_connect_scraper_ntfy_scrape_configs: | + {{ + [{ + 'job_name': matrix_prometheus_services_connect_scraper_ntfy_job_name, + 'metrics_path': matrix_prometheus_services_connect_scraper_ntfy_metrics_path, + 'scrape_interval': matrix_prometheus_services_connect_scraper_ntfy_scrape_interval, + 'scrape_timeout': matrix_prometheus_services_connect_scraper_ntfy_scrape_timeout, + 'static_configs': matrix_prometheus_services_connect_scraper_ntfy_static_configs, + }] + }}