Bug 58131
| Summary: | Не работает syslog-ng в p11: Failed to seek journal to the saved cursor position | ||
|---|---|---|---|
| Product: | Branch p11 | Reporter: | Dmitry Maksimenkov <maksimenkovda> |
| Component: | syslog-ng | Assignee: | Sergey Y. Afonin <asy> |
| Status: | CLOSED FIXED | QA Contact: | qa-p11 <qa-p11> |
| Severity: | normal | ||
| Priority: | P5 | CC: | eltsovga, klark, pav, shevchenkodyu, slev |
| Version: | unspecified | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| See Also: | https://bugzilla.altlinux.org/show_bug.cgi?id=51808 | ||
В 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://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 из пакета? Лог как не писался, так и не пишется. |

Description
Dmitry Maksimenkov 2026-03-05 18:42:30 MSKВерсия: 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