Add Prometheus Node Exporter to frr_anycast role

Устанавливает prometheus-node-exporter из официального репозитория
Ubuntu 24 LTS (universe, сторонний репозиторий не добавляется) на
всех узлах обеих сред (площадка A + Облачная площадка), безусловно.
Сервис enabled+started, слушает стандартный порт :9100 (дефолт
пакета, конфиг не переопределяется). Firewall-правил не требуется —
в nftables.conf.j2 нет table inet filter с policy drop.

Шаблоны FRR/nftables не затронуты: render-check.sh 6/6,
render-check-cloud.sh 84/84, без изменений.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bc3HkMiDwooSyLBLoMKNyF
This commit is contained in:
ayurishchevandClaude Sonnet 5 committed 2026-09-11 13:24:08 +03:00
1 parent 72367682b5
commit 036f32869b
5 files changed
+70

No files matched your search

+6
View File
@@ -174,3 +174,9 @@ ansible/tests/render-check-cloud.sh # 4 соседа, prepend только н
- **`systemd-networkd` не вычищает чужие маршруты**: drop-in `/etc/systemd/networkd.conf.d/99-keep-configuration.conf` (`KeepConfiguration=yes`) — защита не от конкретного пакета-триггера, а от самого механизма, на случай **любого** будущего рестарта networkd.
Не влияет на рендер `frr.conf`/`daemons`/`nftables.conf` — `render-check.sh`/`render-check-cloud.sh` проходят без изменений. Детали: [docs/2026-09-11-system-hardening-plan.md](docs/2026-09-11-system-hardening-plan.md) / [docs/2026-09-11-system-hardening-summary.md](docs/2026-09-11-system-hardening-summary.md).
## Мониторинг: Prometheus Node Exporter
На всех узлах (площадка A + «Облачная площадка») безусловно ставится `prometheus-node-exporter` из официального репозитория Ubuntu 24 LTS (`universe`, сторонний репозиторий не добавляется) — сервис `prometheus-node-exporter.service`, стандартный порт `:9100`, конфиг пакета не переопределяется. Дополнительных nftables-правил не нужно — в `nftables.conf.j2` нет `table inet filter`/policy drop, трафик к 9100 ничем не блокируется.
Детали: [docs/2026-09-11-node-exporter-plan.md](docs/2026-09-11-node-exporter-plan.md) / [docs/2026-09-11-node-exporter-summary.md](docs/2026-09-11-node-exporter-summary.md).
@@ -25,3 +25,7 @@ nftables_conf_path: /etc/nftables.conf
# вообще не разворачивается). Включается автоматически, как только задан
# dnat_target_ip — отдельного булева флага в env не требуется.
dnat_target_ip: ""
# Из официального репозитория Ubuntu (universe), стандартный порт :9100 —
# конфиг пакета не переопределяется.
node_exporter_package: prometheus-node-exporter
+12
View File
@@ -163,3 +163,15 @@
enabled: true
state: started
when: enable_snat | bool
- name: Node Exporter | установить из официального репозитория Ubuntu
ansible.builtin.apt:
name: "{{ node_exporter_package }}"
state: present
update_cache: true
- name: Node Exporter | сервис включён и запущен (стандартный порт 9100)
ansible.builtin.systemd:
name: prometheus-node-exporter
enabled: true
state: started
+18
View File
@@ -0,0 +1,18 @@
# План внедрения: Prometheus Node Exporter
**Дата:** 2026-09-11
## Цель
Установить `node_exporter` на всех FRR-узлах (площадка A + «Облачная площадка») из официального репозитория Ubuntu 24 LTS (пакет `prometheus-node-exporter`, компонент `universe`), стандартный порт `:9100`.
## Решение
Роль `frr_anycast`, безусловно (без флага, применяется везде): `apt install prometheus-node-exporter` + `systemd: enabled/started`. Конфиг не трогается — дефолт пакета уже слушает `:9100`. nftables-разрешений не требуется (в `nftables.conf.j2` нет `table inet filter`/policy drop).
## Definition of done
- Задачи в `roles/frr_anycast/{defaults,tasks}/main.yml`.
- `render-check.sh` / `render-check-cloud.sh` без изменений (регресс-проверка) — шаблоны FRR/nftables не тронуты.
- `--syntax-check` чист для обоих playbook'ов.
- README и summary обновлены.
+30
View File
@@ -0,0 +1,30 @@
# Summary: Prometheus Node Exporter
**Дата:** 2026-09-11
**План:** [2026-09-11-node-exporter-plan.md](2026-09-11-node-exporter-plan.md)
## Что сделано
В роль `frr_anycast` добавлены две задачи (безусловно, на всех узлах обеих сред — площадка A и «Облачная площадка»):
- `apt install prometheus-node-exporter` (пакет из официального репозитория Ubuntu 24 LTS, компонент `universe`, сторонний репозиторий не добавлялся).
- `systemd: prometheus-node-exporter enabled+started`.
Конфиг-файл не создавался/не менялся — пакетный дефолт уже слушает `:9100` на всех интерфейсах, это и есть «стандартный порт» из запроса. Новая переменная `node_exporter_package: prometheus-node-exporter` в `defaults/main.yml` — если версия/имя пакета когда-то изменится, править в одном месте.
## Результаты проверки
- `--syntax-check` — OK для `site-a.yml` и `site-cloud.yml`.
- `render-check.sh` (площадка A) — 6/6, без изменений.
- `render-check-cloud.sh` (site-cloud) — 84/84, без изменений.
Изменение не трогает шаблоны FRR/nftables, поэтому регресс-тесты рендера не затронуты.
## Известное ограничение
Реальный apply и проверка прослушивания `:9100` на живых ВМ не выполнялись — ВМ не подняты (как и во всех предыдущих изменениях этой сессии).
## Изменённые файлы
- `ansible/roles/frr_anycast/defaults/main.yml`, `ansible/roles/frr_anycast/tasks/main.yml`.
- `README.md` — новый раздел «Мониторинг: Prometheus Node Exporter».
- `docs/2026-09-11-node-exporter-plan.md`, `docs/2026-09-11-node-exporter-summary.md`.