Собираем логи с сетевых устройств на сервер с помощью Syslog
Достался мне замечательный девайс Zyxel GF-4012F. Замечателен он в том числе и тем, что логи свои хочет сбрасывать исключительно на syslog-сервер и никак иначе. Решение само по себе спорное, но делать нечего, надо настраивать. Благо, собственно syslog-серверов есть в количестве, любая freebsd машина — это уже потенциальный syslog-сервер, сервис на нем по умолчанию поднят, надо лишь его настроить.
Настройка в свою очередь затейливостью не отличается, добавляем в файл /etc/syslog.conf строчку
local7.* /var/log/zyxel.log
Потом объясняем syslog-серверу, откуда принимать данные, для этого в файл /etc/rc.conf добавляем:
syslogd_enable="YES"
syslogd_flags="-a 10.10.200.0/24:*"
Соответственно, 10.10.200.0/24 -наша сеть, в которой живут устройства, например, свичи, с которых принимаем логи.
После этого
$ sudo touch /var/log/zyxel.log
и
$ sudo /etc/rc.d/syslogd restart
После этого надо настроить соответствующим образом устройство. Настройка сводится к включению протокола syslog, указания ip-адреса syslog-сервера, контекста, в который пишем лог (у нас — local7, всего их 8 — от local0 до local7). Если устройство кроме этого хочет знать порт, на котором находится сервис, то по умолчанию syslogd слушает на tcp/udp порту 514.
Все, читаем логи.