Merge branch '20850-wb1-deprecated' refs #20850
[arvados.git] / tools / salt-install / config_examples / multi_host / aws / pillars / prometheus_server.sls
1 ---
2 # Copyright (C) The Arvados Authors. All rights reserved.
3 #
4 # SPDX-License-Identifier: AGPL-3.0
5
6 {%- set controller_nodes = "__CONTROLLER_NODES__".split(',') %}
7 {%- set enable_balancer = ("__ENABLE_BALANCER__"|to_bool) %}
8 {%- set data_retention_time = "__PROMETHEUS_DATA_RETENTION_TIME__" %}
9
10 ### PROMETHEUS
11 prometheus:
12   wanted:
13     component:
14       - prometheus
15       - alertmanager
16       - node_exporter
17   pkg:
18     use_upstream_repo: false
19     use_upstream_archive: true
20     component:
21       prometheus:
22         service:
23            args:
24              storage.tsdb.retention.time: {{ data_retention_time }}
25         config:
26           global:
27             scrape_interval: 15s
28             evaluation_interval: 15s
29           rule_files:
30             - rules.yml
31
32           scrape_configs:
33             - job_name: prometheus
34               # metrics_path defaults to /metrics
35               # scheme defaults to http.
36               static_configs:
37               - targets: ['localhost:9090']
38                 labels:
39                   instance: mon.__CLUSTER__
40                   cluster: __CLUSTER__
41
42             ## Arvados unique jobs
43             - job_name: arvados_ws
44               bearer_token: __MANAGEMENT_TOKEN__
45               scheme: https
46               static_configs:
47                 - targets: ['ws.__DOMAIN__:443']
48                   labels:
49                     instance: ws.__CLUSTER__
50                     cluster: __CLUSTER__
51             - job_name: arvados_controller
52               bearer_token: __MANAGEMENT_TOKEN__
53               {%- if enable_balancer %}
54               scheme: http
55               {%- else %}
56               scheme: https
57               {%- endif %}
58               static_configs:
59                 {%- if enable_balancer %}
60                   {%- for controller in controller_nodes %}
61                 - targets: ['{{ controller }}']
62                   labels:
63                     instance: {{ controller.split('.')[0] }}.__CLUSTER__
64                     cluster: __CLUSTER__
65                   {%- endfor %}
66                 {%- else %}
67                 - targets: ['__DOMAIN__:443']
68                   labels:
69                     instance: controller.__CLUSTER__
70                     cluster: __CLUSTER__
71                 {%- endif %}
72             - job_name: keep_web
73               bearer_token: __MANAGEMENT_TOKEN__
74               scheme: https
75               static_configs:
76                 - targets: ['keep.__DOMAIN__:443']
77                   labels:
78                     instance: keep-web.__CLUSTER__
79                     cluster: __CLUSTER__
80             - job_name: keep_balance
81               bearer_token: __MANAGEMENT_TOKEN__
82               static_configs:
83                 - targets: ['__KEEPBALANCE_INT_IP__:9005']
84                   labels:
85                     instance: keep-balance.__CLUSTER__
86                     cluster: __CLUSTER__
87             - job_name: keepstore
88               bearer_token: __MANAGEMENT_TOKEN__
89               static_configs:
90                 - targets: ['__KEEPSTORE0_INT_IP__:25107']
91                   labels:
92                     instance: keep0.__CLUSTER__
93                     cluster: __CLUSTER__
94             - job_name: arvados_dispatch_cloud
95               bearer_token: __MANAGEMENT_TOKEN__
96               static_configs:
97                 - targets: ['__DISPATCHER_INT_IP__:9006']
98                   labels:
99                     instance: arvados-dispatch-cloud.__CLUSTER__
100                     cluster: __CLUSTER__
101
102             {%- if "__DATABASE_INT_IP__" != "" %}
103             # Database
104             - job_name: postgresql
105               static_configs:
106                 - targets: [
107                     '__DATABASE_INT_IP__:9187',
108                     '__DATABASE_INT_IP__:3903'
109                   ]
110                   labels:
111                     instance: database.__CLUSTER__
112                     cluster: __CLUSTER__
113             {%- endif %}
114
115             # Nodes
116             {%- set node_list = "__NODELIST__".split(',') %}
117             {%- set nodes = [] %}
118             {%- for node in node_list %}
119               {%- set _ = nodes.append(node.split('.')[0]) %}
120             {%- endfor %}
121             - job_name: node
122               static_configs:
123                 {% for node in nodes %}
124                 - targets: [ "{{ node }}.__DOMAIN__:9100" ]
125                   labels:
126                     instance: "{{ node }}.__CLUSTER__"
127                     cluster: __CLUSTER__
128                 {% endfor %}