diff --git a/servers/ru1.md b/servers/ru1.md index e1adb11..2c6550b 100644 --- a/servers/ru1.md +++ b/servers/ru1.md @@ -44,6 +44,10 @@ VPN entry-нода в РФ. Точка входа в топологии **RU↔D - OpenVPN: `~/gen_client.sh --profile de|ru|both <имя>`, PKI `~/easy-rsa/pki`, профили `~/clients/`. CRL отключён. - WireGuard: `~/wireguard/gen_client.sh <имя>` → `~/wireguard/clients/<имя>.conf` (горячее добавление). +## Мониторинг +- Агент `~/monitoring-agent` (node-exporter + cadvisor, **host-network** → видит ens3/wg0/wg1/tun0/tun1) → Prometheus `fr1`, instance `ru1`. +- Порты 9100/8080 закрыты `iptables INPUT DROP ! -s 161.97.93.252` (только fr1, сохранено netfilter-persistent). Скрейп по публичному IP. + ## Прочее в `~` - `badvpn`, `gost`, `smart-routing`, `tun2socks.log`, `net-backup`, `works`, `telemt-build`, `cloudflared.deb`. diff --git a/stacks/monitoring-agent/docker-compose.yml b/stacks/monitoring-agent/docker-compose.yml index 452dfbf..83524fb 100644 --- a/stacks/monitoring-agent/docker-compose.yml +++ b/stacks/monitoring-agent/docker-compose.yml @@ -1,14 +1,15 @@ -# Агент мониторинга для удалённых нод (node-exporter + cadvisor). -# Prometheus на fr1 скрейпит 9100/8080. На ноде ограничить доступ к этим портам -# только IP fr1 (DOCKER-USER iptables) — метрики идут по публичной сети. -# hostname менять под конкретную ноду (здесь de1). +# Каноничный агент мониторинга для удалённой ноды: node-exporter + cadvisor в host-network +# (node-exporter видит реальные интерфейсы хоста — ens3/eth0/wg*/tun*). +# Порты 9100/8080 ОБЯЗАТЕЛЬНО закрыть на ноде только для IP fr1 +# (ufw allow from / iptables INPUT DROP ! -s ). Скрейп — по публичному IP ноды. +# Используется на ru1. de1 пока на старом bridge-варианте (сетевые метрики = docker-бридж). name: monitoring-agent services: node-exporter: image: prom/node-exporter:latest - container_name: node-exporter - hostname: de1 + network_mode: host + pid: host restart: unless-stopped command: - '--path.procfs=/host/proc' @@ -19,13 +20,10 @@ services: - /proc:/host/proc:ro - /sys:/host/sys:ro - /:/rootfs:ro - pid: host - ports: - - "9100:9100" cadvisor: image: gcr.io/cadvisor/cadvisor:latest - container_name: cadvisor + network_mode: host restart: unless-stopped privileged: true devices: @@ -36,5 +34,3 @@ services: - /sys:/sys:ro - /var/lib/docker/:/var/lib/docker:ro - /dev/disk/:/dev/disk:ro - ports: - - "8080:8080" diff --git a/stacks/monitoring/prometheus/targets/cadvisor/ru1.yml b/stacks/monitoring/prometheus/targets/cadvisor/ru1.yml new file mode 100644 index 0000000..4dbc905 --- /dev/null +++ b/stacks/monitoring/prometheus/targets/cadvisor/ru1.yml @@ -0,0 +1,3 @@ +- targets: ["85.198.109.86:8080"] + labels: + instance: ru1 diff --git a/stacks/monitoring/prometheus/targets/node/ru1.yml b/stacks/monitoring/prometheus/targets/node/ru1.yml new file mode 100644 index 0000000..c14ffe1 --- /dev/null +++ b/stacks/monitoring/prometheus/targets/node/ru1.yml @@ -0,0 +1,3 @@ +- targets: ["85.198.109.86:9100"] + labels: + instance: ru1