2

Я арендовал сервер Centos6 и использую сервер Apache Tomcat 7 с прокси-сервером Apache httpd.

Иногда мой сервер блокируется, и я не могу получить к нему доступ через шпатлевку и даже пинг.

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

Заранее спасибо.

(PS: исправление проблемы путем перезапуска сервера)

РЕДАКТИРОВАТЬ: Ниже приведены приложения и реквизиты на моем сервере:

* Сервер Apache httpd -> прокси, * Сервер Apache Tomcat -> сервер приложений, * СУБД Mysql

И получил изображения HD ок. 69000 (99 ГБ) сервировки из одной папки.

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

2 ответа2

1

Это может быть несколько вещей.

Прежде всего, вам нужно взглянуть на файлы системного журнала и посмотреть, есть ли что-нибудь заметное. Я бы начал с /var/log/messages и осмотрел время, когда вы потеряли контакт.

Вы заявили, что это VPS - я предполагаю, что у вас нет доступа к физическому базовому хосту или гипервизору?

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

Я бы попробовал контролировать экземпляр изнутри, используя что-то вроде Icinga, Nagios или Cacti. Все они имеют плагины для мониторинга ряда приложений и систем. Установите и настройте мониторинг httpd, сетевого подключения, ЦП, памяти и т.д. Таким образом, вы, по крайней мере, сможете увидеть, в каком состоянии находились устройства до того, как машина стала недоступной.

1

Самый простой подход, вероятно, состоит в том, чтобы настроить задачу cron, которая запускается каждую минуту и выполняет что-то тривиальное, что вы можете позже проверить, произошло ли это в определенный момент времени или нет. Например, создайте файл /etc/cron.d/datelog с содержимым:

* * * * * root date >> /var/log/date.log

Позвольте этому бежать некоторое время. В следующий раз, когда VPS перестает отвечать, подождите несколько минут, прежде чем перезагрузить его, затем проверьте /var/log/date.log, как только VPS вернется.

Если в этом файле есть записи на время, когда VPS не отвечал, вы можете быть уверены, что он работал нормально и по какой-либо причине просто не был доступен по сети, поэтому вы можете сосредоточиться на выяснении, почему VPS стал недоступен по сети. Если в файле нет записей о том, когда VPS не отвечал, это не является убедительным доказательством того, что VPS остановился или вышел из строя, но это очень убедительный признак того, что что-то подобное произошло, и что вам следует провести дальнейшее расследование, главным образом на основе такого гипотеза.

Этот подход имеет то преимущество, что не требует установки или настройки какого-либо дополнительного программного обеспечения; демон cron включен в стандартную установку практически на любом дистрибутиве, и я сомневаюсь, что CentOS отличается в этом отношении, потому что он полезен для многих других вещей.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .