r/v-m: Add role for Victoria Metrics

The *victoria-metrics* role deploys a single-server instance of the
Victoria Metrics time series database server.  It installs the selected
version by downloading the binary release from Github and copying it to
`/usr/local/sbin` on the managed node.  Scrape configuration is optional
and can be specified with the `scrape_configs` variable.
This commit is contained in:
2022-02-13 12:11:45 -06:00
parent 8176eaf694
commit 0785fda26b
14 changed files with 211 additions and 0 deletions

View File

@@ -0,0 +1,73 @@
- name: ensure victoria metrics user exists
user:
name: victoriametrics
system: true
home: /var/lib/victoria-metrics
createhome: false
shell: /sbin/nologin
state: present
tags:
- user
- name: ensure victoria metrics data data directory exists
file:
path: /var/lib/victoria-metrics
owner: victoriametrics
group: victoriametrics
mode: u=rwx,go=rx
state: directory
tags:
- datadir
- name: ensure /etc/sysconfig directory exists
file:
path: /etc/sysconfig
mode: u=rwx,go=rx
owner: root
group: root
state: directory
tags:
- config
- name: ensure victoria metrics is configured
template:
src: victoria-metrics.sysconfig.j2
dest: /etc/sysconfig/victoria-metrics
mode: '0644'
notify:
- restart victoria-metrics
tags:
- config
- name: ensure victoria metrics config directory exists
file:
path: /etc/victoria-metrics
mode: '0755'
state: directory
tags:
- config
- name: ensure victoria metrics scrape configuration is set
copy:
dest: /etc/victoria-metrics/scrape.yml
content: '{{ vm_config|to_nice_yaml(indent=2) }}'
mode: '0644'
when: vm_config is not none
notify:
- reload victoria-metrics
tags:
- config
- scrape-config
- name: ensure victoria metrics starts at boot
service:
name: victoria-metrics
enabled: true
tags:
- service
- systemd
- name: ensure victoria metrics is running
service:
name: victoria-metrics
state: started
tags:
- service
- systemd