🐧 Linux  ·  20 вопросов  ·  ~45 мин  ·  ⏱ Таймер 45:00  ·  Сложный  ·  👥 2 прошли

Авария на сервере: найдите причину

Итоговый тест моделирует аварии, где несколько симптомов появляются одновременно. Нужно сохранить факты, проверить гипотезы дешёвыми и обратимыми действиями, локализовать слой отказа и восстановить сервис так, чтобы не уничтожить данные и следы причины.

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: Выбери один ответ из четырёх. На 20 вопросов отведено 45 минут. Не меньше половины заданий требуют разобрать команды, сценарий Bash, конфигурацию или диагностический вывод. После завершения откроются общий процент, четыре тематические шкалы, правильные ответы и краткий разбор каждого решения.
Вопрос 1 из 20
Сайт начал отдавать 500, диск /var показывает 100%. Какой первый шаг полезнее удаления файлов?
BashТерминал
date --iso-8601=seconds
df -h /var; df -i /var
findmnt /var
sudo lsof +L1 /var | head
du -xhd1 /var | sort -h
Вопрос 2 из 20
Служба упала сразу после deploy. Что сохранить до restart?
BashТерминал
systemctl status app --no-pager
systemctl cat app
systemctl show app -p Result -p ExecMainStatus -p ExecStart -p Environment
journalctl -u app -b -n 200
pid=$(systemctl show app -p MainPID --value)
ps -o pid,ppid,user,lstart,args -p "$pid"
readlink -f /srv/app/current
Вопрос 3 из 20
На 16-ядерном сервере load average вырос до 30, доля user CPU мала, а iowait высок. Какой набор фактов лучше проверит гипотезу об ожидании ввода-вывода?
Вопрос 4 из 20
После подозрительного входа по SSH что важно зафиксировать первым?
BashТерминал
date --iso-8601=seconds
w; last -ai | head
ps auxf
ss -tpn
journalctl -u ssh --since '2 hours ago'
Вопрос 5 из 20
Пользователь сообщает «всё медленно», но мониторинг нормален. Что собрать?
Вопрос 6 из 20
df /var 100%, du /var 40%. Какая проверка лучше различит открытый удалённый файл и скрытые данные под mount?
BashТерминал
sudo lsof +L1 /var
findmnt -R /var
Вопрос 7 из 20
Домен не открывается, но curl по IP работает. Какой следующий тест лучше?
BashТерминал
getent ahosts app.example
dig app.example A +short
curl -v --resolve app.example:443:203.0.113.20 https://app.example/
Вопрос 8 из 20
Nginx отдаёт 502. Какой тест различит отказ соединения и плохой ответ приложения?
Вопрос 9 из 20
Процесс использует 100% одного CPU. Как проверить busy loop и нормальную вычислительную работу?
BashТерминал
pidstat -u -p "$pid" 1
sudo perf top -p "$pid"
Вопрос 10 из 20
SSH стал недоступен после изменения sshd_config, но существующий сеанс ещё открыт. Что делать?
BashТерминал
sudo sshd -t
sudo sshd -T | grep -E '^(port|permitrootlogin|passwordauthentication)'
ssh -p 22 localhost true
Вопрос 11 из 20
На файловой системе есть свободные гигабайты, но touch возвращает No space left on device. Где локализовать проблему?
BashТерминал
df -h /srv/cache
df -i /srv/cache
find /srv/cache -xdev -type f | wc -l
Вопрос 12 из 20
Службу убивает OOM при свободной памяти на хосте. Что локализовать?
Вопрос 13 из 20
HTTPS timeout только для больших ответов, маленькие проходят. Где вероятнее искать?
BashТерминал
tracepath app.example
ping -M do -s 1472 app.example
Вопрос 14 из 20
Nginx возвращает 504 ровно через 60 секунд, а журнал приложения показывает, что обработка запроса длится 75 секунд. Что следует из этих данных?
Вопрос 15 из 20
systemd показывает active (running), но порт отсутствует. Что локализовать?
BashТерминал
systemctl show app -p Type -p MainPID -p SubState
ss -lntp 'sport = :8080'
journalctl -u app -b -n 100
Вопрос 16 из 20
После неудачного релиза current указывает на v9, а v8 был рабочим. Какое восстановление наименьшего радиуса?
BashТерминал
test -x /srv/app/releases/v8/bin/app && \
ln -sfn releases/v8 /srv/app/current.new && \
mv -Tf /srv/app/current.new /srv/app/current
Вопрос 17 из 20
Большой log удалён, но место не вернулось. Как безопаснее освободить его?
Вопрос 18 из 20
База повреждена, есть snapshot и backup. Как действовать?
BashТерминал
# clone/snapshot -> /restore
# database recovery/checks
# read-only validation
# controlled cutover
Вопрос 19 из 20
Firewall-правило случайно закрыло SSH, но консоль доступна. Как восстановить с минимальным риском?
Вопрос 20 из 20
После восстановления сайт отвечает 200 на /health. Что ещё нужно до закрытия инцидента?
BashТерминал
curl -fsS https://app/health
# затем read/write canary, queue depth, error rate, backup freshness

Ответьте на все 20 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу