rsyslog¶
Modern syslog configuration - https://selivan.github.io/2017/02/07/rsyslog-log-forward-save-filename-handle-multi-line-failover.html
Rules path:
/etc/rsyslog.d/*.conf # num-<name>.conf (num < 50-default.conf)
Config path:
/etc/rsyslog.conf
ON receive logs from UDP /etc/rsyslog.conf
:
# uncomment next lines
# provides UDP syslog reception
module(load="imudp")
input(type="imudp" port="514")
sudo service rsyslog restart
Configuration¶
File create mode (rights):
$umask 0000
*.* /var/log/file-with-0644-default
$FileCreateMode 0600
*.* /var/log/file-with-0600
$FileCreateMode 0644
*.* /var/log/file-with-0644
Remote_syslog¶
Read txt files and send logs to syslog remote server - https://github.com/papertrail/remote_syslog2
Rotate received logs to files¶
- http://www.rsyslog.com/doc/v8-stable/configuration/filters.html
- http://www.k-max.name/linux/rsyslog-na-debian-nastrojka-servera/
/etc/rsyslog.d/*.conf
:
:syslogtag, contains, "<tag>" /var/log/<log_name>.log # tag contains
:syslogtag, isequal, "<tag>" /var/log/<log_name>.log # tag equal
:msg, contains, "<msg>" /var/log/<log_name>.log # msg contains
:msg, isequal, "<msg>" /var/log/<log_name>.log # msg equal
#########
# example
$template myFormat,"%timegenerated:::date-hour%:%timegenerated:::date-minute% %fromhost-ip% %msg%\n"
$template logName,"/var/log/my_logs/%syslogtag%.log"
:hostname, contains, "msgLoud" ?logName; myFormat
& stop # don't save logs also in /var/log/syslog
#########
# time values
%timegenerated:::date-year%
%timegenerated:::date-month%
%timegenerated:::date-day%
%timegenerated:::date-hour%
%timegenerated:::date-minute%
%timegenerated:::date-second%
# properties
:hostname - имя хоста\ip из сообщения
:fromhost - имя хоста, от которого пришло сообщение
:fromhost-ip - адрес хоста, от которого пришло сообщения (127.0.0.1 для локальных сообщений)
:syslogtag - имя и номер процесса (" rsyslogd[12125]:"), который выдал сообщение (извлекается из сообщения)
:programname - имя процесса, который выдал сообщение (извлекается из сообщения)
:pri - источник и приоритет, в виде числа
:pri-text - декодированные источник и приоритет (facility.priority, например syslog.emer)
:syslogfacility - только источник в виде числа
:syslogfacility-text - только декодированный источник ("local0")
:syslogseverity - только приоритет в виде числа
:syslogseverity-text - только декодированный уровень ("debug")
:timegenerated - время получения (с высоким разрешением)
:timereported - время, извлечённое из сообщения
:inputname - имя входного модуля
$hour, $minute - текущее время
$myhostname - имя хоста обработки
sudo service rsyslog restart