78 lines
2.8 KiB
YAML
78 lines
2.8 KiB
YAML
- name: Создаём групу
|
|
ansible.builtin.group:
|
|
name: "{{ blackbox_exporter_group }}"
|
|
system: yes
|
|
state: present
|
|
|
|
- name: Создаём пользователя
|
|
ansible.builtin.user:
|
|
name: "{{ blackbox_exporter_user }}"
|
|
group: "{{ blackbox_exporter_user }}"
|
|
system: yes
|
|
shell: /sbin/nologin
|
|
create_home: no
|
|
|
|
- name: Проверяем, существует ли архив
|
|
ansible.builtin.stat:
|
|
path: "/tmp/blackbox_exporter-{{ blackbox_exporter_version }}.tar.gz"
|
|
register: archive_stat
|
|
|
|
- name: Загружаем архив экспортера, если не существует
|
|
ansible.builtin.get_url:
|
|
url: "https://github.com/prometheus/blackbox_exporter/releases/download/v{{ blackbox_exporter_version }}/blackbox_exporter-{{ blackbox_exporter_version }}.linux-amd64.tar.gz"
|
|
dest: "/tmp/blackbox_exporter-{{ blackbox_exporter_version }}.tar.gz"
|
|
mode: '0644'
|
|
when: not archive_stat.stat.exists
|
|
changed_when: false
|
|
|
|
- name: Создаём целевую директорию
|
|
ansible.builtin.file:
|
|
path: "{{ blackbox_exporter_install_dir }}"
|
|
state: directory
|
|
mode: '0755'
|
|
owner: "{{ blackbox_exporter_user }}"
|
|
group: "{{ blackbox_exporter_user }}"
|
|
|
|
- name: Разархивируем файл архива
|
|
ansible.builtin.unarchive:
|
|
src: "/tmp/blackbox_exporter-{{ blackbox_exporter_version }}.tar.gz"
|
|
dest: "{{ blackbox_exporter_install_dir }}"
|
|
owner: "{{ blackbox_exporter_user }}"
|
|
group: "{{ blackbox_exporter_user }}"
|
|
mode: "0755"
|
|
remote_src: yes
|
|
extra_opts: [--strip-components=1]
|
|
creates: "{{ blackbox_exporter_install_dir }}/blackbox_exporter" # предотвращает повторную распаковку
|
|
|
|
- name: Удляем архив после разархивации
|
|
ansible.builtin.file:
|
|
path: "/tmp/blackbox_exporter-{{ blackbox_exporter_version }}.tar.gz"
|
|
state: absent
|
|
changed_when: false
|
|
|
|
- name: Создаём симовлическую ссылку на бинарный файл
|
|
ansible.builtin.file:
|
|
src: "{{ blackbox_exporter_install_dir }}/blackbox_exporter"
|
|
dest: /usr/local/bin/blackbox_exporter
|
|
state: link
|
|
|
|
- name: Создаём каталог для конфигурационного файла
|
|
ansible.builtin.file:
|
|
path: "{{ blackbox_exporter_config_path | dirname }}"
|
|
state: directory
|
|
owner: "{{ blackbox_exporter_user }}"
|
|
group: "{{ blackbox_exporter_group }}"
|
|
mode: '0755'
|
|
|
|
- name: Создаём systemd юнит
|
|
ansible.builtin.template:
|
|
src: blackbox_exporter.service.j2
|
|
dest: /etc/systemd/system/blackbox_exporter.service
|
|
mode: '0644'
|
|
notify: Перезапустить Blackbox Exporter
|
|
|
|
- name: Enable and start service
|
|
ansible.builtin.systemd:
|
|
name: blackbox_exporter
|
|
enabled: yes
|
|
state: started |