Модуль 4: Observability & Security

Шаг 3: Централизация логов через Syslog-ng, Docker CLI и Zabbix Agent

1. Интерактивная диагностика и управление контейнерами через Docker CLI

Прежде чем переходить к сбору логов, разберем основные команды CLI для анализа состояния контейнеров и работы с текстовыми логами напрямую в консоли Linux.

# Просмотр последних 10 строк логов контейнера с отслеживанием в реальном времени
docker logs --tail 10 -f zabbix-server

# Просмотр запущенных процессов внутри конкретного контейнера
docker top zabbix-server

# Интерактивный вход в консоль контейнера (для дистрибутивов на базе Alpine / Debian)
docker exec -it zabbix-server sh

2. Вариант 1: Сбор логов Syslog через изолированный контейнер Syslog-ng

Для сбора текстовых логов с сетевого оборудования (включая MikroTik) удобно развернуть отдельный лёгкий сервер **syslog-ng**, который будет принимать UDP-трафик и сохранять его в файлы на VPS.

Шаг 2.1. Запуск контейнера syslog-ng

docker run -d \
  --name syslog-ng \
  -p 514:514/udp \
  -v /var/log/mikrotik:/var/log/remote \
  --restart always \
  balabit/syslog-ng:latest

Шаг 2.2. Настройка отправки логов в WinBox / RouterOS

Подключитесь к MikroTik и настройте отправку системных событий на IP-адрес вашего Linux-сервера (порт 514 UDP):

/system logging action add name=syslog-server remote=192.168.88.10 remote-port=514 target=remote
/system logging add action=syslog-server topics=info,warning,error,account

3. Вариант 2: Передача лог-файлов в Zabbix через Zabbix Agent (Active)

Если логи сохраняются в текстовый файл на диске сервера, их можно считывать и анализировать в реальном времени с помощью **Zabbix Agent**.

Шаг 3.1. Установка агента на хост-систему

sudo apt update && sudo apt install -y zabbix-agent

Шаг 3.2. Настройка прав доступа к файлам логов

Убедитесь, что пользователь zabbix имеет права на чтение файлов в директории логов:

sudo chown -R root:zabbix /var/log/mikrotik
sudo chmod 640 /var/log/mikrotik/*.log

Шаг 3.3. Конфигурация /etc/zabbix/zabbix_agentd.conf

Для мониторинга лог-файлов агент должен работать в **активном режиме** (Active Checks):

ServerActive=127.0.0.1:10051
Hostname=VPS-Main-Server

Перезапустите службу агента: sudo systemctl restart zabbix-agent

Шаг 3.4. Создание Item в веб-панели Zabbix

Параметры элемента данных (Item):
Type: Zabbix agent (active)
Key: log[/var/log/mikrotik/messages.log,"error|warning",UTF-8,100]
Type of information: Log