Установка и настройка Syslog-ng на сервере получателе логов.

 

Ubuntu:

 

- Выполняем установку:

# sudo apt-get install syslog-ng-core

# sudo apt-get install syslog-ng

 

Centos:

 

- Выполняем установку:

# yum install epel-release

# yum repolist

# sudo yum list *syslog-ng*

# sudo yum install syslog-ng syslog-ng-libdbi

 

- Отключаем rsyslog:

# sudo systemctl stop rsyslog

# sudo systemctl disable rsyslog

 

Основной конфигурационный файл находится в /etc/syslog-ng/syslog-ng.conf, но мы создадим свой конфиг в директории /etc/syslog-ng/conf.d/ с любым названием и наполним его по образцу:

 

##################################

source s_udp {

udp(port(514));

};

##################################

 

##################################

destination d_CISCO_GW {

file("/var/log/cisco_gw.log");

};

##################################

 

##################################

filter f_CISCO_GW {

host("192.168.5.254");

};

##################################

 

##################################

log {

source(s_udp);

filter(f_CISCO_GW);

destination(d_CISCO_GW);

};

##################################



  • "source s_udp" - указываем, какой протокол и порт слушать syslog серверу. По стандарту используем UDP и порт 514. Указывается единожды в файле. Если у вас несколько конфигурационных файлов, то данное поле указывается только в одном.
  • "destination d_CISCO_GW" - указываем в какой каталог складывать логи
  • "filter f_CISCO_GW" - делаем фильтр логов по IP адресу хоста
  • log - отвечает за сборку всех параметров, т.е. какой фильтр брать и куда записать логи.

 

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

# systemctl restart syslog-ng

 

- проверяем работу командами:

# netstat -l | grep syslog

# cat /etc/services | grep syslog

 

- Настраиваем ротацию логов с помощью скрипта /etc/logrotate.d/cisco_gw и содержимого:

 

/var/log/cisco_gw.log {

      su root adm

      daily

      rotate 5

      compress

      missingok

      postrotate

              if /etc/init.d/syslog-ng status > /dev/null ; then \

                  /etc/init.d/syslog-ng reload > /dev/null; \

              fi;

      endscript

}

 

- Скрипт добавляем в крон:

# crontab -e

0 0 * * * sudo logrotate -f /etc/logrotate.d/cisco_gw

 

++++++++++++++++++++++++++++++++++++++++++++++-

 

Сервер отправитель логов может настраиваться аналогично netconsole (http://8.tw1.ru/index.php/po/20-netconsole)

или другим способом.



Материалы:

https://voipnotes.ru/syslog-server-syslog-ng/