Files
ansible-config/roles/node_exporter/tasks/main.yml
Freazzzing 26f6832275 feat: Добавлена установка Node Exporter на все хосты
- Создана роль node_exporter для установки на LXC контейнеры
- Добавлен плейбук deploy_all_node_exporters.yml
- Настроен ansible.cfg для правильного поиска ролей
- Node Exporter успешно установлен на все 10 хостов
- Prometheus собирает метрики со всех Node Exporters
- Все 14 таргетов в состоянии UP
2026-02-03 04:43:05 +00:00

104 lines
2.4 KiB
YAML

---
- name: Install required packages
apt:
name:
- wget
- tar
state: present
update_cache: yes
tags: node_exporter
- name: Create node_exporter user
user:
name: node_exporter
system: yes
shell: /bin/false
home: /nonexistent
comment: "Node Exporter Service User"
tags: node_exporter
- name: Download Node Exporter
get_url:
url: "https://github.com/prometheus/node_exporter/releases/download/v{{ node_exporter_version }}/node_exporter-{{ node_exporter_version }}.linux-amd64.tar.gz"
dest: "/tmp/node_exporter-{{ node_exporter_version }}.tar.gz"
timeout: 30
validate_certs: no
tags: node_exporter
- name: Extract Node Exporter
unarchive:
src: "/tmp/node_exporter-{{ node_exporter_version }}.tar.gz"
dest: "/tmp/"
remote_src: yes
creates: "/tmp/node_exporter-{{ node_exporter_version }}.linux-amd64"
tags: node_exporter
- name: Install Node Exporter binary
copy:
src: "/tmp/node_exporter-{{ node_exporter_version }}.linux-amd64/node_exporter"
dest: "/usr/local/bin/node_exporter"
owner: node_exporter
group: node_exporter
mode: '0755'
remote_src: yes
tags: node_exporter
- name: Create systemd service for LXC
template:
src: node_exporter.service.j2
dest: /etc/systemd/system/node_exporter.service
owner: root
group: root
mode: '0644'
tags: node_exporter
- name: Create textfile collector directory
file:
path: /var/lib/node_exporter/textfile_collector
state: directory
owner: node_exporter
group: node_exporter
mode: '0755'
tags: node_exporter
- name: Clean up temp files
file:
path: "/tmp/node_exporter-{{ node_exporter_version }}.tar.gz"
state: absent
tags: node_exporter
- name: Clean up extracted directory
file:
path: "/tmp/node_exporter-{{ node_exporter_version }}.linux-amd64"
state: absent
tags: node_exporter
- name: Reload systemd
systemd:
daemon_reload: yes
tags: node_exporter
- name: Enable and start Node Exporter
systemd:
name: node_exporter
enabled: yes
state: started
daemon_reload: yes
tags: node_exporter
- name: Configure UFW for Node Exporter
ufw:
rule: allow
port: "{{ node_exporter_port }}"
proto: tcp
comment: "Node Exporter metrics"
tags: node_exporter
- name: Verify Node Exporter is running
wait_for:
port: "{{ node_exporter_port }}"
host: "{{ ansible_host }}"
delay: 3
timeout: 60
tags: node_exporter