Назад | Перейти на главную страницу

Rsyslog не создает файлы журналов в CentOS7

У меня есть следующий файл конфигурации в "/etc/rsyslog.d/10-my.conf"

# This file is managed by Puppet, changes may be overwritten
if $programname == 'hello' then -/var/log/test/test.log
& ~

На CentOS6.5 (rsyslog 5.8.10 ) это создает пустой файл в /var/log/test/test.log Тот же файл конфигурации в CentOS7 (rsyslog 7.4.7) не создает пустой файл.
Кто-нибудь может сказать, почему это так? Изменилось ли это поведение в версии 7.4? Или это что-то в моем экземпляре CentOS7?
rsyslogd -f / etc / rsyslog.d / 10-my.conf -N3
В CentOS6 и CentOS7 выдает массу предупреждений, но ничего серьезного.
CentOS7 SELinux установлен в разрешающий режим
CentOS 7 (/etc/rsyslog.conf)

# file is managed by puppet
#################
#### MODULES ####
#################

$ModLoad imuxsock # provides support for local system logging
$ModLoad imjournal # provides access to the systemd journal   

###########################
#### GLOBAL DIRECTIVES ####
###########################
$MaxMessageSize 2k

#
# Set the default permissions for all log files.
#
$FileOwner root
$FileGroup root
$FileCreateMode 0600
$DirOwner root
$DirGroup root
$DirCreateMode 0750
$PrivDropToUser root
$PrivDropToGroup root
$WorkDirectory /var/lib/rsyslog
$Umask 0000

# Turn off message reception via local log socket;
# local messages are retrieved through imjournal now.
$OmitLocalLogging on

$IncludeConfig /etc/rsyslog.d/*.conf

#
# Emergencies are sent to everybody logged in.
#
*.emerg :omusrmsg:*

Как и ожидалось, оказалось, что поведение по умолчанию изменилось в 7.4, и он больше не создает пустой файл, однако работает нормально (например, создать файл test.log), если вы протестируете его с помощью следующей команды:

logger -t hello "Test"

Версия 5.8 действительно создает пустой файл, но все равно работает нормально, если этот файл (/var/log/test/test.log) был удален.