WEBO Pulsar: месяц в свободном плавании

WEBO PulsarВот уже месяц прошел с момента официального запуска нашего последнего детища — WEBO Pulsar — сервиса для отслеживания доступности сайта (упал / не упал, если упал — то почему) и любых ошибок, с нею связанных.

Мы немного улучшили интерфейс, добавили уведомления по смс и jabber'у, а также ввели автоматическую трассировку ошибок.

Интерфейс


Было проведено огромное количество улучшений и мелких фиксов (мы и сейчас активно работаем над новыми возможностями). Из наиболее существенного (на мой взгляд): появилась возможность просматривать график времени ответа (доступности) сайта в любом масштабе. При выделении области на графике она разворачивается на всю ширину, и есть возможность вернуться к первоначальному виду.
Увеличение масштаба на WEBO Pulsar
Также появилась возможность ставить проверки на паузу (чтобы не тратить деньги, если в ближайшее время по сайту информация не нужна), вывод данных в HTML-формате (в дополнение к CSV), и во всех форматах вывода (равно как и в письмах) появились (при соответствующей настройке).

Автоматическая трассировка


Чтобы максимально быстро понять, что с сайтом не так (когда приходит сообщение о его недоступности) мы решили использовать примерно следующий алгоритм:
1а. Если у нас ошибка определения IP-адреса сайта, то сначала пытаемся получить NS-сервер для заявленного сайта.
1б. Если NS-сервер доступен, то получаем IP-адрес(а) сервера (сначала основного, если не получается, то дополнительного). Отдельно обрабатываются случаи CNAME-записей.
1в. Дальше проверяем, доступен ли сам DNS-сервер (по IP).
1г. Если IP DNS-сервера доступен, то проверяем, открыт ли соответствующий порт и пробуем получить IP-адрес искомого сайта при помощи этого DNS-сервера.
2. Если IP-адрес сайта мы получили, то пытаемся простучать сервер как SYN-, так и ICMP-пакетами.
3. Если пакеты проходят (и вообще, мы уже получили какой-то код HTTP-ошибки с сайта), то выводим проблемные заголовки. Обычно в них содержится прямое указание на ошибку.

Данные, полученные описанным выше путем, помогают в 99% случаев определить, на каком уровне сетевой модели происходит ошибка, и по какой причине (сайт лег, провайдер не доступен, DNS-сервер не отвечает и т. д.). Все это доступно сейчас как в CSV-, так и HTML-формате экспорта данных по каждой проверке. Детальный анализ ошибки выполняется только при отправке уведомления (и также включается в уведомительное письмо).

Для DNS-ошибок, например, мы получим примерно следующую информацию
webo@pulsar# nslookup -q=NS -timeout=1 webo.in
Server:		89.111.176.254
Address:	89.111.176.254#53

Non-authoritative answer:
webo.in	nameserver = dns2.webdrive.ru.
webo.in	nameserver = dns1.webdrive.ru.

Authoritative answers can be found from:

-----------------------------

webo@pulsar# nslookup -timeout=1 dns2.webdrive.ru.
Server:		89.111.176.254
Address:	89.111.176.254#53

Non-authoritative answer:
Name:	dns2.webdrive.ru
Address: 212.158.162.5

-----------------------------

webo@pulsar# nslookup -timeout=1 dns1.webdrive.ru.
Server:		89.111.176.254
Address:	89.111.176.254#53

Non-authoritative answer:
Name:	dns1.webdrive.ru
Address: 213.189.213.54
...

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

Основные возможности сервиса


Планы


На сегодняшний день WEBO Pulsar проверяет несколько сотен сайтов в круглосуточном режиме, но это далеко не предел. В самых ближайших наших планах добавить проверку почтовых протоколов, а также открыть API для создания виджетов, которые могут уведомлять владельцев о неработающих сайтах даже еще быстрее, чем смс или jabber.

Мы также добавили на сайт виджет reformal.ru, чтобы пожелания по работе сервиса можно было отправлять напрямую. Для удобства пользователей адрес pulsar@webo.name работает в режиме 24/7, и мы оперативно реагируем на любые вопросы и замечания.

До новых встреч,
команда WEBO Software
@
28.09.2010 17:15 UTC
Первоисточник