Обучающий кейс: магазин лежит, сервер тормозит, диск полон. Разберёшься с top, df, systemctl и journalctl в настоящей консоли.
Таймер запустится, когда ты возьмёшь инцидент.
Время: 10:00, первый день на дежурстве
Симптомы:
Последние изменения:
Твоя задача:
Запусти top. В первой строке load average — средняя очередь задач за 1, 5 и 15 минут: если она больше числа ядер (nproc), сервер перегружен. В строке %Cpu(s) смотри us (программы), sy (ядро), id (простой) и wa (ожидание диска). Ниже процессы, отсортированные по %CPU. Запомни PID и USER верхнего и выйди клавишей q. Остановить процесс: kill PID, а если он чужой (другой USER), то sudo kill PID. Не реагирует — sudo kill -9 PID.
df -h показывает место по разделам: смотри Use% и Mounted on. 100% значит, что программы получают No space left on device. Что именно заняло раздел: du -sh /var/lib/shop/* | sort -h (-s — итог по каждой папке, -h — в килобайтах и мегабайтах), затем загляни внутрь самой большой папки через ls -lh. Удаляй только то, что можно восстановить: выгрузку можно сделать заново, а загрузки покупателей нет.
systemctl status shop-api. Главное — строка Active: active (running) — работает, failed — упал, inactive (dead) — остановлен. Ниже последние строки журнала сервиса. Запуск и перезапуск — sudo systemctl restart shop-api: управлять сервисами может только root, без sudo получишь Interactive authentication required.
journalctl -u shop-api — все сообщения сервиса; -n 20 — последние 20 строк, -p err — только ошибки, --since '10 min ago' — за последние 10 минут, -f — следить в реальном времени (выход Ctrl+C). Если вывод открылся в просмотрщике, листай стрелками, выход — q. Ищи строки с ERROR и FATAL прямо перед Main process exited.
curl -i localhost:8080/health должен ответить HTTP/1.0 200 OK. Затем нажми «Проверить решение». Опытные дежурные всегда проверяют сервис так, как его видит пользователь, а не только по systemctl.
Три уровня: направление → где искать → конкретная команда. Каждая открытая подсказка снижает очки.
⚠ Войди, чтобы прогресс сохранялся.
События появятся по ходу инцидента: алерты, подсказки, проверки.
Чтобы сохранить разбор инцидента в личном кабинете, войдите в аккаунт — пройденные кейсы перенесутся в него.
Инцидент закрыт · Кейс 0
Остальные кейсы открываются после регистрации — это бесплатно, только имя и пароль. Этот кейс перенесётся в аккаунт.