# {{ ansible_managed }} global: scrape_interval: 15s evaluation_interval: 15s rule_files: - /etc/prometheus/rules/*.yml {% for subdir in (prometheus_server_jobs | select('match', '.*/.*') | map('dirname') | unique) %} - /etc/prometheus/rules/{{ subdir }}/*.yml {% endfor %} {% if prometheus_server_alertmanager is defined %} alerting: alertmanagers: - static_configs: - targets: ['{{ prometheus_server_alertmanager.url }}'] {% if 'path_prefix' in prometheus_server_alertmanager %} path_prefix: '{{ prometheus_server_alertmanager.path_prefix }}' {% endif %} {% if 'basic_auth' in prometheus_server_alertmanager %} basic_auth: username: '{{ prometheus_server_alertmanager.basic_auth.username }}' password_file: '/etc/prometheus/prometheus-alertmanager.password' {% endif %} {% endif %} scrape_configs: - job_name: 'prometheus' {% if prometheus_server_web_external_url is defined %} metrics_path: '{{ (prometheus_server_web_external_url | urlsplit('path'), 'metrics') | path_join }}' {% endif %} static_configs: - targets: ['localhost:9090'] labels: instance: '{{ inventory_hostname }}' {% if prometheus_server_alertmanager is defined %} - job_name: 'alertmanager' {% if 'path_prefix' in prometheus_server_alertmanager %} metrics_path: '{{ (prometheus_server_alertmanager.path_prefix, 'metrics') | path_join }}' {% endif %} {% if 'basic_auth' in prometheus_server_alertmanager %} basic_auth: username: '{{ prometheus_server_alertmanager.basic_auth.username }}' password_file: '/etc/prometheus/prometheus-alertmanager.password' {% endif %} static_configs: - targets: ['{{ prometheus_server_alertmanager.url }}'] {% endif %} {% for job in (prometheus_server_jobs) %} {% include lookup('first_found', {'paths': ['templates/jobs'], 'files': [job + '.j2', 'generic.j2']}) | relpath(template_fullpath | dirname) %}{{ '' }} {% endfor %} {% if prometheus_server_jobs_extra is defined %} {{ prometheus_server_jobs_extra | indent(2) }} {% endif %}