Назад | Перейти на главную страницу

Зависание VPS каждые несколько дней

У меня периодически возникают проблемы с одним из моих приложений / серверов, за которые я отвечаю. В основном у меня был один VPS со всем стеком, необходимым для запуска моего приложения (nginx + postgresql + ruby ​​+ ruby ​​on rails + пассажира), поддерживаемого ansible. Была проблема с тем, что сервер зависал раз в 2 дня. Он не получал никаких входящих соединений на портах 80 и 22 (поэтому я даже не смог подключиться к нему с помощью ssh). Единственным решением было его перезагрузить. Я проигнорировал эту проблему, потому что был уверен, что с этой машиной что-то не так, и переход на новую решит проблему.

Я недавно немного изменил свои доступные playbooks, и мое приложение было разделено на 3 отдельных сервера. Я был уверен, что проблема не возникнет, но, к сожалению, она снова возникла и, что еще хуже, поразила все три машины! Я использую ту же самую роль для базовой конфигурации всех этих трех серверов, но нет ничего опасного. Просто базовые вещи, такие как создание пользователей, генерация ключей SSH и т. Д. В любом случае, это еще не все - теперь для этих трех новых серверов даже перезагрузка не может решить эту проблему, после перезагрузки из панели Azure я все еще не могу подключиться к любая из этих трех машин на 80 или 22 портах.

Очевидно, что я не могу отлаживать журналы этих новых серверов, потому что они недоступны, но у меня все еще работает старый, поэтому было бы полезно проверить, что вызывает эти зависания на нем? Я просто не могу ничего найти в журналах (или я не знаю, что и где мне искать какие-либо подсказки).

Серверы используют Ubuntu 14.04

Так много всего могло пойти не так. Вот что бы я сделал:

  • Оставаться в системе и беги tail -f <every log file that might be helpful>. Вы хотя бы увидите последнее, что произошло, когда он умер.

  • Посмотри логи после перезагрузки. Также посмотрите на dmesg. Вам нужно будет прокрутить waaaaay назад, чтобы увидеть последнее событие перед перезагрузкой.

  • Посмотрите логи консоли. AWS предоставляет их в консоли EC2 (и через API), я не знаю, что с ними делает Azure.