Диагностика инцидента

Инструменты диагностики проблемы при получении ошибки


В случае недоступности сервера требуется детальный анализ инфраструктурных и сетевых параметров для выявления первопричины сбоя. Statuser осуществляет сбор ключевых диагностических данных, позволяя локализовать проблему и определить, связана ли она с сетевой инфраструктурой, отказами серверного оборудования, некорректными DNS-конфигурациями или ошибками в реализации приложения. В этой статье описано, как анализировать эти данные и применять их для выявления причин сбоев в работе сервера.

HTTP-ответ, тело и заголовки

Доступно только при HTTP/HTTPS проверках.

Анализ HTTP-ответов позволяет определить тип отказа и возможные причины:

  • Коды 4xx свидетельствуют о проблемах на стороне клиента (например, некорректные запросы, ошибки аутентификации, блокировки доступа);
  • Коды 5xx указывают на сбои серверного программного обеспечения (перегрузка, ошибки конфигурации, сбои в обработке запросов);
  • Тело ответа может включать специфические диагностические сообщения от серверных компонентов, например, об ошибках в работе базы данных или превышении лимита запросов;
  • Заголовки ответа содержат критически важную метаинформацию: идентификацию серверного ПО, параметры кэширования, политики безопасности (CSP, CORS) и сжатия трафика.

Полный список HTTP кодов ошибок, которые обрабатывает Statuser, описан в отдельной статье.

Скриншот состояния сайта

Доступно только при HTTP/HTTPS проверках.

Фиксация визуального состояния страницы на момент сбоя помогает верифицировать:

  • некорректный рендеринг контента;
  • загрузку частичных элементов или ресурсов (например, ошибки при получении CSS или JavaScript);
  • сообщения об ошибках, отображаемые фронтенд-приложением.

Тайминги

Доступно только при HTTP/HTTPS проверках.

Анализ временных характеристик сетевого запроса помогает выявить, на каком этапе соединение испытывает задержки. Разберём основные параметры:

Фактический URL (effective_url) — итоговый URL после всех перенаправлений;

Число перенаправлений (redirect_count) — количество выполненных редиректов;

Время разрешения имени (name_lookup_time) — время, затраченное на разрешение доменного имени в IP-адрес;

Время установления соединения (connect_time) — время установления TCP-соединения;

Время установления соединения с приложением (app_connect_time) — время, затраченное на установку защищённого соединения (TLS handshake);

Время до начала передачи (pre_transfer_time) — время от начала запроса до момента готовности к передаче данных;

Время начала передачи (start_transfer_time) — время от начала запроса до получения первого байта ответа;

Суммарное время перенаправления (redirect_time) — общее время, потраченное на редиректы;

Полное время запроса (total_time) — общее время выполнения запроса;

Код HTTP-ответа (response_code) — HTTP-код ответа сервера.

Эти параметры помогают локализовать источник задержек: например, длительное время разрешения имени может указывать на проблемы с DNS, а высокая время начала передачи — на перегрузку серверной инфраструктуры.

Зарезолвленные IP-адреса

Анализ IP-адресов, возвращаемых DNS-серверами, позволяет выявить:

  • расхождения в конфигурации DNS-записей (например, разное разрешение IP в разных географических регионах);
  • случаи попадания IP-адреса в чёрные списки или ошибочную маршрутизацию;
  • проблемы с кешированием устаревших DNS-записей.

Трассировка маршрута (Traceroute)

Используется для диагностики маршрутизации пакетов, позволяет выявить:

  • сегменты сети с высокими задержками;
  • сбои в промежуточных узлах, приводящие к потере пакетов;
  • возможные блокировки трафика на границах автономных систем (AS).

Гибридный анализ маршрутизации (MTR)

MTR выполняет множественные измерения и фиксирует динамические изменения в маршрутах сети:

  • процент потерь пакетов на каждом узле;
  • вариативность задержек в реальном времени;
  • изменение маршрутов в зависимости от нагрузки на сеть.

Валидация TLS-сертификатов (OpenSSL)

Диагностика HTTPS-соединений с использованием OpenSSL позволяет определить:

  • истечение срока действия сертификата;
  • корректность цепочки доверия и проблемы с корневыми центрами сертификации;
  • устаревшие или небезопасные криптографические протоколы (например, использование SSL 3.0 или слабых шифров AES128).

Диагностика сетевой доступности (Ping)

Только при проверках Ping.

Используется для оценки доступности хоста и стабильности соединения:

  • отсутствие ответа может свидетельствовать о блокировке ICMP-пакетов или полной недоступности узла;
  • высокий уровень потерь пакетов указывает на проблемы с маршрутизацией;
  • увеличение задержек сигнализирует о перегрузке сети.

Анализ портов (Netcat)

Позволяет тестировать доступность конкретных сервисов на сервере:

  • закрытые порты могут свидетельствовать о сбоях серверных служб или настройках брандмауэра;
  • успешное соединение, но отсутствие ответа указывает на зависание или некорректную работу сервиса.