LINUX.ORG.RU
ФорумAdmin

rsyslog после перезапуска заваливает /var/log/syslog старыми записями

 , ,


0

1

Доброго дня комрады.

Есть некоторое непонимание происходящего. Использую rsyslog для записи журналов в файлы. Так вот это самый rsyslog после перезапуска сервиса пишет в файл /var/log/syslog ВСЁ что есть в журналах systemd-journald. Абсолютно всё что есть с самого начала регистрации до текущего времени. Как научить это существо писать в файл только новые записи по факту перезапуска?

У меня Debian Sid. На соседнем сервере ровно та же установка и настройка, но подобного неадекватного поведения не наблюдаю.

У гугла спрашивал, но ничего внятного не нашёл. Прошу помощи зала.

★★

Ответ на: комментарий от xgatron

imjournal часом не используется?

Модуль imjournal подключён.
Конфиг journald дефолтный (весь закоментирован). Конфиг rsyslog чуть позже, до сервера доберусь^ но там тоже всё по дефолту практически.

Vint ★★
() автор топика
Последнее исправление: Vint (всего исправлений: 1)
Ответ на: комментарий от Vint

тогда мои предположения:

  1. в модуле imjournal есть баг, из-за которого он перечитывает весь журнал
  2. по какой-то причине не записывается, удаляется или повреждается файл /var/lib/rsyslog/imjournal.state
xgatron
()
Ответ на: комментарий от Bootmen

Стэйт файлы у меня лежат в /var/spool/rsyslog/*. Вроде пишутся. Видел решение подобной проблемы, но по моему в RHEL, при помощи изменения прав на стэйт файлы и их родительский каталог на владельца syslog. Но в debian rsyslog работает от рута, и соответственно права на стэйт файлы тоже рут онли, и учётной записи syslog просто нет.

2Bootmen:
Level что?
В логи пишутся только warn и error уровни сообщений. Если это имелось ввиду.

Vint ★★
() автор топика

Проблема воспроизводится?
Если да, то запусти rsyslog в режиме отладки (-d -n) и читай логи.

bigbit ★★★★★
()

Проблема решилась отключением модуля imjournal. Зато появилась другая. Теперь при ротации журналов и перезапуске rsyslogd в логах наблюдаю следующие строки:

Dec 19 00:00:19 dozer kernel: [5920474.045354] rsyslogd[4010531]: segfault at 22202c225f ip 00007f500a3316dc sp 00007ffe2a49bb20 error 4 in libc-2.31.so[7f500a2cc000+14b000]

Dec 19 00:00:19 dozer kernel: [5920474.058016] Code: 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 83 ec 18 48 8b 05 2d 38 13 00 48 8b 00 48 85 c0 0f 85 81 00 00 00 48 85 ff 74 74 <48> 8b 47 f8 48 8d 77 f0 a8 02 75 38 48 8b 15 89 36 13 00 64 48 83

Но не смотря на это служба работает. Всё бы ничего, но мой перфекционизм не даёт мне спокойно спать. Уважаемые коллеги, подскажите, кто может сталкивался, с чего он сегфолтится?

---------------------------
# rsyslogd -v
rsyslogd 8.2010.0 (aka 2020.10) compiled with:
PLATFORM: x86_64-pc-linux-gnu
PLATFORM (lsb_release -d):
FEATURE_REGEXP: Yes
GSSAPI Kerberos 5 support: Yes
FEATURE_DEBUG (debug build, slow code): No
32bit Atomic operations supported: Yes
64bit Atomic operations supported: Yes
memory allocator: system default
Runtime Instrumentation (slow code): No
uuid support: Yes
systemd support: Yes
Config file: /etc/rsyslog.conf
PID file: /run/rsyslogd.pid
Number of Bits in RainerScript integers: 64

--------------------------
# /etc/rsyslog.conf Configuration file for rsyslog.
#
# For more information see
# /usr/share/doc/rsyslog-doc/html/rsyslog_conf.html


#################
#### MODULES ####
#################

module(load=«imuxsock») # provides support for local system logging
module(load=«imklog») # provides kernel logging support
#module(load=«immark») # provides --MARK-- message capability

# provides UDP syslog reception
#module(load=«imudp»)
#input(type=«imudp» port=«514»)

# provides TCP syslog reception
#module(load=«imtcp»)
#input(type=«imtcp» port=«514»)


###########################
#### GLOBAL DIRECTIVES ####
###########################

#
# Use traditional timestamp format.
# To enable high precision timestamps, comment out the following line.
#
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

#
# Set the default permissions for all log files.
#
$FileOwner root
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022

# Filter duplicated messages
$RepeatedMsgReduction on

# Rate limits
#$imjournalRatelimitInterval 0
#$imjournalRatelimitBurst 0

#
# Where to place spool and state files
#
$WorkDirectory /var/spool/rsyslog

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


###############
#### RULES ####
###############

#
# First some standard log files. Log by facility.
#
auth,authpriv.* /var/log/auth.log
cron.* /var/log/cron.log
daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
user.* -/var/log/user.log

#
# Logging for the mail system. Split it up so that
# it is easy to write scripts to parse these files.
#
mail.* -/var/log/mail/mail.log
mail.info -/var/log/mail/mail.info
mail.warn -/var/log/mail/mail.warn
mail.err /var/log/mail/mail.err

#
# Some «catch-all» log files.
#
*.*,auth.none,authpriv.none,local5.none -/var/log/syslog

*.=debug;\
auth,authpriv.none;\
news.none;mail.none -/var/log/debug

*.=info;*.=notice;*.=warn;\
auth,authpriv.none;\
cron,daemon.none;\
mail,news.none -/var/log/messages

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

#
# I like to have messages displayed on the console, but only on a virtual
# console I usually leave idle.
#
#daemon,mail.*;\
#news.=crit;news.=err;news.=notice;\
#*.=debug;*.=info;\
#*.=notice;*.=warn /dev/tty8

Vint ★★
() автор топика
Последнее исправление: Vint (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.