2 # Copyright (C) The Arvados Authors. All rights reserved.
4 # SPDX-License-Identifier: AGPL-3.0
6 {%- set controller_nodes = "__CONTROLLER_NODES__".split(',') %}
7 {%- set enable_balancer = ("__ENABLE_BALANCER__"|to_bool) %}
8 {%- set data_retention_time = "__PROMETHEUS_DATA_RETENTION_TIME__" %}
19 use_upstream_repo: false
20 use_upstream_archive: true
23 config_file: /etc/prometheus/blackbox_exporter.yml
30 valid_http_versions: [HTTP/1.1, HTTP/2]
31 valid_status_codes: [200]
34 insecure_skip_verify: true # Avoid failures on self-signed certs
41 valid_http_versions: [HTTP/1.1, HTTP/2]
42 valid_status_codes: [200]
44 bearer_token: __MANAGEMENT_TOKEN__
46 insecure_skip_verify: true # Avoid failures on self-signed certs
53 valid_http_versions: [HTTP/1.1, HTTP/2]
54 valid_status_codes: [200]
57 username: "__MONITORING_USERNAME__"
58 password: "__MONITORING_PASSWORD__"
60 insecure_skip_verify: true # Avoid failures on self-signed certs
66 storage.tsdb.retention.time: {{ data_retention_time }}
70 evaluation_interval: 15s
75 - job_name: prometheus
76 # metrics_path defaults to /metrics
77 # scheme defaults to http.
79 - targets: ['localhost:9090']
81 instance: mon.__CLUSTER__
84 - job_name: http_probe
89 - targets: ['https://workbench.__DOMAIN__']
91 instance: workbench.__CLUSTER__
92 - targets: ['https://workbench2.__DOMAIN__']
94 instance: workbench2.__CLUSTER__
95 - targets: ['https://webshell.__DOMAIN__']
97 instance: webshell.__CLUSTER__
99 - source_labels: [__address__]
100 target_label: __param_target
101 - source_labels: [__param_target]
102 target_label: instance
103 - target_label: __address__
104 replacement: 127.0.0.1:9115 # blackbox exporter.
106 - job_name: http_probe_mngmt_token
109 module: [http_2xx_mngmt_token]
111 - targets: ['https://__DOMAIN__/_health/ping']
113 instance: controller.__CLUSTER__
114 - targets: ['https://download.__DOMAIN__/_health/ping']
116 instance: download.__CLUSTER__
117 - targets: ['https://ws.__DOMAIN__/_health/ping']
119 instance: ws.__CLUSTER__
121 - source_labels: [__address__]
122 target_label: __param_target
123 - source_labels: [__param_target]
124 target_label: instance
125 - target_label: __address__
126 replacement: 127.0.0.1:9115 # blackbox exporter.
128 - job_name: http_probe_basic_auth
131 module: [http_2xx_basic_auth]
133 - targets: ['https://grafana.__DOMAIN__']
135 instance: grafana.__CLUSTER__
136 - targets: ['https://prometheus.__DOMAIN__']
138 instance: prometheus.__CLUSTER__
140 - source_labels: [__address__]
141 target_label: __param_target
142 - source_labels: [__param_target]
143 target_label: instance
144 - target_label: __address__
145 replacement: 127.0.0.1:9115 # blackbox exporter.
147 ## Arvados unique jobs
148 - job_name: arvados_ws
149 bearer_token: __MANAGEMENT_TOKEN__
152 - targets: ['ws.__DOMAIN__:443']
154 instance: ws.__CLUSTER__
156 - job_name: arvados_controller
157 bearer_token: __MANAGEMENT_TOKEN__
158 {%- if enable_balancer %}
164 {%- if enable_balancer %}
165 {%- for controller in controller_nodes %}
166 - targets: ['{{ controller }}']
168 instance: {{ controller.split('.')[0] }}.__CLUSTER__
172 - targets: ['__DOMAIN__:443']
174 instance: controller.__CLUSTER__
178 bearer_token: __MANAGEMENT_TOKEN__
181 - targets: ['keep.__DOMAIN__:443']
183 instance: keep-web.__CLUSTER__
185 - job_name: keep_balance
186 bearer_token: __MANAGEMENT_TOKEN__
188 - targets: ['__KEEPBALANCE_INT_IP__:9005']
190 instance: keep-balance.__CLUSTER__
192 - job_name: keepstore
193 bearer_token: __MANAGEMENT_TOKEN__
195 - targets: ['__KEEPSTORE0_INT_IP__:25107']
197 instance: keep0.__CLUSTER__
199 - job_name: arvados_dispatch_cloud
200 bearer_token: __MANAGEMENT_TOKEN__
202 - targets: ['__DISPATCHER_INT_IP__:9006']
204 instance: arvados-dispatch-cloud.__CLUSTER__
207 {%- if "__DATABASE_INT_IP__" != "" %}
209 - job_name: postgresql
212 '__DATABASE_INT_IP__:9187',
213 '__DATABASE_INT_IP__:3903'
216 instance: database.__CLUSTER__
221 {%- set node_list = "__NODELIST__".split(',') %}
222 {%- set nodes = [] %}
223 {%- for node in node_list %}
224 {%- set _ = nodes.append(node.split('.')[0]) %}
228 {% for node in nodes %}
229 - targets: [ "{{ node }}.__DOMAIN__:9100" ]
231 instance: "{{ node }}.__CLUSTER__"