Версия: syslog-ng-3.34.1-alt2 systemd-255.18-alt1 Система: Два сервера ALT Server 11.0 Шаги воспроизведения: # На клиенте и сервере установить пакеты: # apt-get install syslog-ng syslog-ng-journal # Настройка клиента: # hostnamectl set-hostname client && reboot # export SERVERIP=<Server IP-address> # cat > /etc/syslog-ng/conf.d/client.conf << EOF destination remote_log_server { tcp("${SERVERIP}" port(25214)); }; log { source(sys); destination(remote_log_server); }; EOF # Настройка сервера: # hostnamectl set-hostname server && reboot # export SERVERIP=$(hostname -i) # cat > /etc/syslog-ng/conf.d/server.conf << EOF destination debugging_console { file("/var/log/test.log"); }; source remote_log_host { tcp(ip(${SERVERIP}) port(25214)); udp(default-facility(syslog) default-priority(emerg)); tcp(default-facility(syslog) default-priority(emerg)); }; log { source(remote_log_host); destination(debugging_console);}; EOF # Включить syslog-ng.service на обоих серверах: # systemctl enable --now syslog-ng.service # Проверить наличии логов на сервере: # cat /var/log/test.log Реальный результат: Файла с логами нет, в журнале ошибка: > мар 05 18:34:46 server syslog-ng[1498]: [2026-03-05T18:34:46.268221] Failed to seek journal to the saved cursor position; cursor='', error='Invalid argument (22)' Ожидаемый результат: Логи с клиента сохраняются на сервере без ошибок. Дополнительно: * НЕ воспроизводится в Sisyphus на версиях syslog-ng-4.8.3-alt1, systemd-258.5-alt1 * НЕ воспроизводится в p10 на версиях syslog-ng-3.32.1-alt1, systemd-249.17-alt2 * https://lists.altlinux.org/pipermail/community/2025-December/689405.html * https://bugzilla.altlinux.org/show_bug.cgi?id=51808#c1
В p10 не воспроизводится и с syslog-ng-3.34.1-alt2: #402215 TESTED #3 [test-only] p10 syslog-ng.git=3.34.1-alt2 А в p11 воспроизводится и с syslog-ng-4.8.3-alt1: #401870 TESTED #11 [test-only] p11 syslog-ng.git=4.8.3-alt1 Не на systemd ли этот баг вешать...
https://bugzilla.altlinux.org/show_bug.cgi?id=51808#c1
https://github.com/systemd/systemd/issues/31516
Дополнительные ссылки: * https://git.altlinux.org/gears/s/syslog-ng.git?p=syslog-ng.git;a=blob;f=modules/systemd-journal/journal-reader.c;hb=411a4b182a4e199538592b47aca3a113ad77df15#l352 * https://git.altlinux.org/gears/s/syslog-ng.git?p=syslog-ng.git;a=blob;f=modules/systemd-journal/journald-subsystem.c;hb=411a4b182a4e199538592b47aca3a113ad77df15#l247 * https://github.com/systemd/systemd/issues/31516 Ошибка, которую вы видите, возникает в единственном месте syslog-ng. Здесь sd_journal_seek_cursor() на самом деле не функция, а указатель на неё, который инициализируется при загрузке модуля journald, так вот регрессия зарегистрирована в systemd-journald для v254 и v255 и уже устранена, поэтому не воспроизводится на p10 и на Сизифе.
(In reply to Leonid Krivoshein from comment #4) > [...] уже устранена, поэтому не воспроизводится на p10 и на Сизифе. однако журнал уже испорчен: https://github.com/systemd/systemd/issues/31516#issuecomment-2131970093 В составе Альт Сервер 11.0 как раз идёт systemd v255, который портит journald. Поскольку в p11 systemd уже неоднократно обновлялся, стоит обновиться из p11, перезагрузиться, попробовать удалить старый журнал и снова перезагрузиться. Поможет это решить проблему?
(Ответ для Leonid Krivoshein на комментарий #5) > Поскольку в p11 systemd уже неоднократно обновлялся, стоит > обновиться из p11, перезагрузиться, попробовать удалить старый > журнал и снова перезагрузиться. Поможет это решить проблему? systemd-257.9-alt1. В /var/log/journal удалил всё, после перезагрузки создался каталог с system.journal и user-1000.journal. syslog-ng[1266]: [2026-03-11T16:25:59.406067] Failed to seek journal to the saved cursor position; cursor='', error='Invalid argument (22)' не помогло.
Надо было ещё /var/lib/syslog-ng/syslog-ng.persist удалить. Ошибка пропала (и до 4.8.3-alt1 ещё обновил, не знаю, как с 3.34.1 было бы). Хотя запись лога у syslog всё равно не началась, ещё что-то где-то.
(In reply to Sergey Y. Afonin from comment #7) > Ошибка пропала А это не ошибка была, судя по коду, а предупреждение.
(Ответ для Sergey Y. Afonin на комментарий #7) > Надо было ещё /var/lib/syslog-ng/syslog-ng.persist удалить. Ошибка пропала > (и до 4.8.3-alt1 ещё обновил, не знаю, как с 3.34.1 было бы). Хотя запись > лога у syslog всё равно не началась, ещё что-то где-то. Подскажите, пожалуйста. Может что-то еще надо сделать? Удалил journal и syslog-ng.persist ошибка не исправилась. Также пробовал с таском 401870. > # rm -rf /var/log/journal/* > # rm -rf /var/lib/syslog-ng/syslog-ng.persist > # reboot
Как решение можно использовать настройку сервиса syslog-ng: # systemctl edit syslog-ng добавляем: [Service] Type=simple TimeoutStopSec=5 KillMode=control-group После применения: # systemctl daemon-reload #systemctl restart syslog-ng При необходимости вести лог в отдельно файле создаем файл /etc/syslog-ng/conf.d/server.conf # cat > /etc/syslog-ng/conf.d/server.conf <<'EOF' @version: 3.34 options { stats-level(2); }; source s_net { tcp(ip(0.0.0.0) port(25214)); udp(ip(0.0.0.0) port(25214)); }; destination d_file { file("/var/log/test.log" create-dirs(yes)); }; log { source(s_net); destination(d_file); }; EOF # systemctl restart syslog-ng
(Ответ для pav@altlinux.org на комментарий #10) > Как решение можно использовать настройку сервиса syslog-ng: > > # systemctl edit syslog-ng > > добавляем: > > [Service] > Type=simple > TimeoutStopSec=5 > KillMode=control-group > > После применения: > # systemctl daemon-reload > #systemctl restart syslog-ng И что это доложно дать? В чём ключевое отличие от /lib/systemd/system/syslog-ng.service из пакета? Лог как не писался, так и не пишется.