У меня есть сервер vps, размещенный на собственном сервере, и я хочу всегда видеть его статус в системном трее моей домашней машины (доступен он или нет). Для этой цели я написал простой bash-скрипт, который выглядит следующим образом:
#! /bin/bash
while true
do
if ping -c 1 -W 1 vps > /dev/null
then
# Draw green icon in the tray
else
# Draw red icon in the tray
fi
sleep 1
done
Вот и все. Могут ли такие постоянные запросы иметь какое-либо значимое влияние на пропускную способность, и может ли хостинг-провайдер считать такое поведение подозрительным? Есть ли более эффективные способы мониторинга подключения?
решение1
Обмен комментариями заставил меня глубже задуматься над вопросом, и в конечном итоге это привело к цепочке мыслей, требующей реального ответа.
Ответ будет отрицательным, пингование не является хорошим способом мониторинга подключения к VPS, если ваша цель — узнать, работает VPS или нет.
Команда ping (или ICMP-запрос) в этом вопросе отправляет небольшой пакет с вашего компьютера на ваш маршрутизатор, в Интернет, в центр обработки данных, на его маршрутизаторы и, возможно, на сервер и, наконец, на ваш виртуальный экземпляр на этом сервере.
Часто в дата-центрах в сети есть интеллектуальные коммутаторы, которые обнаруживают запросы ICMP, и эти коммутаторы отвечают и подтверждают ваш запрос ICMP. Пингование не скажет вам, работает ли ваш VPS или нет.
Кроме того, если вы пингуете со своего компьютера, то где-то в вашей сети есть проблемы: например, плохое подключение к Интернету, неисправный модем/маршрутизатор не сможет отправить запрос ICMP, возвращая неверный ответ на запрос, который, учитывая, что вы пингуете свой VPS, может дать вам понять, что VPS не работает, но на самом деле это был ваш собственный Интернет.
Домашние сети гораздо чаще работают некорректно по сравнению с сетями центров обработки данных и VPS-серверами.
Конечно, VPS может выйти из строя, но использование ICMP-пакетов не скажет вам, произошло это или нет.
Во многих случаях, когда вы арендуете VPS, у провайдера также есть страница статуса обслуживания, которую вы можете посмотреть. Эта страница часто автоматически генерируется инструментами мониторинга, и они более точны.
Кроме того, на вашем VPS также можно установить инструменты мониторинга, которые периодически проверяют соединение с удаленным сервером, и если эта проверка не удалась, удаленный сервер сообщает: «Эй, я пропустил проверку с сервера X», и отправляет вам электронное письмо, если это происходит, скажем... 5 раз подряд.
Последний вариант — лучший для вас. Если вы хороши в программировании, вы можете запрограммировать что-то простое на php, хотя вам понадобится услуга веб-хостинга в другом месте. VPS откроет URL в браузере, эта страница будет обновляться каждые 10 секунд, и эта страница также запишет последнее обновление в журнал. Задание cron на том же веб-сервере проверяет это последнее обновление и, если оно произошло слишком давно, отправляет вам письмо.
Конечно, если VPS перезагрузится, вам придется снова открыть браузер, но есть способы автоматизировать этот процесс.
Существуют также программы, специально предназначенные для мониторинга серверов, но я не могу вспомнить ни одной дешевой.