Перейти к основному контенту

Сервер Dedicated не доступен, ОС не загружается

В данном случае рекомендуем подключиться к серверу с помощью IPMI или заказать KVM-доступ: Как подключить KVM к северу и проанализировать log-файлы с помощью dmesg на наличие ошибок.

Распространенная ошибка

Ошибка kernel:[1102629.088172] BUG: soft lockup — CPU#3 stuck for 23s! [kswapd0:58] указывает на проблему ядра Linux и его совместимости с материнской платой.

Попробуйте загрузить ОС с параметрами: acpi=off noapic nolapic

На сервер идет DDoS-атака

  1. 1.

    Проверяем количество процессов, вызванных http-запросами, командой:

    ps aux | grep httpd | wc -l для CentOS

    ps aux | grep apache | wc -l для Debian

    Если количество процессов намного превышает реальное количество (например 100-200), то возможно сервер испытывает DDoS-атаку.

    Также можно проверить признак наличия SYN Flood атаки:

    netstat -tuna | grep :80 | grep SYN_RECV

    netstat -tuna | grep :443 | grep SYN_RECV

    При наличии большого количества соединений в данном состоянии, возможно, на сервере наблюдается SYN Flood атака.

  2. 2.

    Проверяем число запросов:

    less /var/log/nginx/access.log | /usr/bin/awk {'print $1'}| sort | uniq -c | sort -n | tail -10

Как проверить число запросов по часам

Если у вас установлена панель ISPmanager:

cat /var/www/httpd-logs/*.access.log | awk '{print $4}' | grep -o '[^:]*:[0-9]*:[0-9]' | sed 's/[0-9]$/&0-&9/' | sort | uniq -c

где /*.access.log- запрос по всем доменам или вместо * укажите конкретный домен.

Если у вас не установлена панель ISPmanager:

cat /var/log/nginx/access.log | awk '{print $4}' | grep -o '[^:]*:[0-9]*:[0-9]' | sed 's/[0-9]$/&0-&9/' | sort | uniq -c

Чтобы отобразить список наиболее активных IP, измените параметры на: 

| awk '{print $1}' | sort —n | uniq —c | sort —n | tail —10

Чтобы отобразить количество обращений по user-agent, измените параметры на: 

| awk —F\« '{print $6}' | sort | uniq —c | sort —rn | head —1

Сервер не справился с нагрузкой и ушёл в swap

Проверьте нагрузку с помощью команды: free -mh

Данная команда отображает статистику по использованию оперативной памяти и раздела подкачки. В случае заполненности оперативной памяти (memory) сервисы продолжают работу, однако их отклик уменьшается, т.к. они используют раздел подкачки, который имеет в несколько раз меньшую скорость доступа к данным по сравнению с памятью, а также создает дополнительную нагрузку на файловую подсистему. В случае заполненности раздела подкачки сервер может вовсе перестать отвечать на запросы или завершать наиболее «прожорливые» процессы механизмом OOM killer.

Мониторинг нагрузки на сервере

Для анализа нагрузки постфактум, как правило, применяется утилита atop запущенная в качестве сервиса. Диагностика сервера с помощью Atop.

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 0 из 0