summaryrefslogtreecommitdiff
path: root/roles/monitoring/prometheus/server/templates/prometheus.yml.j2
blob: aed69de5d8d30b8efa8e0944a55090e23464f157 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# {{ ansible_managed }}

global:
  scrape_interval:     15s
  evaluation_interval: 15s
{% if prometheus_server_external_labels is defined %}
  external_labels:
{%   for name, value in prometheus_server_external_labels.items() %}
    {{ name }}: {{ value }}
{%   endfor %}
{% endif %}

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_route_prefix is defined or prometheus_server_web_external_url is defined %}
    metrics_path: '{{ (prometheus_server_web_route_prefix | default(prometheus_server_web_external_url | default('') | urlsplit('path')), 'metrics') | path_join }}'
{% endif %}
{% if prometheus_server_selfscraping_auth is defined %}
    basic_auth:
      username: '{{ prometheus_server_selfscraping_auth.username }}'
      password_file: '/etc/prometheus/prometheus-selfscraping.password'
{% 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 %}