summaryrefslogtreecommitdiff
path: root/roles/monitoring/prometheus/server/templates/prometheus.yml.j2
blob: 69d5bcdc557cdb2db239c28f659a372f3f85f651 (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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# {{ ansible_managed }}

global:
  scrape_interval:     15s
  evaluation_interval: 15s

rule_files:
  - /etc/prometheus/rules/*.yml
{% 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 %}
{% 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 %}
    static_configs:
    - targets: ['{{ prometheus_server_alertmanager.url }}']
{% endif %}
{% for job in prometheus_server_jobs %}

  - job_name: '{{ job }}'
    metrics_path: /proxy
    params:
      module:
      - {{ job }}
    scheme: https
    tls_config:
      ca_file: /etc/ssl/prometheus/ca-crt.pem
      cert_file: /etc/ssl/prometheus/server/scrape-crt.pem
      key_file: /etc/ssl/prometheus/server/scrape-key.pem
    file_sd_configs:
    - files:
      - "/etc/prometheus/jobs/{{ job }}/*.yml"
{% endfor %}

  ## TODO: temporary test
  - job_name: 'ping'
    metrics_path: /proxy
    params:
      module:
      - blackbox
      - icmp
    scheme: https
    tls_config:
      ca_file: /etc/ssl/prometheus/ca-crt.pem
      cert_file: /etc/ssl/prometheus/server/scrape-crt.pem
      key_file: /etc/ssl/prometheus/server/scrape-key.pem
    static_configs:
      - targets:
        - 62.99.185.129
        - 9.9.9.9
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: 192.168.32.230:9999

  - job_name: 'https'
    metrics_path: /proxy
    params:
      module:
      - blackbox
      - http_tls_2xx
    scheme: https
    tls_config:
      ca_file: /etc/ssl/prometheus/ca-crt.pem
      cert_file: /etc/ssl/prometheus/server/scrape-crt.pem
      key_file: /etc/ssl/prometheus/server/scrape-key.pem
    static_configs:
      - targets:
        - web.chaos-at-home.org
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: 192.168.32.230:9999

  - job_name: 'ssh'
    metrics_path: /proxy
    params:
      module:
      - blackbox
      - ssh_banner
    scheme: https
    tls_config:
      ca_file: /etc/ssl/prometheus/ca-crt.pem
      cert_file: /etc/ssl/prometheus/server/scrape-crt.pem
      key_file: /etc/ssl/prometheus/server/scrape-key.pem
    static_configs:
      - targets:
        - 192.168.32.230:222
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - target_label: instance
        replacement: 'ch-mon'
      - target_label: __address__
        replacement: 192.168.32.230:9999