Linux Labs

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

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

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

Шаг 1 из 6 · на машине · 4 мин

Сайт отвечает 500

Чему научишься

  • Различать, что пишут access.log и error.log nginx, и находить причину ответа 500 в журнале приложения по времени запроса.
  • Читать поля записи журнала в journalctl -o json и выбирать нужные jq.
  • Сопоставлять по времени ответы nginx, записи службы и сообщения ядра.

Пользователи магазина жалуются: список заказов не открывается. Перед магазином стоит nginx — он принимает запросы и передаёт адреса /orders приложению lab-shop, а главную страницу отдаёт сам. Запроси заказы и посмотри журналы nginx: access.log и error.log.

Упражнение · посмотреть

Запроси заказы

Запроси /orders и посмотри журналы nginx: весь access.log и error.log.

Сначала предположи

В access.log у /orders стоит 500. Что покажет error.log nginx?

Теперь начни упражнение, выполни команду и сверь прогноз с выводом.

Войти и начать Машина доступна после входа
Проверь себя 1 вопрос

В access.log у /orders — 500, а error.log nginx пуст. Что из этого следует?

  • Файл принадлежит www-data — пользователю, от которого работает nginx. Пуст он потому, что своих сбоев у nginx не было.

  • Без приложения nginx ответил бы 502 и записал бы отказ в error.log. Код 500 — ответ того, кто запрос получил.

  • Свою ошибку nginx записал бы в error.log, а он пуст. К тому же главная страница в те же секунды отвечает 200.

Ответ 500 выдало приложение, а nginx его только передал.

Ubuntu 24.04
Загрузка…