Linux Labs

Наблюдаемость: метрики, алерты, логи / Ступень 8 из 9

Расследование по журналам

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 6 из 6 · итог · 2 мин

Итог

  • access.log nginx записывает каждый ответ с кодом, error.log — только сбои самого nginx; ответ 500 от приложения nginx передаёт и ошибкой не считает.
  • Причину ответа ищут в журнале приложения по секунде из access.log: journalctl -u <служба> --since.
  • journalctl -o json показывает все поля записи — _SYSTEMD_UNIT, _PID, PRIORITY; jq выбирает их, а sort | uniq -c считает.
  • Сообщения ядра (journalctl -k) лежат на той же шкале времени: OOM killer и 502 с Connection refused совпадают по секундам.
  • error.log в начале урока был пуст, потому что 500 выдало приложение, а причина — PermissionError на файл заказов — записана в его журнале.
Ubuntu 24.04
Загрузка…