У меня периодически возникают проблемы с одним из моих приложений / серверов, за которые я отвечаю. В основном у меня был один 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.