Реализуем возможность сбора и хранения логов с интернет-центра ZyXEL Keenetic Lite. Поскольку просмотр логов точки доступа через Web-интерфейс не отличается удобством, то на сервере или рабочей станции поднимем syslog-ng. Все дальнейшие действия будут проводить на системе Ubuntu 12.04 Desktop. И так есть:

 

Исходная система:

ekzorchik@polygon:~$ uname -a && lsb_release -a

Linux polygon 3.2.0-38-generic #61-Ubuntu SMP Tue Feb 19 12:18:21 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

No LSB modules are available.

Distributor ID: Ubuntu

Description: Ubuntu 12.04.2 LTS

Release: 12.04

Codename: precise

Для справки:

  • Локальная сеть 192.168.1.0/24
  • Моя рабочая станция под управлением Ubuntu 12.04 Desktop amd64, имеющий адрес 192.168.1.6
  • Интернет центр ZyXEL Keenetic Lite которому присвоен IP-адрес 192.168.1.1

Произведем установку syslog-ng из репозитариев Ubuntu 12.04 Desktop:

ekzorchik@polygon:~$ sudo apt-get install syslog-ng
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Будут установлены следующие дополнительные пакеты:
libdbi1 libevtlog0 libmongo-client0 libnet1 libsyslog-ng-3.3.4
syslog-ng-core syslog-ng-mod-json syslog-ng-mod-mongodb syslog-ng-mod-sql
Предлагаемые пакеты:
mongodb-server libdbd-mysql libdbd-pgsql libdbd-sqlite3


Пакеты, которые будут УДАЛЕНЫ:
rsyslog ubuntu-minimal
НОВЫЕ пакеты, которые будут установлены:
libdbi1 libevtlog0 libmongo-client0 libnet1 libsyslog-ng-3.3.4 syslog-ng
syslog-ng-core syslog-ng-mod-json syslog-ng-mod-mongodb syslog-ng-mod-sql
обновлено 0, установлено 10 новых пакетов, для удаления отмечено 2 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 470 kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 1 082 kB.
Хотите продолжить [Д/н]? y

Создадим резервную копию конфигурационного файла который будем править: ekzorchik@polygon:~$ sudo cp /etc/syslog-ng/syslog-ng.conf /etc/syslog-ng/syslog-ng.conf.backup

ekzorchik@polygon:~$ sudo touch /var/log/zyxel_internet.log

После этого займемся редактированием и добавляем туда следующие строки:

ekzorchik@polygon:~$ sudo nano /etc/syslog-ng/syslog-ng.conf

очищаем конфигурационный файл и приводим к виду указанному ниже

@version: 3.3

#далее следует:

# настраиваем новый источник – сеть.
# теперь syslog-ng будет слушать 514-й udp-порт.
source s_udp {
udp();
};

# определяем новое хранилище логов с именем df_zyxel.
# всё что будет направляться в это хранилище будет
# складываться в файл /var/log/zyxel_internet.log.
destination df_zyxel {
file(“/var/log/zyxel_internet.log”);
};
# определяем новый фильтр. фильтровать будем по адресу клиента.
# здесь нужно указать ip-адрес интернет-центра
filter f_zyxel {
host(“192.168.1.1”);
};

# настраиваем логирование информации с источника s_udp,
# попадающей под правила фильтра f_zyxel, в хранилище df_zyxel
log {
source(s_udp);
filter(f_zyxel);
destination(df_zyxel);
};

После этого нужно перезапустить syslog-ng:

ekzorchik@polygon:~$ sudo invoke-rc.d syslog-ng restart
* Stopping system logging syslog-ng                                     [ OK ]
* Starting system logging syslog-ng                                     [ OK ]
ekzorchik@polygon:~$
ekzorchik@polygon:~$ sudo netstat -anp | grep syslog-ng
udp        0      0 0.0.0.0:514             0.0.0.0:*                           2840/syslog-ng

Далее заходим в веб-интерфейс интернет-центра ZyXEL Keenetic Lite и идём в меню “Система” -> “Журнал

указываем, что теперь журнал направлять на удалённый syslog сервер и прописываем IP адрес этого сервера на котором настроена служба syslog.

По окончании нажимаем кнопку: Применить.

Указываем, что теперь журнал направлять на удалённый syslog сервер

Для принятия изменений нужно перезагрузить интернет-центр (если не перезагрузился исходя из изменённых выше настроек), для этого переходим на интерфейс администрирования по адресу http://192.168.1.1, далее «Система» – и нажимаем «Перезапустить устройство». Наблюдаем, см. скриншот ниже для наглядного понимания всего процесса.

Перезагружаем медиа центр

Теперь вся информация, которую раньше вы смотрели через веб-интерфейс посредством меню “Система” -> “Журнал“- можно наблюдать и на рабочей станции в файле /var/log/zyxel_internet.log.

Смотрим в реальном времени, что пишется в лог:

ekzorchik@polygon:~$ sudo tail -f /var/log/zyxel_internet.log

Mar 11 17:24:42 192.168.1.1 kernel: klogd started: BusyBox v1.8.2 (2011-11-02 16:47:12 MSK)

Mar 11 17:24:42 192.168.1.1 superd[677]: process ‘.klogd.8f9′[2297] exited with code 0

Mar 11 17:36:36 192.168.1.1 udhcpc[2264]: Lease of <внешний_ip_адрес> obtained, lease time 5400

Но у данного оборудования ZyXEL Keenetic, как я правильно понял отсутствует детальное логирование происходящего такое как:

  • попытки неавторизированного доступа,

  • проблемы с сетевым соединение

  • Блокировка нежелательного трафика и много другое.

А только сообщения об ошибках системы при диагностике неполадок. В моей прошлой заметке посвященной пересылке сообщений с Prestige Zyxel 660HW-T1 на систему Ubuntu 10.10 пересылаемые события были более информативными.

Исходя из этого можно по такому же принципу организовать пересылку всех логов с интернет-центра ZyXEL на сервер на котором осуществляется централизованное хранение логов работы, как сетевого оборудования так и различных операционных систем.

На текущий момент размер лога:

ekzorchik@polygon:~$ dir -hl /var/log/zyxel_internet.log

-rw-r—– 1 root adm 270 (байт) марта 11 17:36 /var/log/zyxel_internet.log

Этот лог занимает не так уж и много места, но всё-таки полезно произвести ротацию. Для того достаточно создать файл ekzorchik@polygon:~$ sudo touch /etc/logrotate.d/zyxel следующего содержания:

ekzorchik@polygon:~$ sudo nano /etc/logrotate.d/zyxel — приведем к виду ниже:

/var/log/zyxel_internet.log {
        weekly
        rotate 5
        compress
        missingok
}

Теперь раз в неделю лог будет ротироваться и будут сохраняться последние пять ротированых логов.

Приятной работы! С уважением, ekzorchik!!!

От ekzorchik

Всем хорошего дня, меня зовут Александр. Я под ником - ekzorchik, являюсь автором всех написанных, разобранных заметок. Большинство вещей с которыми мне приходиться разбираться, как на работе, так и дома выложены на моем блоге в виде пошаговых инструкции. По сути блог - это шпаргалка онлайн. Каждая новая работа где мне случалось работать вносила новые знания и нюансы работы и соответственно я расписываю как сделать/решить ту или иную задачу. Это очень помогает. Когда сам разбираешь задачу, стараешься ее приподнести в виде структурированной заметки чтобы было все наглядно и просто, то процесс усвоения идет в гору. Также прошу на https://win.ekzorchik.ru https://lin.ekzorchik.ru https://net.ekzorchik.ru https://voip.ekzorchik.ru https;//home.ekzorchik.ru

4 комментария для “Настройка syslog-ng для сбора логов интернет-центра ZyXEL Keenetic Lite”
  1. В первые вижу настолько подробные заметки, автору респект. По больше бы таких блогов посвященных заметкам.
    Удачи!!!

  2. Уважаю вас за труд который вы делаете, и мне тоже надо заняться чем-то подобным – документировать свои записи хоть это и нелегко. Но глядя на Вас я буду равняться.
    Спасибо.

  3. Спасибо, автор, настроил свой dir-300nru, rev. B7! Актуальная информация(у меня mint rebecca).
    Советую закомментировать “далее следует” или поставить над @version (я кстати проделал тоже самое с ver 3.5, что вполне логично):

    “очищаем конфигурационный файл и приводим к виду указанному ниже

    @version: 3.3

    далее следует:

    # настраиваем новый источник — сеть.”

    1. Добрый день!

      Пожалуйста, да действительно лучше за комментировать чтобы не ошибались.

Обсуждение закрыто.