Вот уже месяц прошел с момента официального запуска нашего последнего детища — WEBO Pulsar — сервиса для отслеживания доступности сайта (упал / не упал, если упал — то почему) и любых ошибок, с нею связанных.
Мы немного улучшили интерфейс, добавили уведомления по смс и jabber'у, а также ввели автоматическую трассировку ошибок.
Было проведено огромное количество улучшений и мелких фиксов (мы и сейчас активно работаем над новыми возможностями). Из наиболее существенного (на мой взгляд): появилась возможность просматривать график времени ответа (доступности) сайта в любом масштабе. При выделении области на графике она разворачивается на всю ширину, и есть возможность вернуться к первоначальному виду.
Также появилась возможность ставить проверки на паузу (чтобы не тратить деньги, если в ближайшее время по сайту информация не нужна), вывод данных в 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 проверяет несколько сотен сайтов в круглосуточном режиме, но это далеко не предел. В самых ближайших наших планах добавить проверку почтовых протоколов, а также открыть API для создания виджетов, которые могут уведомлять владельцев о неработающих сайтах даже еще быстрее, чем смс или jabber.
Мы также добавили на сайт виджет reformal.ru, чтобы пожелания по работе сервиса можно было отправлять напрямую. Для удобства пользователей адрес pulsar@webo.name работает в режиме 24/7, и мы оперативно реагируем на любые вопросы и замечания.
До новых встреч,
команда WEBO Software
Мы немного улучшили интерфейс, добавили уведомления по смс и jabber'у, а также ввели автоматическую трассировку ошибок.
Интерфейс
Было проведено огромное количество улучшений и мелких фиксов (мы и сейчас активно работаем над новыми возможностями). Из наиболее существенного (на мой взгляд): появилась возможность просматривать график времени ответа (доступности) сайта в любом масштабе. При выделении области на графике она разворачивается на всю ширину, и есть возможность вернуться к первоначальному виду.
Также появилась возможность ставить проверки на паузу (чтобы не тратить деньги, если в ближайшее время по сайту информация не нужна), вывод данных в 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 ...
Если у уважаемой публики будут предложения, как можно улучшить алгоритм для ее нужд — мы с радостью проведем модернизацию.
Основные возможности сервиса
- Проверка сайтов по протоколам HTTP и HTTPS методами HEAD, GET, POST (последний с отправкой POST-данных).
- Поддержка HTTP-авторизации.
- Частота проверки: раз в сутки, раз в час, раз в 30 минут, раз в 10 минут, раз в 5 минут, раз в минуту.
- Проверка времени ответа сайта (без учета сетевых задержек).
- Уведомления о недоступности или слишком большом времени ответа через e-mail, смс, jabber.
- Задание количества дополнительных проверок перед отправкой сообщения об ошибке (дополнительные проверки выполняются с частотой раз в минуту).
- Проверка наличия в ответе ключевой фразы / строки.
- Детальный лог анализа недоступности.
- Стоимость проверки 1 сайта в месяц: до 150 рублей.
- Работа с юридическими лицами
Планы
На сегодняшний день WEBO Pulsar проверяет несколько сотен сайтов в круглосуточном режиме, но это далеко не предел. В самых ближайших наших планах добавить проверку почтовых протоколов, а также открыть API для создания виджетов, которые могут уведомлять владельцев о неработающих сайтах даже еще быстрее, чем смс или jabber.
Мы также добавили на сайт виджет reformal.ru, чтобы пожелания по работе сервиса можно было отправлять напрямую. Для удобства пользователей адрес pulsar@webo.name работает в режиме 24/7, и мы оперативно реагируем на любые вопросы и замечания.
До новых встреч,
команда WEBO Software