UMGUM.COM (лучше) 

Syslog-NG ( Syslog Next Generation. )

23 марта 2010  (обновлено 31 января 2015)

OS: Debian Lenny.

Задача: установка и настройка сервера сбора сообщений системы журнала событий транслируемых ему активными сетевыми устройствами по сети.

Наш сервер будут работать на Debian Stable или FreeBSD 7.
Применим сервер "Syslog Next Generation" (syslog-ng). Это проект, дополняющий обычный syslog новым функционалом.

размер: 320 400 640 800 1024 1280
Продвинутый сервер системных журналов Unix-like ОС - Syslog-NG.
Продвинутый сервер системных журналов Unix-like ОС - Syslog-NG.

Примем за данность то, что:

"подсеть", в которой мы будем экспериментировать - 10.10/16;
"подсеть", которую мы, наряду с вышеуказанной, будем поддерживать - 192.168/16;
IP адрес нашего сервера - 10.10.2.21/24;
доменное имя нашего сервера - log.local.

Служба syslog-ng будет слушать порт udp:514.Обеспечиваем видимость нашего сервера только со стороны локальных сетей по соответствующему порту.

В Debian Lenny уже используется не обычный syslog, а rsyslog - enhanced multi-threaded syslogd. Может быть нам и не было нужды его удалять и устанавливать syslog-ng, вполне возможно, что rsyslog обладает всей нужной нам функциональностью. Но, нам нужна унификация в пределах нескольких операционных систем и преемственность.

Инсталлируем syslog-ng для Debian.

# aptitude install syslog-ng
# cd /etc/syslog-ng
# cp ./syslog-ng.conf ./syslog-ng.conf.dist

Конфигурационный файл имеет имя "/etc/syslog-ng/syslog-ng.conf", мы сохранили его исходный вариант для спасения ситуации в случае тотального краха в процессе конфигурирования.


Инсталлируем syslog-ng для FreeBSD 7 путём получения исходных кодов, компилирования, создания конфигурационного файла, разрешения запуска syslog-ng, запрета запуска syslog, остановки syslog и запуска syslog-ng;

# cd /usr/ports/sysutils/syslog-ng
# make install clean
# cd /usr/local/etc/syslog-ng
# cp ./syslog-ng.conf.sample ./syslog-ng.conf
# echo syslog_ng_enable="YES" >> /etc/rc.conf
# echo syslogd_enable="NO" >> /etc/rc.conf
# kill `cat /var/run/syslog.pid`
# /usr/local/etc/rc.d/syslog-ng.sh start

Прежде чем приступить к настройке конфигурационных файлов припомним себе то, что система журналирования будет обслуживать не только то, для чего мы её пере установили, а ещё и ряд других, очень важных функций операционной системы и прикладных программ. Потому вмешательство в конфигурационные файлы должно быть минимальным и носить только дополняющий а не удаляющий или излишне кардинальный корректирующий характер.
Нужно иметь в виду ещё и то, что правила в конфигурационном файле syslog-ng отрабатываются последовательно (во всяком случае я так думаю) и мы будем добавлять свои только после уже имеющихся, чтобы не перехватить ненароком чужие вызовы (иначе говоря - будем довольствоваться объедками всех других пред нами стоящих фильтрующих правил).

Создаем специальную директорию, что будет корнем для хранилища логов полученных от сетевых устройств:

# mkdir /var/log/net

Конфигурируем syslog-ng для приёма данных от активных сетевых устройств путём правки файла syslog-ng.conf.

Ключевые параметры блока глобальных настроек "options" (эти параметры не все, а лишь необходимые для нашей конфигурации):

options {
  sync(0);
  use_dns(no);
  create_dirs(yes);
};

Определяем источник поступающих данных:

source snet { udp(ip(0.0.0.0) port(514)); };

Определяем фильтр, который будет отбирать из входящих обращений узлы из наших подсетей:

filter fnet0 { host("192.168.*.*"); };
filter fnet1 { host("10.10.*.*"); };

Определяем месторасположение логов:

destination dnet { file("/var/log/net/$HOST/$YEAR/$MONTH/log"); };
Определяем комбинацию вышеописанных компонентов для запуска логирования:

log { source(snet); filter(fnet0); destination(dnet); };
log { source(snet); filter(fnet1); destination(dnet); };

Перезапускаем syslog-ng:

Debian 5:

# /etc/init.d/syslog-ng restart

FreeBSD 7:

# /usr/local/etc/rc.d/syslog restart


Заметки и комментарии к публикации:


Оставьте свой комментарий ( выразите мнение относительно публикации, поделитесь дополнительными сведениями или укажите на ошибку )