forked from VictoriaMetrics/ansible-playbooks
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconverge.yml
More file actions
104 lines (94 loc) · 2.79 KB
/
Copy pathconverge.yml
File metadata and controls
104 lines (94 loc) · 2.79 KB
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
---
- name: Setup storage
become: true
hosts: vmstorage
roles:
- vmstorage
- name: Setup vmselect
become: true
hosts: vmselect
vars:
vmselect_cache_dir: "/var/lib/vmselect"
vmselect_config:
cacheDataPath: "/var/lib/vmselect"
storageNode: "{{ groups['vmstorage'] | join(',') }}"
roles:
- vmselect
- name: Setup vminsert
become: true
hosts: vminsert
vars:
vminsert_config:
storageNode: "{{ groups['vmstorage'] | join(',') }}"
roles:
- vminsert
#
- name: Setup vmauth
become: true
hosts: vmauth
vars:
# See: https://docs.victoriametrics.com/vmauth/#load-balancer-for-victoriametrics-cluster
vmauth_auth_config: |-
unauthorized_user:
url_map:
- src_paths:
- "/insert/.+"
url_prefix:
{% for insert in groups['vminsert'] %}
- "http://{{ insert }}:8480/"
{% endfor %}
- src_paths:
- "/select/.+"
url_prefix:
{% for select in groups['vmselect'] %}
- "http://{{ select }}:8481/"
{% endfor %}
roles:
- vmauth
- name: Setup vmagent MoM
become: true
hosts: vmagent-mom
vars:
vmstorage_targets: [ ]
vminsert_targets: [ ]
vmselect_targets: [ ]
vmagent_mom_targets: [ ]
vmagent_enterprise: true
vmagent_license_key: "fake"
vmagent_service_args:
"remoteWrite.url": "http://{{ groups['vmauth'] | first }}:8427/insert/10/prometheus/api/v1/write"
"promscrape.config": "{{ vmagent_config_dir }}/config.yml"
"remoteWrite.tmpDataPath": "{{ vmagent_tmp_data_path }}"
vmagent_scrape_config:
scrape_configs:
- job_name: vmagent
static_configs:
- targets: "{{ vmagent_mom_targets }}"
- job_name: vmstorage
static_configs:
- targets: "{{ vmstorage_targets }}"
- job_name: vmselect
static_configs:
- targets: "{{ vmselect_targets }}"
- job_name: vminsert
static_configs:
- targets: "{{ vminsert_targets }}"
pre_tasks:
- name: Prepare vmstorage list
ansible.builtin.set_fact:
vmstorage_targets: "{{ vmstorage_targets + [item + ':8482'] }}"
loop: "{{ groups['vmstorage'] }}"
- name: Prepare vminsert list
ansible.builtin.set_fact:
vminsert_targets: "{{ vminsert_targets + [item + ':8480'] }}"
loop: "{{ groups['vminsert'] }}"
- name: Prepare vmselect list
ansible.builtin.set_fact:
vmselect_targets: "{{ vmselect_targets + [item + ':8481'] }}"
loop: "{{ groups['vmselect'] }}"
- name: Prepare vmagent-mom list
ansible.builtin.set_fact:
vmagent_mom_targets: "{{ vmagent_mom_targets + [item + ':8429'] }}"
loop: "{{ groups['vmagent-mom'] }}"
roles:
- vmagent