Linux. Rsyslog. Централизованная сборка логов.

1. Установим rsyslog и настроим его на прием логов.

Установка:

apt-get install rsyslog

в файле /etc/rsyslog.conf раскомментируем/добавляем строчки:

# provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
 
# provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
 
#Devices
$template RemoteHost,"/var/log/devices/%HOSTNAME%/%HOSTNAME%.log"
*.*     ?RemoteHost

и перезапустим rsyslog

service rsyslog restart

все готово для приема логов.

2. Настройка отправки логов с linux серверов на централизованный сервер сборки логов.

Установка:

apt-get install rsyslog

в файл /etc/rsyslog.conf добавляем строчки

#Log All To Logserver
*.*     @10.10.10.10
*.*     @@10.10.10.10

и перезапустим rsyslog

service rsyslog restart

пересылка логов началась на 10.10.10.10 🙂

3. Настройка отправки логов с коммутаторов и маршрутизаторов CISCO.

Задаем имя сервера на который нужно пересылать логи. В глобальной конфигурации пишем следующее:

logging 10.10.10.10

пересылка логов началась на 10.10.10.10

3. Настройка отправки логов с серверов Windows.

Пересылка логов осуществляется с помощью утилиты Evtsys — Eventlog to Syslog Utility.
Ищем. Качаем. Перемещаем файлы evtsys.dll и evtsys.exe в %SystemRoot%\System32 (для Windows 2008 R2 путь будет %WinDir%\sysWOW64). Запустив консоль с правами администратора , переходим в каталог %SystemRoot%\System32 ( %WinDir%\sysWOW64) и набираем команду:

evtsys -i -h 10.10.10.10

Эта команда создает службу, которая будет отсылать лог-сообщения на syslog сервер.
Запускаем в консоли с правами администратора команду:

net start evtsys

для Windows Server 2008 R2
Заходим в реестр и меняем указанные ветки для параметра ImagePath:
Имя раздела: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\EvtSys;
Имя раздела: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\services\EvtSys;
Параметр: ImagePath
Тип: REG_EXPAND_SZ
Значение: %windir%\sysWOW64\evtsys.exe

Более подробно:
http://itexpertus.ru/windows/forward-event-windows-syslog.html

4. Настройка logrotate
Добавляем в файл /etc/logrotate.conf строчки:

/var/log/devices/*/*.log {
        size 1024M
        missingok
        rotate 300
        compress
        delaycompress
        notifempty
}

Добавляем задание в cron:

00 1     * * *  root    logrotate /etc/logrotate.conf

Поздравляю, централизованный сборщик логов настроен!