diff --git a/roles/prometheus/README.md b/roles/prometheus/README.md index fe7c2cdf..2f5c5ada 100644 --- a/roles/prometheus/README.md +++ b/roles/prometheus/README.md @@ -74,7 +74,7 @@ And include it in your playbook. ## Docs -### Predefined srape configs +### Predefined scrape configs The `prometheus.yml` template contains predefined srcape jobs that lookup proxy configurations of `prometheus_hosts` in the Ansible inventory. @@ -90,6 +90,24 @@ The `prometheus.yml` template contains predefined srcape jobs that lookup proxy * **n8n https**: Targets are `nginx_proxies` with exporter `n8n`. * **blackbox**: Targets are `nginx_proxies` with `monitor` not false and host is `blackbox01:9115`. +### Custom scrapers + +override the variable `prometheus_custom_scrapers` +example: +``` +prometheus_custom_scrapers: | + - job_name: n8n business metrics https + metrics_path: "/webhook/metrics" + scrape_interval: 60s + honor_labels: true + scheme: https + basic_auth: + username: {{ prometheus_n8n_business_metrics_username }} + password: {{ prometheus_n8n_business_metrics_password }} + static_configs: + - targets: ['n8n.example.com'] +``` + ### Deploy Prometheus container Select multiple inventories when deploying. diff --git a/roles/prometheus/defaults/main.yml b/roles/prometheus/defaults/main.yml index bcc983d6..0cb4d813 100644 --- a/roles/prometheus/defaults/main.yml +++ b/roles/prometheus/defaults/main.yml @@ -19,6 +19,7 @@ prometheus_n8n_exporter_proxy_basic_auth_password: "'{{ vault_prometheus_n8n_exp prometheus_meilisearch_exporter_api_key: "{{ vault_prometheus_meilisearch_exporter_api_key }}" prometheus_alerting: {} prometheus_rules: {} +prometheus_custom_scrapers: "" # system.yml: | # {% raw %} # groups: diff --git a/roles/prometheus/templates/prometheus.yml b/roles/prometheus/templates/prometheus.yml index eee0c1e1..88bbb5e4 100644 --- a/roles/prometheus/templates/prometheus.yml +++ b/roles/prometheus/templates/prometheus.yml @@ -139,7 +139,6 @@ scrape_configs: - target_label: __address__ replacement: {{ blackbox_exporter_hostname }}:9115 {% endif %} - {% if prometheus_n8n_exporter_proxy_basic_auth_username is defined %} - job_name: n8n https metrics_path: "/n8n-exporter/metrics" @@ -164,3 +163,4 @@ scrape_configs: static_configs: - targets: {{ prometheus_hosts | map('extract', hostvars) | json_query('[*].nginx_proxies[?exporter!=null && contains(exporter, `meilisearch`)].src_hostname') | flatten }} {% endif %} + {{ prometheus_custom_scrapers | indent(2) }}