Mirandy Opsbookчерновик

Чек-лист диагностики

Базовая последовательность для ситуации «сервис не работает». Она не лечит всё, но быстро показывает, на каком слое искать проблему.

ВажноНе начинайте с рестарта. Он может скрыть симптом и уничтожить полезный контекст в памяти процесса.

1. Зафиксировать симптом

Повторите ошибку минимальным запросом. Запишите точное время, адрес, порт, код ответа и клиент, с которого выполняется проверка.

client
date -Is
curl -sSvk --connect-timeout 5 https://example.org/health

2. Проверить процесс и unit

Убедитесь, что сервис запущен, не находится в цикле рестартов и читает ожидаемый конфиг.

systemd
systemctl status nginx --no-pager
systemctl show nginx -p ActiveState,SubState,NRestarts,ExecMainStatus

3. Проверить порт

Слушающий сокет должен принадлежать нужному процессу и быть привязан к правильному адресу: localhost, конкретному IP или всем интерфейсам.

sockets
ss -lntp
ss -lnup

4. Прочитать свежий журнал

Смотрите небольшой временной диапазон вокруг воспроизведения ошибки, а не весь журнал за месяц.

journal
journalctl -u nginx --since "10 minutes ago" --no-pager
journalctl -u nginx -p warning --since today --no-pager

5. Пройти путь запроса

Проверяйте по слоям: DNS → TCP → TLS → reverse proxy → приложение → зависимость.

layers
dig +short A example.org
ip route get 203.0.113.10
curl -sSvkI --resolve example.org:443:203.0.113.10 https://example.org/

6. Подтвердить исправление

Повторите тот же тест, затем проверьте соседний сценарий и состояние сервиса после нескольких минут работы.