18874: Merge commit '6f8dcb2b13f3058db656908fb26b09e23b527f08' into 18874-merge-wb2
[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
9 ### PROMETHEUS
10 prometheus:
11   wanted:
12     component:
13       - prometheus
14       - alertmanager
15       - node_exporter
16   pkg:
17     use_upstream_repo: true
18     component:
19       prometheus:
20         config:
21           global:
22             scrape_interval: 15s
23             evaluation_interval: 15s
24           rule_files:
25             - rules.yml
26
27           scrape_configs:
28             - job_name: prometheus
29               # metrics_path defaults to /metrics
30               # scheme defaults to http.
31               static_configs:
32               - targets: ['localhost:9090']
33                 labels:
34                   instance: mon.__CLUSTER__
35                   cluster: __CLUSTER__
36
37             ## Arvados unique jobs
38             - job_name: arvados_ws
39               bearer_token: __MANAGEMENT_TOKEN__
40               scheme: https
41               static_configs:
42                 - targets: ['ws.__DOMAIN__:443']
43                   labels:
44                     instance: ws.__CLUSTER__
45                     cluster: __CLUSTER__
46             - job_name: arvados_controller
47               bearer_token: __MANAGEMENT_TOKEN__
48               {%- if enable_balancer %}
49               scheme: http
50               {%- else %}
51               scheme: https
52               {%- endif %}
53               static_configs:
54                 {%- if enable_balancer %}
55                   {%- for controller in controller_nodes %}
56                 - targets: ['{{ controller }}']
57                   labels:
58                     instance: {{ controller.split('.')[0] }}.__CLUSTER__
59                     cluster: __CLUSTER__
60                   {%- endfor %}
61                 {%- else %}
62                 - targets: ['__DOMAIN__:443']
63                   labels:
64                     instance: controller.__CLUSTER__
65                     cluster: __CLUSTER__
66                 {%- endif %}
67             - job_name: keep_web
68               bearer_token: __MANAGEMENT_TOKEN__
69               scheme: https
70               static_configs:
71                 - targets: ['keep.__DOMAIN__:443']
72                   labels:
73                     instance: keep-web.__CLUSTER__
74                     cluster: __CLUSTER__
75             - job_name: keep_balance
76               bearer_token: __MANAGEMENT_TOKEN__
77               static_configs:
78                 - targets: ['__KEEPBALANCE_INT_IP__:9005']
79                   labels:
80                     instance: keep-balance.__CLUSTER__
81                     cluster: __CLUSTER__
82             - job_name: keepstore
83               bearer_token: __MANAGEMENT_TOKEN__
84               static_configs:
85                 - targets: ['__KEEPSTORE0_INT_IP__:25107']
86                   labels:
87                     instance: keep0.__CLUSTER__
88                     cluster: __CLUSTER__
89             - job_name: arvados_dispatch_cloud
90               bearer_token: __MANAGEMENT_TOKEN__
91               static_configs:
92                 - targets: ['__DISPATCHER_INT_IP__:9006']
93                   labels:
94                     instance: arvados-dispatch-cloud.__CLUSTER__
95                     cluster: __CLUSTER__
96
97             # Database
98             - job_name: postgresql
99               static_configs:
100                 - targets: [
101                     '__DATABASE_INT_IP__:9187',
102                     '__DATABASE_INT_IP__:3903'
103                   ]
104                   labels:
105                     instance: database.__CLUSTER__
106                     cluster: __CLUSTER__
107
108             # Nodes
109             {%- set node_list = "__NODELIST__".split(',') %}
110             {%- set nodes = [] %}
111             {%- for node in node_list %}
112               {%- set _ = nodes.append(node.split('.')[0]) %}
113             {%- endfor %}
114             - job_name: node
115               static_configs:
116                 {% for node in nodes %}
117                 - targets: [ "{{ node }}.__DOMAIN__:9100" ]
118                   labels:
119                     instance: "{{ node }}.__CLUSTER__"
120                     cluster: __CLUSTER__
121                 {% endfor %}