/
rsyslog.txt
106 lines (69 loc) · 3.35 KB
/
rsyslog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
=======
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