Professional Web Software Development |
|
|
DF" Site Monitor (C++) - система мониторинга веб-сайтов. Система позволяет следить за доступностью и содержимым веб-сайтов: проверять на наличие и/или отсутствие на сайте заданного содержимого. Система может использоваться автономно или подключаться в качестве модуля к другим системам.
• Имеется веб-интерфейс для настройки системы и слежением за ходом проверки и состоянием сайтов. New • Многопоточность. Одновременное сканирование нескольких сайтов. • Малые требования к хостингу. Написана на С++, не использует: MySQL, cron, Perl, Php и прочее. New • Встроенный планировщик, позволяющий системе работать без использования cron. New • Поиск по маске. Маски позволяют более гибко анализировать html-код страниц. Например, с помощью масок вы можете определить находиться ли ваша ссылка в теле документа (<body>), закомментирована ли она, нет ли перед ней незакрытых html-тегов ограничивающих ее видимость на экране (<!--…-->,<script>,<textarea>) или запрета для индексирования ссылки в поисковых системах (<noindex>). New • Работа с заданиями. Проверка сайтов группы один раз, выполнение отчета и автоматическое удаление группы. New • Надежная проверка "подвисающих" сайтов, за счет увеличения числа проверок сайта при изменении его статуса на недоступен. New • Распознавание переадресаций(редиректов) и переход на переадресуемый сайт с последующей его проверкой. New • Возможность не учитывать при проверке сайтов параметры страницы (отбрасывание QUERY_STRING). • Интерфейс для подключения в качестве модуля к другим скриптам (API). Пример использования API на Perl. • Защита о перегрузки сервера. Имеется возможность ограничения числа проверяемых сайтов за один вызов скрипта. • Не ограниченное количество проверяемых сайтов. • Логирование изменений состояния веб-сайтов. • Проверяемые сайты делятся на группы с различными правилами проверки(мониторинга). Для каждой группы сайтов задается: - частота проверки сайтов в группе; - способ оповещения и события о которых, необходимо оповещать пользователя(E-Mail,вызов коммандной строки); - содержание которое должно присутствовать(например: Ваш баннер) и/или отсутствовать(например: скрипты, эксплойты) на сайтах данной группы. Количество пунктов в содержании не ограничено; - вести ли лог проверок. • Несколько способов информирования о смене состояния веб-сайта: - сообщение на E-mail (E-mail->SMS); - соединение с интернет-адресом и передача данных о новом состоянии веб-сайта методом GET; - запуск заданной командной строки и передача в поток данных о новом состоянии веб-сайта. • Задание параметров проверки для каждого веб-сайта(URL): - проверка на доступность страницы сайта (Uptime); - проверка на отсутствие заданного содержания (фреймы, скрипты, ActiveX); - проверка на наличие заданного содержания (баннеры, ссылки);
DF" Site Monitor:Управление системой и наблюдение за состоянием сайтов Работа с системой производится через административный веб-интерфейс. Администратор устанавливает систему и задает основные настройки системы (почтовые настройки, время системы, параметры запроса бота). Назначает способ, каким будет запускаться модуль проверки сайтов, с использованием системной службы cron или с применением собственного планировщика (Scheduler). Также, настраивает количество потоков и максимальное число проверяемых сайтов за один вызов модуля проверки, тем самым, устанавливая скорость проверки сайтов и ограничивая нагрузку на сервер. Все проверяемые сайты в системе разделены на группы. Поэтому для проверки сайтов сначала необходимо создать группу (Add Group) и задать ее параметры, а после добавить в неё сайты. Параметры группы определяют: с какой периодичностью будут проверяться сайты группы, о каких изменениях статуса сайтов необходимо информировать и каким способом, какое содержание должно присутствовать или отсутствовать на сайтах, нужно ли вести лог проверок и другие опции. Статус сайта определяется его доступностью и наличием или отсутствием назначенного содержания. При выявлении изменения статуса сайта происходит информирование администратора или сторонних систем о новом статусе сайта. Информирование может производиться одним из нескольких способов: сообщение на E-mail, передача данных стороннему веб-сайту методом GET, вызов сторонней программы с передачей данных в поток (stdin). При добавлении веб-адресов сайтов в группу, задаются параметры их мониторинга: проверяется ли сайт на наличие запрещенного или требуемого содержания. Проверка сайтов группы производится по порядку - сначала проверяются сайты проверка которых не производилось наибольшее время. Административный интерфейс позволяет следить за проверкой сайтов в реальном времени. Администратор имеет возможность просматривать статистику проверки групп и статус сайтов на указанное время проверки. Кроме этого имеется лог проверок. Более подробное описание по настройке системы, а также описание интерфейсов системы имеется в документации системы (справке). Принцип работы системы в качестве модуля. При использовании системы в качестве модуля административный интерфейс системы не используется. Все данные, о веб-адресах сайтов и параметрах их проверки, система получает из сторонних программ, используя специальные интерфейсы (API). Собранные после проверки сайтов данные система пересылает обратно сторонней программе или непосредственно на e-mail. Для обмена информацией между сторонними программами и системой используются: командная строка, стандартные потоки ввода/вывода (stdin/stdout) и переменные окружения. Это позволяет обмениваться информацией со сторонними скриптами и программами, написанными на различных языках программирования (Perl/Php/C++). Подробное описание интерфейсов для подключения к сторонним системам (API) описано в документации системы (справке). Кроме этого имеется пример скрипта на языке Perl демонстрирующий работу с системой в качестве модуля.
Модели (подверсии) системы: Система имеет несколько моделей различающихся функциональностью и ценой. Модели отличаются друг от друга максимальным количеством групп с сайтами и максимальным количеством сайтов в группе.
Легенда: |
||||||||||||||||||||||||||||||||||||||||||||