Add network activity map overlay and configurable monitoring filters

This commit is contained in:
Maxim
2026-10-09 22:59:32 +03:00
parent f198cc47d9
commit 6a940772f0
11 changed files with 462 additions and 67 deletions

View File

@@ -561,3 +561,28 @@ Firewall читается раз в 30 секунд командой `nft -j lis
Для iptables/ipset-only, именованных счётчиков и правил без счётчиков выводится
«недоступно», а не ноль. Отброшенный пакет до подтверждения conntrack может
отсутствовать в таблице потоков. Содержимое пакетов не перехватывается.
## Сетевой слой карты и фильтр мониторинга (v0.22.0)
При включённом сборе TCP/UDP/ICMP переключатель **Сеть на карте** показывает
текущие потоки отдельным слоем: TCP — зелёный, UDP — розовый, ICMP/ICMPv6 —
жёлтый. Импульсы означают новый снимок (~5 секунд), не отдельные пакеты или
новые подключения. Входящие и исходящие потоки имеют разное направление.
Локальные адреса и потоки без страны учитываются отдельно; при отсутствии
свежего снимка 25 секунд сетевой слой гаснет. HTTP-статистика за 24 часа с
текущими потоками не складывается. Фильтры домена и HTTP/CrowdSec относятся
только к HTTP-слою; фильтры внешних IP и мониторинга действуют на оба слоя.
В **Настройки → Карта трафика → Правила мониторинга** задайте по одному правилу
на строку: `IP | домен | префикс пути`. IP точный, включая IPv6; домен и путь
необязательны. Пример: `192.168.0.10` или `192.168.0.10 | example.org | /health`.
Для сетевых потоков применяются только правила без домена/пути, к IP инициатора.
При первом обновлении добавляется правило `192.168.0.10`; его можно изменить
или полностью удалить. Сам фильтр по умолчанию выключен.
**Скрыть мониторинг** на карте и `/network` исключает совпадения из отображения
и соответствующей статистики. Настройка переключателя сохраняется в браузере.
HTTP-проверки остаются в истории и возвращаются при выключении фильтра;
новые правила сразу применяются и к старым записям. Срабатывания и решения
CrowdSec, а также общие счётчики firewall, никогда не скрываются этим фильтром.
Сетевые потоки по-прежнему хранятся только последним снимком, без истории.