Тема: Автоматически перезагружаем свой зависший сервер у Hetzner
Хочу рассказать о том, как можно настроить автоматическую перезагрузку сервера, размещённого в Hetzner, при его зависании с помощью Ping-Admin.Ru. Необходимые условия:
1. Сервер должен быть размещён у Hetzner (http://hetzner.com/).
2. Должен быть доступ к https://robot.your-server.de/.
3. И конечно должна быть регистрация на Ping-Admin.Ru.
Для начала заходим в https://robot.your-server.de/ в раздел "Settings" (в левой колонке) и там выбираем "Webservice access". Здесь нужно создать аккаунт (получить логин и пароль) для доступа к Hetzner API.
Затем скачиваем скрипт от Ping-Admin.Ru, который будет через Hetzner API перезагружать ваш сервер. В этом скрипте прописываем логин и пароль, которые получили ранее для Hetzner API. И размещаем скрипт у вас на сайте. Внимание! Этот сайт должен находиться не на том сервере, который будет проверяться и перезагружаться в случае его недоступности. Иначе при недоступности сервера и сайт будет не работать, и мы не сможем вызвать скрипт для перезагрузки сервера.
Теперь заходим в личный кабинет на http://ping-admin.ru/ и добавляем в разделе "Контакты для уведомлений / HTTP" новое уведомление примерно в таком виде: http://ваш_сайт.ру/hetzner_reset/hetzner_reset.php?server_ip=1.2.3.4
Вместо 1.2.3.4 нужно указать IP вашего сервера у Hetzner, который нужно перезагрузить. В скрипте, который вы разместили у себя на сайте не забываем ещё указать специальный код, который скрипт должен выдавать для добавления HTTP-уведомления.
После того, как адрес для HTTP-уведомления добавлен, переходим к добавлению задачи для пинга вашего сервера. Тип проверки выбираем "Ping", частоту проверки, например, раз в 5 минут и отправку уведомления только после второй или третьей подряд ошибки.
И в итоге получаем следующую схему. Если вдруг ваш сервер завис окончательно и бесповоротно так, что даже не пингуется в течение 10 или 15 минут, то отправляется запрос к скрипту http://ваш_сайт.ру/hetzner_reset/hetzner_reset.php?server_ip=1.2.3.4, который уже в свою очередь перезгружает ваш сервер.
В моём случае это помогло существенно снизить время простоя сервера в нерабочем состоянии, т.к. раньше он по закону подлости зависал именно тогда, когда просто не было никакой возможно выйти в сеть, чтобы вручную его перезагрузить или хотя бы для начала даже увидеть, что он действительно завис. Конечно зависания происходят крайне редко, но тем не менее простой сервера в 1-2 дня или 15 минут - большая разница.
Надеюсь, эта информация окажется полезной.