Сегодня мы поговорим, как ХостТрекер решает следующие задачи:
- Фиксация падений;
- Исключение ложных срабатываний;
- Расчет Uptime. Оптимистичный и пессимистичный сценарий.
Фиксация проблем и исключение ложных срабатываний
После того как пользователь добавляет сайт для мониторинга, система начинает его опрашивать с заданным интервалом. Интервал может быть в диапазоне от минуты до часа.
Проверки осуществляются с географически распределенных точек мониторинга. Это все независимые сервера, разнесенные по миру. Сейчас их более 20-ти.
Агент выбирается случайным образом из общего пула текущих рабочих агентов. Если при проверке точка вернула ошибку, то запускается процесс перепроверки с 5-7 независимых агентов. После перепроверки сайт считается «упавшим», если большинство точек подтверждают проблему. Иначе считается, что возникла локальная проблема на агенте, который зафиксировал «начальную ошибку».
Такой же алгоритм с определением «поднятия».
Алгоритм позволяет свести ложные срабатывания практически к нулю.
Подсчет статистики
Мы судим о недоступности сайта, только на основе проверок с заданным интервалом. Сказать со 100% вероятностью, что сайт делал между проверками, нельзя. Однако с большой вероятностью между двумя проблемными проверками — сайт лежит. А вот если после ошибки идет восстановление, то в этот интервал сайт может как лежать, так и работать. На основе этого мы рассчитываем пессимистичный и оптимистичный аптайм. О чем идет речь можно понять взглянув на рисунок.
Оптимистичный аптайм учитывается при расчете статистики. А при нотификации пользователей, в алертах даунтайм указывается по пессимистичному сценарию.
Да пребудет с Вами Uptime!
Автор: smiHT