fix(tradein/devops): логи в journald — переживают пересоздание контейнера (#2741) #2758
No reviewers
Labels
No labels
Fable 5 ревью
GG-форсайт
admin
analytics
auth
automation
bug
business
chore
ci
compliance
data
data-moat
docs
duplicate
dx
enhancement
feedback/max
generative
needs-discussion
needs-human
observability
pause-bots
performance
priority/p0
priority/p1
priority/p2
priority/p3
scope/backend
scope/db
scope/devops
scope/frontend
scope/qa
scrapers
security
site-finder
stage/1
stage/2
status/blocked
status/done
status/needs-analysis
status/needs-fix
status/qa
status/ready
status/review
status/wip
tech-debt
tradein
ux
week ревью 1
wontfix
ИРД
вторичка
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lekss361/gendesign#2758
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "fix/2741-log-retention"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Проблема
json-fileпишет в/var/lib/docker/containers/<id>/— каталог удаляется вместе с контейнером. Деплоев ~20/сутки, скрейперы работают ночью, разбор идёт утром → окно жизни лога почти никогда не покрывает интересное. За 05-06.08 это трижды сорвало разбор: #2695 (1600 отказов Авито), #2698 (503 домовой оценки), #2676 (падения сайдкара).Что сделано
Одна строка в общем anchor'е
x-logging— все 6 сервисов tradein переходят наjournald:/var/log/journalна хосте и переживаетdocker rm;--since/--until), а не «сколько осталось от последнего рестарта»;SystemMaxUse(дефолт 4G), а не 60 МБ на сервис, обнуляемые каждым деплоем (это и был второй пункт #2715: 60 МБ при флуде прокручиваются за минуты).Замеры на проде (2026-08-06)
/var/log/journalSystemMaxUseдефолт = 4G (сам вытесняет старейшее, дисковый риск нулевой)scrape_runs, ~153 Б/строкуПроверено ДО правки (прод, throwaway-контейнер)
Опровергнутая предпосылка
Голый
journalctlпод deploy-юзером не работает:gendesignсостоит вdocker, но не вadm/systemd-journal, аsudoпросит пароль → выдаёт «No entries». Поэтому в комментарии записан рабочий однострочник через docker-группу и разовая команда владельцу (usermod -aG adm gendesign) — до неё правка всё равно не регрессия:docker logs <c>работает ровно как раньше (демон читает журнал сам).Что НЕ сделано (осознанно)
LoggingIntegration(level=INFO, event_level=ERROR)вmain.py/scheduler_main.py/tgbot_main.py— поштучныеwarningв GlitchTip не попадают. Поднять до WARNING = 1600 событий за прогон → это отдельная задача с квотами и семплингом, и это правка app-кода, не infra.logging:вообще нет (дефолт json-file без потолка,gendesign-postgres-1= 155 МБ), но это другой деплой-пайплайн и другой blast radius.Test plan
docker compose -f docker-compose.prod.yml config -q— OKscrape_runsпополняется), запись, сделанная ДО пересоздания, читается ПОСЛЕ негоRefs #2741, #2715