Support Alpine OpenRC agents and discover Docker NPMplus and CrowdSec
This commit is contained in:
45
README.md
45
README.md
@@ -586,3 +586,48 @@ HTTP-проверки остаются в истории и возвращают
|
||||
новые правила сразу применяются и к старым записям. Срабатывания и решения
|
||||
CrowdSec, а также общие счётчики firewall, никогда не скрываются этим фильтром.
|
||||
Сетевые потоки по-прежнему хранятся только последним снимком, без истории.
|
||||
|
||||
## Alpine LXC и Docker NPM/NPM+ (v0.23.0)
|
||||
|
||||
Установщик агента поддерживает Linux **x86_64/amd64** с systemd или OpenRC
|
||||
(Alpine LXC). Для Alpine команда из настроек сначала устанавливает curl и
|
||||
CA-сертификаты, если curl отсутствует. Бинарник статический, без glibc;
|
||||
скачивание проверяется по SHA-256. OpenRC-служба включается в default runlevel
|
||||
и использует supervise-daemon: перезапускает агент после ошибки и обновления.
|
||||
Команды: `rc-service proxmox-dashboard-agent status/restart` (выберите одно
|
||||
действие). Журнал: `/var/log/proxmox-dashboard-agent.log`; его ротацию настройте
|
||||
средствами ОС. Удаление — штатным `scripts/uninstall-agent.sh`.
|
||||
|
||||
Обновление пакетов ОС и управление systemd-службами из интерфейса остаются
|
||||
функциями Debian/Ubuntu/systemd; этот релиз добавляет установку и работу агента
|
||||
на OpenRC, а не эмуляцию systemd. Включённый сетевой сбор на Alpine ставит
|
||||
`conntrack-tools` через `apk add --no-cache`. Ограничения CAP_NET_ADMIN и
|
||||
сетевого namespace LXC сохраняются; никаких изменений конфигурации Proxmox,
|
||||
privileged/nesting, firewall или sysctl агент не делает.
|
||||
|
||||
После выбора агента Docker-хоста и включения карты трафика агент автоматически:
|
||||
|
||||
- проверяет стандартные каталоги NPM и NPM+;
|
||||
- находит запущенные контейнеры с nginx-proxy-manager/npmplus в имени образа
|
||||
и определяет каталоги логов по mounts `/data`, включая именованные volumes
|
||||
и вложенные bind mounts;
|
||||
- читает обычный формат NPM и формат NPM+ `access.log`, включая ротацию;
|
||||
- находит единственный контейнер образа `crowdsecurity/crowdsec` и выполняет
|
||||
только `cscli alerts list` через локальный Docker socket. Docker CLI, новый
|
||||
bouncer key и опубликованный LAPI не нужны. Если контейнера нет, используется
|
||||
прежний локальный `cscli`.
|
||||
|
||||
Поиск повторяется раз в минуту, поэтому пересоздание контейнеров подхватывается
|
||||
автоматически. При нескольких CrowdSec задайте точный контейнер вручную:
|
||||
`DASHBOARD_CROWDSEC_CONTAINER=имя` в `/etc/proxmox-dashboard-agent.env` и
|
||||
перезапустите агент. Каталог логов можно переопределить переменной
|
||||
`DASHBOARD_NPM_LOG_DIR=/путь/к/логам`; `off` выключает сбор трафика этого агента.
|
||||
Используется локальный `/var/run/docker.sock`; rootless/удалённые Docker engines
|
||||
и логи только в stdout этим обнаружением не поддерживаются.
|
||||
|
||||
NPM+ должен действительно писать access-логи: включите `LOGROTATE=true` в его
|
||||
Compose и пересоздайте контейнер, если логирование выключено. Агент показывает
|
||||
подсказку при отсутствии логов, но не меняет Compose приложений. Это настройка
|
||||
[NPM+](https://github.com/ZoeyVid/NPMplus/blob/develop/README.md), а не Dashboard.
|
||||
Stream-логи NPM+ не считаются HTTP-запросами; сетевые потоки собираются conntrack.
|
||||
Как и раньше, первый запуск чтения начинается с конца существующих логов.
|
||||
|
||||
Reference in New Issue
Block a user