Пример подключения DF™ Site Monitor к сторонним системам
(пример использования API)

Описание интерфейсов для подключения сторонних программ приведенно во внутренней справке системы. Здесь рассмотрен пример использования этих интерфейсов на языке Perl.

Выполняемая задача.

Проверка наличия вашей ссылки на сайтах, веб-адреса которых заданы в текстовом файле. Проверяется не только наличие ссылки на заданных сайтах. Требуется чтобы ссылка находилась в теле html-документа (<body>ссылка</body>), чтоб она не была закомментирована (<!-- ссылка -->) и не находилась между тегами noindex (<noindex>ссылка</noindex>). После проверки сайтов, веб-адреса сайтов распределяются по трем файлам: 1 — файл с веб-адресами сайтов, которые удовлетворяют всем заданным требованиям, 2 — файл с веб-адресами сайтов на которых не были соблюдены все требования, с указанием какое требование было нарушено и 3 — файл с веб-адресами недоступных сайтов.


Описание работы скрипта sm_io.cgi.

Скрипт производит экспорт веб-адресов сайтов из заданного файла в систему мониторинга DF SiteMonitor. После проверки сайтов скрипт получает данные от системы мониторинга и раскладывает их по трем файлам в зависимости от их статуса. Скрипт написан на языке Perl, обмен информацией производиться через стандартные потоки ввода/вывода, командную строку и переменные окружения. В данном примере проверка сайтов производиться один раз, данные о состоянии сайтов передаются из системы мониторинга по мере их проверки, после проверки информация о сайтах в системе мониторинга автоматически удаляется.


Скачать скрипт: sm_io.zip


Основные настройка скрипта.

$SM_PWD="df"; # пароль администратора системы мониторинга
$SM_GROUP="sm_io"; # название группы в системе мониторинга
$OUT_SCRIPT="perl ./sm_io.cgi"; # вызов скрипта из системы мониторинга
$IN_URLS_FILE="urls.txt"; # название файла с веб-адресами сайтов на проверку
$OUT_URLS_FILE_OK="urls_ok.txt"; # название файла с веб-адресами сайтов удовлетворяющих всем заданным условиям
$OUT_URLS_FILE_FAIL="urls_fail.txt"; # название файла с веб-адресами сайтов, которые не удовлетворяют заданным требованиям (формат строки: адрес сайта — не соблюденное требование)
$OUT_URLS_FILE_ERR="urls_err.txt"; # название файла с недоступными сайтами
$LINK="<a href=http://mydomain.com/test.html>test</a>"; # html-код ссылки, наличие которой проверяется на сайтах


Назначение требуемого и запрещенного содержания на сайтах:

@P=($LINK, "LINK not found", # требуем наличие ссылки на сайте "<body[~*~]".$LINK."[~*~]</body>", "LINK not in body"); # требуем наличие ссылки в теле документа
@B=("<body[~?+'<!--',-'-->'~]".$LINK, "<!-- LINK -->", # запрещаем наличие не закрытых тегов комментирования (<!--)
"<body[~?+'<noindex>',-'</noindex>'~]".$LINK, "<noindex> LINK </noindex>" ); # запрещаем наличие незакрытых тегов noindex перед ссылкой


В нечетных элементах массива содержится содержание, которое будет проверяться на страницах сайтов. В четных элементах комментарий к содержанию заданному в нечетном элементе, который будет писаться в файле с веб-адресами сайтов не удовлетворяющих заданному содержанию.


Запуск скрипта.

Скрипт может запускаться из командной строки с двумя параметрами: «проверка файла» (checkfile) и «отчет о проверке» (report). При вызове из браузера скрипт запускается с параметром «проверка файла».

При запуске скрипта с параметром «проверка файла» производиться экспорт данных в систему мониторинга. Запуск скрипта с параметром «отчет о проверке» производит сама система мониторинга для передачи собранной информации. Запуск скрипт должен производиться из той директории, где находиться система мониторинга.


Описание формата данных и команд используемых при обмене информацией между скриптом и системой мониторинга, имеется в документации системы (справке).