add role for victoriametrics v1.71.0

This commit is contained in:
ikerbs
2021-12-22 15:03:21 +03:00
commit 153d45afab
17 changed files with 474 additions and 0 deletions

33
tasks/main.yaml Normal file
View File

@ -0,0 +1,33 @@
- name: Install yum corp plugin
dnf:
name: yum-plugin-copr
state: present
- name: Check corp repo antonpatsev/VictoriaMetrics is enabled
shell: dnf -y copr list --enabled
register: corp_repo
changed_when: false
- name: Enable corp repo antonpatsev/VictoriaMetrics
shell: dnf -y copr enable antonpatsev/VictoriaMetrics
when: '"antonpatsev/VictoriaMetrics" not in corp_repo.stdout'
- name: Include vmstorage {{ victoriametrics_vmstorage_version }} deploy
include: vmstorage.yaml
when: inventory_hostname in groups[victoriametrics_vmstorage_group]
- name: Include vminsert {{ victoriametrics_vminsert_version }} deploy
include: vminsert.yaml
when: inventory_hostname in groups[victoriametrics_vminsert_group]
- name: Include vmselect {{ victoriametrics_vmselect_version }} deploy
include: vmselect.yaml
when: inventory_hostname in groups[victoriametrics_vmselect_group]
- name: Include vmauth {{ victoriametrics_vmauth_version }} deploy
include: vmauth.yaml
when: inventory_hostname in groups[victoriametrics_vmauth_group]
- name: Include vmagent {{ victoriametrics_vmagent_version }} deploy
include: vmagent.yaml
when: inventory_hostname in groups[victoriametrics_vmagent_group]

35
tasks/vmagent.yaml Normal file
View File

@ -0,0 +1,35 @@
- name: Install vmagent {{ victoriametrics_vmagent_version }}
dnf:
name: "vmagent-{{ victoriametrics_vmagent_version }}"
state: present
register: vmagent_setup
notify: Restart vmagent
- name: Template vmagent config
template:
src: etc/victoriametrics/vmagent/vmagent.conf.j2
dest: /etc/victoriametrics/vmagent/vmagent.conf
notify: Restart vmagent
- name: Merge prometheus config values
set_fact:
victoriametrics_vmagent_prometheus_config_combined: "{{ victoriametrics_vmagent_prometheus_config_default | combine(victoriametrics_vmagent_prometheus_config, recursive=true) | to_nice_yaml(indent=2) }}"
#- name: Template vmagent prometheus config
# copy:
# content: "{{ victoriametrics_vmagent_prometheus_config }}"
# dest: /etc/victoriametrics/vmagent/prometheus.yml
# notify: Restart vmagent
- name: Template vmagent prometheus config
template:
src: etc/victoriametrics/vmagent/prometheus.yml.j2
dest: /etc/victoriametrics/vmagent/prometheus.yml
notify: Restart vmagent
- name: Enable and start vmagent service
systemd:
name: vmagent
state: started
enabled: yes
daemon_reload: yes

27
tasks/vmauth.yaml Normal file
View File

@ -0,0 +1,27 @@
- name: Install vmauth {{ victoriametrics_vmauth_version }}
dnf:
name: "vmauth-{{ victoriametrics_vmauth_version }}"
state: present
register: vmauth_setup
notify: Restart vmauth
- name: Template vmauth config
template:
src: etc/victoriametrics/vmauth/vmauth.conf.j2
dest: /etc/victoriametrics/vmauth/vmauth.conf
notify: Restart vmauth
- name: Template vmauth users config
template:
src: etc/victoriametrics/vmauth/config.yml.j2
dest: "{{ victoriametrics_vmauth_config_file }}"
notify: Restart vmauth
- name: Enable and start vmauth service
systemd:
name: vmauth
state: started
enabled: yes
daemon_reload: yes

20
tasks/vminsert.yaml Normal file
View File

@ -0,0 +1,20 @@
- name: Install vminsert {{ victoriametrics_vminsert_version }}
dnf:
name: "vminsert-{{ victoriametrics_vminsert_version }}"
state: present
register: vminsert_setup
notify: Restart vminsert
- name: Template vminsert config
template:
src: etc/victoriametrics/vmcluster/vminsert.conf.j2
dest: /etc/victoriametrics/vmcluster/vminsert.conf
notify: Restart vminsert
- name: Enable and start vminsert service
systemd:
name: vminsert
state: started
enabled: yes
daemon_reload: yes

19
tasks/vmselect.yaml Normal file
View File

@ -0,0 +1,19 @@
- name: Install vmselect {{ victoriametrics_vmselect_version }}
dnf:
name: "vmselect-{{ victoriametrics_vmselect_version }}"
state: present
register: vmselect_setup
notify: Restart vmselect
- name: Template vmselect config
template:
src: etc/victoriametrics/vmcluster/vmselect.conf.j2
dest: /etc/victoriametrics/vmcluster/vmselect.conf
notify: Restart vmselect
- name: Enable and start vmselect service
systemd:
name: vmselect
state: started
enabled: yes
daemon_reload: yes

32
tasks/vmstorage.yaml Normal file
View File

@ -0,0 +1,32 @@
- name: Install vmstorage {{ victoriametrics_vmstorage_version }}
dnf:
name: "vmstorage-{{ victoriametrics_vmstorage_version }}"
state: present
register: vmstorage_setup
notify: Restart vmstorage
- name: Create data directory {{ victoriametrics_vmstorage_data_dir }}
file:
path: "{{ victoriametrics_vmstorage_data_dir }}"
state: directory
owner: victoriametrics
group: victoriametrics
- name: Template vmstorage config
template:
src: etc/victoriametrics/vmcluster/vmstorage.conf.j2
dest: /etc/victoriametrics/vmcluster/vmstorage.conf
notify: Restart vmstorage
#- debug:
# msg: "{{ groups['vmstorage'] | map('extract', hostvars, ['ansible_host']) | join(':8400,') }}:8400"
#- debug:
# msg: "{{ groups['vmstorage'] | map('extract', hostvars, ['inventory_hostname']) | join(':8400,') }}:8400"
- name: Enable and start vmstorage service
systemd:
name: vmstorage
state: started
enabled: yes
daemon_reload: yes