81 lines
2.9 KiB
YAML
81 lines
2.9 KiB
YAML
---
|
|
# ------------------------------------------------------------------------------
|
|
# FILE: ansible/playbooks/day2_install_node_exporter.yml
|
|
# DESCRIPTION: Install and configure Prometheus Node Exporter on Linux hosts.
|
|
#
|
|
# Targets two groups with different firewall managers:
|
|
# - proxmox_nodes : Proxmox hypervisors (Debian, firewalld not present,
|
|
# uses iptables/no firewall — just open the port via UFW
|
|
# if present, otherwise skip)
|
|
# - monitored_vms : Ubuntu VMs managed by UFW
|
|
#
|
|
# After installing on new hosts, re-runs day1_deploy_monitoring.yml to refresh
|
|
# the Prometheus scrape config is NOT needed — targets are already statically
|
|
# defined in prometheus.yaml.j2 for the Proxmox nodes. For new VMs, add the
|
|
# IP to the prometheus.yaml.j2 proxmox-vms job and re-run day1_deploy_monitoring.yml.
|
|
#
|
|
# Usage:
|
|
# ansible-playbook -i inventory.yml playbooks/day2_install_node_exporter.yml
|
|
# ansible-playbook -i inventory.yml playbooks/day2_install_node_exporter.yml --limit proxmox_nodes
|
|
# ansible-playbook -i inventory.yml playbooks/day2_install_node_exporter.yml --limit monitored_vms
|
|
# ------------------------------------------------------------------------------
|
|
|
|
# ── Play 1: Proxmox hypervisors ───────────────────────────────────────────────
|
|
# Proxmox runs Debian. The prometheus.prometheus.node_exporter role installs
|
|
# a binary + systemd service without touching apt, which is what we want on
|
|
# hypervisors (keep the package footprint clean).
|
|
# Note: Proxmox does not run UFW. Port 9100 is open by default on VLAN 71.
|
|
|
|
- name: Install Node Exporter on Proxmox hypervisors
|
|
hosts: proxmox_nodes
|
|
become: true
|
|
|
|
vars:
|
|
node_exporter_version: "1.9.1"
|
|
node_exporter_web_listen_address: "0.0.0.0:9100"
|
|
node_exporter_enabled_collectors:
|
|
- systemd
|
|
- processes
|
|
- filesystem
|
|
- meminfo
|
|
- cpu
|
|
- diskstats
|
|
- netdev
|
|
- loadavg
|
|
- uname
|
|
|
|
roles:
|
|
- role: prometheus.prometheus.node_exporter
|
|
|
|
# ── Play 2: Ubuntu VMs ────────────────────────────────────────────────────────
|
|
# Standard Ubuntu hosts with UFW. Same role, adds UFW allow rule for 9100.
|
|
|
|
- name: Install Node Exporter on monitored VMs
|
|
hosts: monitored_vms
|
|
become: true
|
|
|
|
vars:
|
|
node_exporter_version: "1.9.1"
|
|
node_exporter_web_listen_address: "0.0.0.0:9100"
|
|
node_exporter_enabled_collectors:
|
|
- systemd
|
|
- processes
|
|
- filesystem
|
|
- meminfo
|
|
- cpu
|
|
- diskstats
|
|
- netdev
|
|
- loadavg
|
|
- uname
|
|
|
|
pre_tasks:
|
|
- name: Open Node Exporter port in UFW
|
|
community.general.ufw:
|
|
rule: allow
|
|
port: "9100"
|
|
proto: tcp
|
|
comment: "Prometheus Node Exporter"
|
|
|
|
roles:
|
|
- role: prometheus.prometheus.node_exporter
|