rsyslog записывает журналы с брандмауэра в / var / log / message и в определенный файл - PullRequest
0 голосов
/ 14 марта 2019

Я настроил свой брандмауэр для отправки его журналов на сервер через порт 601.

Я настроил файл rsyslog.cong на моем сервере следующим образом:

$ModLoad imtcp
$InputTCPServerRun 601

$template DailyPerHostLogs,"/var/log/stormshield/%HOSTNAME%/%$YEAR%-%$MONTH%-%$DAY%.log"
    *.* -?DailyPerHostLogs


module(load="imuxsock"    # provides support for local system logging (e.g. via logger command)
       SysSock.Use="off") # Turn off message reception via local log socket; 
              # local messages are retrieved through imjournal now.
module(load="imjournal"         # provides access to the systemd journal
       StateFile="imjournal.state") # File to store the position in the journal


#### GLOBAL DIRECTIVES ####

# Where to place auxiliary files
global(workDirectory="/var/lib/rsyslog")

# Use default timestamp format
module(load="builtin:omfile" Template="RSYSLOG_TraditionalFileFormat")

# Include all config files in /etc/rsyslog.d/
$IncludeConfig /etc/rsyslog.d/*.conf

#### RULES ####

# 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


# Log cron stuff
cron.*                                                  /var/log/cron

# Everybody gets emergency messages
*.emerg                                                 :omusrmsg:*

# Save news errors of level crit and higher in a special file.
uucp,news.crit                                          /var/log/spooler

# Save boot messages also to boot.log
local7.*                                                /var/log/boot.log

с такой конфигурациейфайл, журналы записываются в / var / log / messages и /var/log/stormshield/SN287F81K1870D9/2019-03-14.log.

Если я напишу следующее:

if $fromhost-ip == '10.0.20.254' then {
    $template DailyPerHostLogs,"/var/log/stormshield/%HOSTNAME%/%$YEAR%-%$MONTH%-%$DAY%.log"
    *.* -?DailyPerHostLogs
}

ничего не написано.

Если я добавлю & ~ как я видел здесь (https://www.rsyslog.com/storing-messages-from-a-remote-system-into-a-specific-file/)

$template DailyPerHostLogs,"/var/log/stormshield/%HOSTNAME%/%$YEAR%-%$MONTH%-%$DAY%.log"
*.* -?DailyPerHostLogs
& ~

Служба rsyslog не запускается.

error during parsing file /etc/rsyslog.conf, on or before line 114: STOP is followed by unreachable statements!  [v8.39.0 try http://www.rsyslog.com/e/2207 ]

Итак, как мне настроить rsyslog для вывода журналов из моего брандмауэра только в этом файле /var/log/stormshield/SN287F81K1870D9/2019-03-14.log?

...