[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-linux-kak-ustroeno-logirovanie-v-linux":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":15,"progress":16,"seo":17},738,"kak-ustroeno-logirovanie-v-linux",18,"linux","Linux","🐧","Как устроено логирование в Linux?","В Linux несколько подсистем логирования дополняют друг друга: systemd-journald собирает структурированные логи в бинарном формате, а rsyslog пишет текстовые файлы в `\u002Fvar\u002Flog\u002F`.\n\n### systemd-journald (основная система в Ubuntu 24.04)\n\nСобирает логи от:\n- Сервисов, управляемых systemd\n- Ядра (kernel messages)\n- Syslog-сообщений\n- stdout\u002Fstderr процессов\n\nЛоги хранятся в бинарном формате в `\u002Fvar\u002Flog\u002Fjournal\u002F`. Просмотр — через `journalctl`.\n\n### rsyslog (syslog)\n\nТрадиционный демон логирования. Конфигурация: `\u002Fetc\u002Frsyslog.conf` и `\u002Fetc\u002Frsyslog.d\u002F`. Записывает текстовые файлы в `\u002Fvar\u002Flog\u002F`.\n\n### Основные лог-файлы в \u002Fvar\u002Flog\u002F\n\n| Файл | Содержимое |\n|---|---|\n| `\u002Fvar\u002Flog\u002Fsyslog` | Основной системный лог (в Ubuntu) |\n| `\u002Fvar\u002Flog\u002Fauth.log` | Аутентификация: логины, sudo, ssh |\n| `\u002Fvar\u002Flog\u002Fkern.log` | Сообщения ядра |\n| `\u002Fvar\u002Flog\u002Fdpkg.log` | Операции с пакетами (dpkg\u002Fapt) |\n| `\u002Fvar\u002Flog\u002Fnginx\u002F` | Логи Nginx (access.log, error.log) |\n\n### logrotate — ротация логов\n\nПредотвращает бесконтрольный рост лог-файлов. Конфигурация: `\u002Fetc\u002Flogrotate.conf` и `\u002Fetc\u002Flogrotate.d\u002F`.\n\n\u003Cdetails>\n\u003Csummary>Пример конфигурации logrotate\u003C\u002Fsummary>\n\n```\n# \u002Fetc\u002Flogrotate.d\u002Fmyapp\n\u002Fvar\u002Flog\u002Fmyapp\u002F*.log {\n    daily           # Ротация ежедневно\n    rotate 14       # Хранить 14 файлов\n    compress        # Сжимать старые логи\n    delaycompress   # Не сжимать текущий файл\n    missingok       # Не выдавать ошибку, если файл отсутствует\n    notifempty      # Не ротировать пустые файлы\n    create 0640 appuser appuser  # Создать новый файл с правами\n    postrotate\n        systemctl reload myapp  # Действие после ротации\n    endscript\n}\n```\n\n\u003C\u002Fdetails>\n\n### Полезные команды для работы с логами\n\n```bash\n# Последние записи syslog\ntail -f \u002Fvar\u002Flog\u002Fsyslog\n\n# Поиск ошибок в логах\ngrep -i error \u002Fvar\u002Flog\u002Fsyslog\n\n# Логи сервиса через journalctl\njournalctl -u myapp.service -f\n\n# Логи ядра\ndmesg -T    # С человекочитаемыми временными метками\n\n# Объём логов journald\njournalctl --disk-usage\n\n# Очистка старых логов journald\nsudo journalctl --vacuum-time=7d     # Удалить старше 7 дней\nsudo journalctl --vacuum-size=500M   # Ограничить объём 500 МБ\n```\n\n> **На собеседовании:** интервьюер хочет убедиться, что вы умеете находить логи на сервере. Ключевое — знать `\u002Fvar\u002Flog\u002Fsyslog` и `journalctl -u \u003Cservice> -f`. Частая ошибка — не упомянуть logrotate, из-за отсутствия которого логи могут заполнить весь диск.","","middle",[7],[],null,{"title":18,"description":19,"ogTitle":18,"ogDescription":20,"keywords":21,"schemaAnswer":22,"featuredSnippetReady":23},"Как устроено логирование в Linux? — Gymterview","В Linux несколько подсистем логирования дополняют друг друга: systemd-journald собирает структурированные логи в бинарном формате, а rsyslog пишет текстовые фай","В Linux несколько подсистем логирования дополняют друг друга: systemd-journald собирает структурированные логи в бинарно",[7,13],"В Linux несколько подсистем логирования дополняют друг друга: systemd-journald собирает структурированные логи в бинарном формате, а rsyslog пишет текстовые файлы в `\u002Fvar\u002Flog\u002F`.",true]