rsyslog: централизованный сбор логов
Для передачи логов с одной машинки на иную нам потребуется 2 энергичных установки rsyslog: server и client. Впрочем, Поставим их по мануалу: Замена rsyslog (sysklogd) на syslog в CentOS 5
Тут грубо говоря ничего трудоемкого – нам нужно будет настроить отправку весомых логов по tcp на удаленную машинку, пускай данное станет log.domain.ru (ага, я не опасаюсь многократного резолвера).
Открываем конфиг:
Стандартный конфиг смотрится так:
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
# Log anything (except mail) of level info or higher.
# Don’t log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages
# The authpriv file has restricted access.
authpriv.* /var/log/secure
# Log all the mail messages in one place.
mail.* -/var/log/maillog
cron.* /var/log/cron
*.emerg *
# Save news errors of level crit and higher in a special file.
uucp,news.crit /var/log/spooler
local7.* /var/log/boot.log
Вариант с отсылкой всех логов в отсутствии сбережения локально станет смотреться так (несложное копирование):
*.info;mail.none;authpriv.none;cron.none @@xx.xx.xx.xx:514
А для сбережения локально и отсылки на удаленный сервер он станет смотреться так:
*.info;mail.none;authpriv.none;cron.none /var/log/messages
*.info;mail.none;authpriv.none;cron.none @@xx.xx.xx.xx:514
Перезапускаем rsyslog:
А на сервере можнож сменить слушающий rsyslog командой nc:
Теперь для теста попробуем выслать известие, которое обыкновенно обязано свалиться в /var/log/messages:
Открываем конфиг (данная и дальнейшие операции производятся на сервере):
Разрешаем rsyslog у слушать удаленные машинки:
И строчку:
Заменяем на:
Добавляем в самый верх последующее:
Перезапускаем rsyslog:
Теперь раскрываем просмотр лога для контролирования, что tcp подчиняется (tcpReception=»Yes») и надежды логов с заказчик машинки:
x-pid=»32126″ x-info=»http://www.rsyslog.com»][x-configInfo udpReception="No" udpPort="514" tcpReception="Yes" tcpPort="514"] restart
А тем временем на заказчик автомашине вызываем старинную команду:
И в ответ на сервере обязаны узреть последующее:
Dec 22 06:08:09 clienthostname root: test remote message suxx
Ну и все, осталось выяснить, как все это себя станет вести под перегрузкой =)