Рейтинг доступности сайтов
Рейтинг доступности веб-сайтов был построен при помощи WEBO Pulsar, универсального инструмента для отслеживания технического состояния сайта. Согласно ему только за прошедшую неделю odnoklassniki.ru потеряли почти полмиллиона посетителей из-за трехчасовой недоступности. А lib.ru - почти двести тысяч.
Техническое состояние веб-сайтов анализируется раз в минуту сетью независимых точек проверки. Только на основании данных всей сети делается вывод о недоступности конкретного веб-сайта. Посещаемость большинства веб-сайтов Рунета может быть получена либо из рейтинга Liveinternet, либо с помощью данных Alexa.
Проверки FTP, DNS, Ping и другие новые возможности
Новые типы проверок
Теперь вы можете проверять ваш файл-сервер по протоколам FTP или FTPS, проверять DNS-сервер, контролируя его записи A, MX, CNAME, SOA а также проверять время отклика сервера с помощью команды Ping. Для всех новых типов проверок традиционно строятся удобные графики времени отклика, помимо этого, возможно создание детальных логов в случае недоступности проверок.
Для того, чтобы добавить проверку FTP-сервиса, достаточно указать соответствующий URL. Тип проверки можно уже не указывать: как и в случае с протоколами HTTP и HTTPS система сама определит тип проверяемого ресурса.
Если вы хотите проверять DNS, нужно выбрать соответствующий тип проверки (A, MX, CNAME, SOA) и указать контролируемый DNS-сервер, а для проверок записей A и CNAME еще и ожидаемый ответ, соответственно IP-адрес или каноническое имя сервера. Если по какой-то причине DNS-сервер будет отвечать на запросы неверно, вы сразу же об этом узнаете.
Ping — один из самых простых типов проверок, который, однако, позволяет контролировать процент потерянных пакетов. Если заданный порог будет превышен, проверка будет считаться недоступной.
Доступ к статистике ваших проверок и редактирование сайта
Это нововведение позволяет предоставлять доступ к данным ваших проверок другим пользователям WEBO Pulsar. Для того чтобы начать пользоваться этой возможностью достаточно добавить пользователей в Адресную книгу на странице Аккаунт. После этого при редактировании сайта вы сможете указывать пользователей, которые смогут просматривать ваши графики доступности.
В каких ситуациях это нужно? Например, тогда, когда вы хотите показать коллеге результаты ваших проверок, но не хотите, чтобы он имел возможность изменить или удалить какие-то проверки. Конечно, можно отправить ему HTML-отчет или скриншот, но иногда гораздо удобнее предоставить ему возможность самому получать необходимую информацию.
Кнопка редактирования сайта теперь находится там, где была кнопка удаления. Кстати, помимо настроек доступа теперь можно изменить название вашего сайта. Если же у вас есть права только на просмотр проверок, то вместо иконки редактирования вы увидите иконку замочка. Сами проверки изменить, конечно же, тоже будет нельзя.
Другие запланированные нововведения
Мы в WEBO Software неустанно трудимся для вас, и к Новому Году планируем еще несколько полезных возможностей. Совсем скоро в WEBO Pulsar вы сможете:
- создавать проверки по почтовым протоколам SMTP, POP3, IMAP,
- получать по электронной почте подробные еженедельные или ежемесячные отчеты о результатах всех ваших проверок,
- доставлять уведомления о недоступности проверок любым людям из вашей адресной книги.
Диагностика проблем с доступностью
Между WEBO Pulsar и проверяемым веб-ресурсом могут находиться десятки промежуточных узлов и проблемы могут возникнуть на любом из них. Может быть недоступен маршрутизатор магистрального провайдера, может не работать коммутатор в дата-центре, а может быть отключен сетевой интерфейс на самом сервере. Каждая из этих ситуаций требует соответствующей диагностики.
В первую очередь нужно определить на каком уровне модели OSI и на каком узле возникли проблемы. После этого можно предпринять соответствующие шаги для ее решения.
Уровни, на которых могут возникать проблемы
На 5, 6 и 7 уровнях модели OSI диагностические возможности удаленного сервера довольно ограничены. Тем не менее, если соединение с проверяемым ресурсом по соответствующему протоколу было установлено, но по каким-то причинам ответ веб-ресурса отличается от ожидаемого, то можно с уверенностью сказать, что проблема находится на самом проверяемом сервере, и что она возникает на верхних уровнях модели OSI. Дополнительная информация, которую может получить удаленный сервер, будет зависеть от конкретного используемого протокола. Например, для протокола HTTP это будут переданные HTTP заголовки.
Для диагностики ошибок на 1-4 уровнях (а также диагностики ошибок DNS, хотя это и 7й уровень модели OSI) в первую очередь удаленный сервер должен определить, не возникли ли проблемы у него самого. Например, может быть недоступен его DNS-сервер или отключен коммутатор в дата-центре.
Самодиагностика WEBO Pulsar
Для самодиагностики сервис WEBO Pulsar использует набор контрольных точек, среди которых и сервера WEBO Software и просто общедоступные ресурсы с высоким процентом доступности. Недоступность одной из контрольных точек и доступность всех остальных еще не является поводом для поиска проблем на самом сервере WEBO Pulsar. Но недоступность нескольких контрольных точек уже является серьезным поводом для беспокойства. Разумеется, контрольные точки должны быть размещены в различных сетях, а еще лучше в разных странах. Кроме того контрольные точки желательно задавать с использованием доменного имени, а не IP-адреса. Это позволит одновременно убедиться и в том, что DNS-сервер доступен и работает корректно.
Если контрольные точки доступны, то искать проблему нужно в другом месте.
Диагностика проблем с определением IP-адреса сервера
- На всякий случай проверим еще раз, доступен ли DNS-сервер с помощью telnet, nmap, ping или любой другой подходящей утилиты.
webo@pulsar# nmap -p 53 192.168.1.1
Starting Nmap 5.00 ( http://nmap.org ) at 2010-09-29 15:27 MSDInteresting ports on 192.168.1.1:PORT STATE SERVICE53/tcp open domain
Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds
- Попробуем получить NS запись для проверяемого домена.
webo@pulsar# nslookup -q=NS webo.inServer: 192.168.1.1Address: 192.168.1.1#53
Non-authoritative answer:webo.in nameserver = dns1.webdrive.ru.webo.in nameserver = dns2.webdrive.ru.
Authoritative answers can be found from:dns2.webdrive.ru internet address = 212.158.162.5dns1.webdrive.ru internet address = 213.189.213.54
Здесь мы видим две NS-записи для проверяемого домена: dns1.webdrive.ru и dns2.webdrive.ru. Дальше будем диагностировать уже их. Но возможен и другой вариант.
webo@pulsar# nslookup -q=NS www.webogroup.com
Server: 192.168.1.1Address: 192.168.1.1#53
Non-authoritative answer:www.webogroup.com canonical name = cs78.ngenix.net.
Authoritative answers can be found from:ngenix.netorigin = ns.ngenix.netmail addr = noc.ngenix.netserial = 1285244204refresh = 28800retry = 7200expire = 604800minimum = 86400
В этом случае доменное имя является синонимом другого имени. В качестве доменного имени теперь следует использовать cs78.ngenix.net, а в качестве nameserver — сервер ns.ngenix.net.
Если же ни одной NS или CNAME-записи получить не удалось, то проблема локализована. Скорее всего, домен не делегирован. В первую очередь нужно проверить сроки делегации домена и NS-записи для него.
- Если же проблема по-прежнему не локализована, попробуем определить IP-адреса обнаруженных NS-серверов.
webo@pulsar# nslookup ns.ngenix.net
Server: 192.168.1.1Address: 192.168.1.1#53
Non-authoritative answer:Name: ns.ngenix.netAddress: 93.93.93.93
Если на этом шаге не удается определить IP-адреса ни одного из NS-серверов, то проблема локализована.
- Последнее, что можно сделать — проверить доступность самих NS-серверов, убедиться, что на них доступен 53 порт и работает служба DNS. Разумеется, проверять это имеет смысл только для тех NS-серверов, для которых удалось определить IP-адрес.
webo@pulsar# traceroute -T -n -p 53 93.93.93.93traceroute to 93.93.93.93 (93.93.93.93), 30 hops max, 56 byte packets1 192.168.1.1 1.265 ms 2.230 ms 2.693 ms2 212.5.114.1 12.918 ms 13.080 ms 13.100 ms3 87.118.210.201 13.068 ms 14.752 ms 14.751 ms4 87.118.192.170 14.782 ms 14.806 ms 14.833 ms5 195.128.64.74 15.538 ms 15.570 ms 15.596 ms6 217.150.38.58 15.626 ms 15.596 ms 14.668 ms7 217.150.45.142 153.807 ms 143.696 ms 143.542 ms8 193.232.226.22 15.875 ms 15.867 ms 14.312 ms9 78.41.104.133 9.346 ms 9.324 ms 9.136 ms10 93.93.93.93 9.743 ms 9.424 ms 9.389 ms
webo@pulsar# nmap -n --max-retries 4 -PS53 -p53 -PN 93.93.93.93
Starting Nmap 5.00 ( http://nmap.org ) at 2010-09-29 16:51 MSDInteresting ports on 93.93.93.93:PORT STATE SERVICE53/tcp open domain
Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds
webo@pulsar# nslookup cs78.ngenix.net 93.93.93.93Server: 93.93.93.93Address: 93.93.93.93#53
Name: cs78.ngenix.netAddress: 78.41.104.43
Таким образом, мы можем понять, на каком этапе определения IP-адреса возникают проблемы. Конечно же, никто не гарантирует, что проблема только в определении IP-адреса. Одновременно с этим сам сервер может быть отключен или вообще уничтожен. Но это уже другая проблема.
Определяем проблемы на промежуточных узлах
Для нижних уровней модели OSI все несколько сложнее. Эти проблемы проявляются в виде ошибок libcurl, таких как CURLE_COULDNT_CONNECT (7), CURLE_OPERATION_TIMEDOUT (28), CURLE_SEND_ERROR (55) и CURLE_RECV_ERROR (56).
Часто тут можно определить лишь проблемный узел, но не уровень, на котором возникли проблемы. Для удаленного сервера поврежденный кабель между маршрутизаторами и неправильная маршрутизационная таблица могут выглядеть одинаково. Так что в этом случае остается только одно — провести трассировку маршрута с помощью утилиты traceroute. Желательно это сделать в двух режимах: ICMP и TCP/UDP.
Как видно, трассировки ICMP пакетами было бы недостаточно, т.к. на ICMP пакеты сервер не отвечает. Дополнительная трассировка с помощью TCP пакетов на 80 порт помогла установить, что сервер все-таки доступен.
Подводим итоги
Итак, диагностика проблем подразделяется на 3 основных вида: диагностика проблем с DNS, диагностика проблем на верхних уровнях модели OSI и трассировка маршрута к серверу. В зависимости от результата проверки WEBO Pulsar выбирает подходящий вариант и автоматически проводит дополнительные исследования (если включена опция «Создавать детальный лог при недоступности»). Результаты можно увидеть в личном кабинете или в уведомлении по e-mail. Это поможет быстрее понять, где именно возникла проблема, кто и как будет ее решать. В случае проблем на сервере работы прибавится администратору сервера, в случае проблем в датацентре нужно срочно связаться с техподдержкой, а в случае проблем у магистрального провайдера нужно успокоиться и подождать — от нас с вами в таких случаях мало что зависит.
Проблемы доступности сайта
Доступность сайта - вещь весьма непредсказуемая. Иногда из дома (или с работы) сайт открывается, а у ваших друзей - нет. Иногда сайт то открывается, то не открывается. Или открывается очень медленно. Установить проблему в каждом конкретном случае бывает сложно, но давайте рассмотрим основные типы этих проблем:
Недоступность крупного сегмента сети. В этом случае пользователи из одного сегмента сети не могут получить доступ к сайтам другого сегмента (например, из-за ошибок маршрутизации). Это достаточно легко установить специальными утилитами, но поделать в этом случае обычно ничего нельзя. И проблемы такого уровня (глобального) обычно затрагивают десятки и сотни тысяч сайтов, и решают их очень быстро.
Здесь остается только сидеть и ждать. И надеяться, что ваши пользователи оказались в той же лодке (в том же сегменте), что и ваш сайт.
Недоступность хостера (мелкого сегмента сети). В этом случае проблемы обычно заключаются на стороне самого провайдера (и поэтому могут быть исправлены не столь быстро). Точно установить частоту и характер этих проблем вручную практически невозможно, но относительно легко при использовании средств автоматического мониторинга.
Здесь необходимо при любом простое больше 10-30 минут писать в техническую поддержку вашего провайдера: может быть, они и не знают, что что-то отвалилось?
Большое время ожидания. В этом случае, по факту, сайт работает. И открывается для всех пользователей. Но не все пользователи могут его дождаться :)
Это тоже можно проверить (серверное время ожидания с помощью WEBO Pulsar, а общее время загрузки - webo.in. Если время создания страниц сайта слишком велико, то стоит применить оптимизационные мероприятия. Иначе будут большие потери среди целевых пользователей.
HTTP-ошибки на сайте. Достаточно часто бывает так, что из-за большой нагрузки (или сбоя оборудования хостера) сайт начинает выдавать ошибку (500, 502, 503 или подобную). Отследить такие моменты и вовремя перевести сайт или целевых пользователей тоже можно, но это уже потребует особого внимания.
Для этой цели (когда, какое время, и с какой частотой) лучше всего подойдет именно WEBO Pulsar. С его помощью вся неказистая «кухня» провайдера выйдет наружу, и вы будете четко знать, что происходит с вашим сайтом.
Сбой в работе сайта. Иногда с сайтом (в силу аппаратного сбоя или изменения сетевой конфигурации хостинг-провайдера) происходят незначительные происшествия, которые на доступность прямым образом не сказываются, но часть функционала сайта оказывается нерабочей. Например, перестают обрабатываться запросы к базе данных. Или начинают выводиться отладочные сообщения.
Отследить такую ситуацию можно только просмотрев сам сайт (или проверив его основной функционал). С помощью WEBO Pulsar вы можете проверить как наличие определенного текста на странице, так и его отсутствие. Это позволяет максимально оперативно отреагировать на проблему.
Сбой в работе WEBO Pulsar
Из-за аппаратного сбоя, произошедшего в нашем дата-центре, вся статистика WEBO Pulsar с 15 часов 9 октября до 9 часов утра 10 октября стала недоступна. Мы среагировали на эту проблему настолько быстро, насколько это можно было сделать субботним вечером, но последствия оказались достаточно серьезными: данные о произведенных за этот период проверках восстановить не удалось.
Какие были приняты меры для того, чтобы подобной ситуации не повториться в будущем? Мы развернули два резервных сервера для контроля работы WEBO Pulsar и оперативного реагирования на аналогичные аппаратные проблемы. Кроме этого до конца текущего года в плановом порядке мы введем в эксплуатацию несколько новых точек проверки в разных городах России и, возможно, Европы. Это позволит непрерывно контролировать веб-ресурсы из разных географических точек, причем даже если один или несколько серверов выйдут на какое-то время из строя. Об этом мы обязательно сообщим отдельно.
Хочется также заметить, что всем, у кого на момент сбоя были активные проверки в WEBO Pulsar мы компенсировали утраченные средства в двойном объеме. Спасибо за ваше понимание.
Все о дополнительных проверках
Вне зависимости от типа и частоты, дополнительные проверки всегда выполняются с интервалом в одну минуту и производятся автоматически при наступлении любого проблемного события, будь то недоступность какого-то веб-ресурса или превышение его времени ответа. Число таких проверок может быть в пределах от нуля до пяти, но что действительно важно — все дополнительные проверки выполняются абсолютно бесплатно.
Основное назначение дополнительных проверок — не допустить отправки соответствующих уведомлений, если возникшая проблема носит кратковременный характер.
Например, вы можете использовать услуги виртуального хостинга и знать что время ответа вашего сайта периодически может достигать пиковых значений. При этом появление этих пиков может быть обусловлено не проблемами самого сайта или его неравномерной нагрузкой, а нестабильной работой вашей хостинговой площадки.
В такой ситуации дополнительные проверки удобно использовать в качестве фильтра, чтобы получать уведомления только тогда, когда время ответа превышает заданный порог в течение нескольких минут подряд. В противном случае вы рискуете получать на почтовый ящик по письму в час.
Если рассматривать случай, приведенный на скриншоте, то точная хронология событий для проверки может выглядеть следующим образом (пусть это будет проверка HTTPS/POST, раз в 10 минут):
...
16:25 — время ответа превышено (следующая проверка запланирована на 16:35)
16:26 — производится первая дополнительная проверка, проблема подтверждается, отправляется уведомление по e-mail
16:27 — производится вторая дополнительная проверка, проблема подтверждается
16:28 — производится третья дополнительная проверка, проблема не подтверждается (проблема носила краткосрочный характер, не требует срочного вмешательства, а значит и лишнего расхода на срочную отправку СМС)
16:35 — производится очередная плановая проверка
...
Считаете, что пяти дополнительных проверок недостаточно? Есть какие-то предложения о том, как улучшить концепцию использования таких проверок? Мы с радостью примем ваши комментарии и предложения.
Знакомство с WEBO Pulsar
Основная задача WEBO Pulsar — контроль за доступностью ваших сайтов и веб-сервисов. Он выполняет проверки заданных URL с определенной вами частотой (от одной проверки в минуту до одной проверки в сутки) по протоколам HTTP, HTTPS. В ближайшем будущем появится поддержка протоколов SMTP, IMAP, MySQL и ряда других. Поддерживаются проверки методами HEAD, GET и POST. Последняя дает возможность контролировать результат отправки формы, т.е. например, результат добавления товара в корзину или входа в персональный аккаунт.
Но мало толку от проверки сайта, если об обнаруженных проблемах нельзя своевременно узнать. Мы выделяем несколько типичных проблем: недоступность веб-ресурса, превышение времени ответа, отсутствие указанного текста в ответе. При возникновении любой из перечисленных проблем сервис может рассылать уведомления по e-mail, sms, jabber (к этому списку скоро добавятся уведомления через twitter). WEBO Pulsar бережно хранит всю собранную статистику и позволяет получить эту статистику за любой день, за весь период проверок. С точностью до каждой единичной проверки. Статистика отображается на масштабируемых графиках, а также может быть в один клик выгружена в форматах CSV или HTML.
Одним из наших приоритетов при создании сервиса было обеспечение минимальной стоимости проверок, для того, чтобы найти применение сервису могли все, от студентов до крупных организаций. И с этой задачей мы пока справляемся, взгляните на наши цены. Вы можете быть уверенным в доступности своего интернет-магазина всего за 12 рублей в месяц. Это при регулярных проверках с частотой раз в десять минут. За такие деньги вы не везде бутерброд купите. Если же вам требуется контроль целого парка веб-сайтов, у нас тоже есть для вас решение. Мы заключаем договора на обслуживание компаний, предоставляем нотариально заверенные подтверждения доступности (и недоступности тоже).
Если у вас еще нет аккаунта WEBO Pulsar, зарегистрируйтесь прямо сейчас и вы беслатно получите на счет средств, в размере достаточном для нескольких недель проверок.
Возникла необходимость в новой фиче? Не удобен интерфейс? Есть вопросы по поводу ваших проверок? Присылайте ваши вопросы и предложения почтой, в комментарии или через сервис Реформал (вы ведь наверняка уже заметили кнопку Оставьте ваш отзыв, в самом сервисе?). Мы всегда рады вашему участию.