Типовая первичная диагностика при недоступности серверов

Последнее обновление 11.09.2018

Возникают ситуации при администрировании проектов, когда тот или иной сайт “упал”, что подтверждает мониторинг. Исходные данные, которые доступны: точное время “падение”, длительность и сам сайт. Что делать?

Базовые первичные вещи, которые нужно выполнить:

  1. Проверить сетевую доступность до сайта пингом и убедиться, что сервер включен и\или нет задержек;
  2. Изучить код ошибки недоступности сайта в браузере, чтобы было от чего отталкиваться;
  3. Проверить состояние основных сервисов (nginx и httpd + mysqld);
  4. Если база данных на отдельном сервере, проверить его сетевую доступность;

Если же всё кажется работающим и не упавшим, нужно заглянуть немного дальше.

  1. Проверить утилизацию сервера в текущий момент времени и во время падения, свободное место.
    CPU, RAM, HDD – основные показатели, которые можно проверить как с самого сервера, так и с Zabbix за нужный период времени. Если замечена возросшая активность, например, ОЗУ – смотреть в момент недоступности /var/log/messages и искать процесс, который ядро системы принудительно уничтожило для освобождения памяти;
  2. Если по ресурсам и утилизации всё ОК, то смотреть логи Apache до момента “падения” сервера, в период и после. Искать что-то подозрительное. Обычно это какой-то запрос, который “висит” в очереди и таких накапливается несколько. Часто бывает, что в логе /var/log/httpd/access.log идет временной интервал записей по порядку согласно выполнения, а потом появляются “запоздалые” запросы, которые должны быть выполнены какое-то время назад. На них и нужно обращать внимание. Может быть это неоптимальный запрос к БД;
  3. Проверить логи PHP, error лог веб-сервера.

    Также стоит проверить сервер с БД:
  1. На предмет утилизации ресурсов;
  2. Посмотреть, не оказалось ли зависших запросов: show processlist;
  3. slow-лог MySQL.

Ваш комментарий будет первым

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *