среда, 8 октября 2014 г.

Поднимаем syslog сервер

Может быть потребность в централизованном сборе и хранении логов, и syslog штатно умеет слать логи на удалённый сервер. Также это может быть сетевое оборудование, IP телефоны итд. На примере debian 6


Чтобы включить для syslog, в опции надо добавить 2 аргумента:
-r enables logging from remote machines
-x disables DNS lookups on messages recieved with -r

С rsyslog проще, в /etc/rsyslog.conf ищем строки
# provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514

# provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514

раскомментируем нужный протокол, можно оба (tcp, udp), перезапускаем сервис, и ловим сообщения, типа такого
Oct  8 12:22:11 192.168.10.65 GS_LOG: [00:0B:00:00:00:0F][000][9620000803B][01020503] Received SIP message: parse error

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

Можно дополнительно убедиться, что слушаем:
# netstat -tulpn|grep rsyslog
tcp        0      0 0.0.0.0:514             0.0.0.0:*               LISTEN      485265/rsyslogd 
tcp6       0      0 :::514                  :::*                    LISTEN      485265/rsyslogd 
udp        0      0 0.0.0.0:514             0.0.0.0:*                           485265/rsyslogd 
udp6       0      0 :::514                  :::*                                485265/rsyslogd 

На клиентах в конфиги надо вписать
*.* @@YOUR-RSYSLOG-SERVER-ADDRESS-HERE

Если на линукс-клиенте уже настроен syslog на наш сервер, можно также отправить тестовые записи через logger
logger -p ftp.info 'test remote message'

Линки
http://www.howtoforge.com/centralized-rsyslog-server-monitoring - запись логов в mysql базу
http://www.stableit.ru/2009/12/rsyslog.html - вместо rsyslog читать syslog, тогда в целом верно будет
http://habrahabr.ru/post/136537/

2 комментария:

  1. 1) это всё не про syslog, а про rsyslog
    2) в уже разжеванном виде: http://habrahabr.ru/post/136537/

    ОтветитьУдалить
    Ответы
    1. 1) https://ru.wikipedia.org/wiki/Syslog
      Syslog (англ. system log — системный журнал) — стандарт отправки и регистрации сообщений о происходящих в системе событиях (то есть создания логов), использующийся в компьютерных сетях, работающих по протоколу IP.
      Демон обычно назвают syslogD, именно чтобы не было путаницы. По линку на хабр - тоже описан rsyslog, а в теме syslog
      2) линк добавлю

      Удалить