Практическое задание

Эта задача — шаг 12 курса «Логи: разбор и обслуживание»

Что случилось перед первой ошибкой

сложно~12 мин

Есть два журнала за одно и то же утро: /var/log/ops.log — действия эксплуатации (ВРЕМЯ событие), /var/log/http.log — ответы сервиса (ВРЕМЯ КОД текст). Найди последнее действие из ops.log, случившееся до первой ошибки 5xx в http.log, и запиши его текст (без времени) в /root/cause.txt.

Что потренируешь:
  • awk
  • корреляция логов
  • сравнение времени
  • -v передача переменной
  • END-блок

Разбор темы

Сопоставление событий из разных журналов — базовый приём разбора инцидента: сначала находится опорная точка (первая ошибка), затем в соседнем журнале ищется ближайшее предшествующее ей событие. Технически это делается одним проходом awk: переменная, обновляемая на каждой подходящей строке, и вывод её значения в блоке END, который выполняется после конца ввода. Времена в формате с ведущими нулями (ЧЧ:ММ:СС) сравниваются как строки, что избавляет от преобразования в секунды; для форматов без ведущих нулей или с разными часовыми поясами так делать уже нельзя.

Что проверяется

  1. найдено верное событие-первопричина

Как это выглядит