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