Анализ журналов ISA 2004 из скрипта на VBS

В процессе поддержки прокси-сервера ISA 2004 зачастую становится задача определить самые посещаемые сайты или выбрать реестр самых злобных интернетчиков.
В ISA 2004 с этим особенных проблем нет, ведь все журналы по умолчанию ведутся в базе данных. Особенно при умении строить SQL-запрос.
Есть только одно НО. На каждый день создается новый файл баз данных. И поэтому строить запросы на период более одного дня не очень удобно.
Конечно существует ряд продуктов позволяющих автоматизировать процесс анализа журналов.
Но это дополнительное программное обеспечение. Причем не всегда FreeWare. Я же исхожу из предположения: чем меньше софта - тем меньше работы по его администрированию :)
По этому я за скрипты. Кроме того скрипт - это бесплатно! :) Да и изменить можно в любой момент.

Вот на свет и явился скрипт который перебирает файлы журналов за выбранный период времени и в каждой базе выполняет запрос. Результаты запроса объединяются и выводится отчет в формате Excel (как из скрипта выводить в Excel как в простой текстовый файл я описал тут http://webveter.blogspot.com/2007/10/ms-office-ms-office.html).
Что собственно дает скрипт? Решить например такие задачи:
- сформировать перечень 20 самых посещаемых сайтов и вывесить на внутреннем сайте;
- проанализировать самые посещаемые сайты, и заблокировать ненужные (например банерные службы). Так например я отслеживаю какие машины пытаются идти в сеть за обновлениями винды;
- выбрать пользователей, которые слишком много времени проводят в интернете;
- проанализировать кто посещает конкретный сайт;
- проанализировать куда ходит конкретный пользователь.
Для одного скрипта много? Да нет! Запрос к базе данных практически один и тотже. Просто рассматриваются разные срезы выборки.
Итак настройки (в заголовке скрипта):
QueryType - принимает значения:
1 - выборка по хостам;
2 - выборка по пользователям;
RuleName - имя правила, которое разрешает доступ в интернет;
dbPath - путь к каталогу с базами журналов, может быть примэпленный диск;
strPath - путь к каталогу в котором создастся отчет. Если параметр пустой отчет созтастся рядом со скриптом;
SearchValue - ограничение для запроса. Может принимать значение либо имя пользователя либо хоста. Например если QueryType=1, то SearchValue принимает имя пользователя и выводит перечень хостов которые посещал данный пользователь в указанный период.
Period - последние N дней включая текущий за которые производится отчет.
Server - имя сервера.
Это все. О! Забыл. Есть еще файл в который прописываются пользователи и хосты для исключения из отчета.
Теперь все! :)
Сам скрипт (архив 3 К) download

Продолжение поста:
Как найти ЗЛО

2 комментария:

Unknown комментирует...

Очень заманчивая возможность. Применимо ли к логам ISA2006 ? Просто при обработке логов 2006 исы формируется xls файл только с заголовком, без информации из логов. Обязательно ли указывать разрешающее правило в скрипте?

webveter комментирует...

Если ISA2006 работает с MSDE или другим SQL-сервером почему нет? Но тюнинг конечно понадобится.
Переменная уходит в запрос. Поправьте что нужно. Ведь это текстовый файл. У меня в работе уже несколько вариаций скрипта. Под разные нужды