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

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

Топ IP по ошибкам сервера

средне~7 мин

В /var/log/access.log строки вида IP STATUS — по одной на запрос. Найди IP-адрес, с которого пришло больше всего ошибок 5xx (статус 500–599), и запиши только этот IP в /root/top.txt. Внимание: у самого «шумного» IP ошибок может быть мало — считай только 5xx.

Что потренируешь:
  • конвейер
  • awk фильтр
  • sort/uniq -c
  • sort -rn
  • подсчёт частот

Разбор темы

Классическая идиома подсчёта частот в шелле: ... | sort | uniq -c | sort -rn | head. uniq -c схлопывает соседние одинаковые строки и печатает счётчик, поэтому вход обязан быть отсортирован. Второй sort -rn упорядочивает по числовому счётчику по убыванию, head -1 даёт лидера. Предварительная фильтрация (здесь — только статусы 5xx) отделяет сигнал от шума: без неё «топ» отразил бы общий трафик, а не проблемные источники.

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

  1. верный IP
  2. совпадает с расчётом по 5xx

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