Как найти ЗЛО

Что и говорить. В нашем корпоративном интернет-канале поселилось ЗЛО. Это нечто эфемерное. Эдакий собирательный образ из пользователей, зависающих на фотошарах и блуждающих в интернет-магазинах. И это зло отожрало трафик. Отожрало жестко.
Получив в очередной раз таймаут от нужного сервера я вышел на тропу войны. Тоесть пошел анализировать логи прокси-сервера MS ISA 2004.
Я уже описывал скрипт для анализа логов прокси-сервера Анализ журналов ISA 2004 из скрипта на VBS.
Нет. Со скриптом все в порядке. Он рабочий. Только при анализе логов я столкнулся с дилеммой:
«Что выбрать в качестве критериев отбора? Количество записей в журнале или объем принятых/переданных данных?»
Ситуация такова, что один человек может по необходимости «снять» большое обновление необходимой программы или технологическая софтина может с частотой раз-в-пару-минут качать свои байты. А разбираться в каждом случае неохота. Нужен комплексный показатель.
И я такой придумал. Как сказал мой прежний шеф: сложил танки с лифчиками. Вернее умножил. Я умножил количество строк в журнале для одного ресурса (пользователь или удаленный хост) на количество принятых/переданных данных по этому ресурсу. Бред? Ага! И цифры бешенные. Тогда я ввел понижающий коэффициент и порог для прохождения значений в отчет. Таким образом, я поменял колонку Price (которая для этого и задумывалась) на Evil. Соответственно были откорректированы SQL-запросы.
Что дальше? Открываем сформированный отчет в Exel и упорядочиваем данные по колонке Evil по убыванию. В самом верху списка и есть зло с которым надо разобраться.
Если кого интересует «как разобраться» спросите в коментах – отвечу.
Кроме того, я ввел в отчет еще одну колонку Items, в которую прописываю количество уникальных записей на ресурс. Тесть если отче строится по хостам – то в данной колонке для каждого хоста будет содержаться уникальное количество пользователей, которые посетили этот хост.
Эта информация удобна для того, чтобы понять популярность данного ресурса.
Настройки
Они не изменились (лишь дополнились). Привожу их повторно:
QueryType - принимает значения:
1 - выборка по хостам.
2 - выборка по пользователям.
RuleName - имя правила, которое разрешает доступ в интернет.
dbPath - путь к каталогу с базами журналов, может быть примэпленный диск.
strPath - путь к каталогу в котором создастся отчет. Если параметр пустой отчет созтастся рядом со скриптом.
SearchValue - ограничение для запроса. Может принимать значение либо имя пользователя либо хоста. Например если QueryType=1, то SearchValue принимает имя пользователя и выводит перечень хостов которые посещал данный пользователь в указанный период.
Period - последние N дней включая текущий за которые производится отчет.
Server - имя сервера.
Новые настройки
Rate - коэффициент для отсева шума.
Limit - лимит для прохождения в список.

Скрипт находится здесь download. Вес 8К.
В архиве:
isalogprocessor.vbs – предыдущий скрипт
isalogprocessor.tpl – шаблон отчета к предыдущему скрипту
isalogprocessor_evil.vbs – текущий скрипт
isalogprocessor_evil.tpl – шаблон отчета к текущему скрипту
exceptions.txt – файл исключений (пример)

В предыдущем посте Анализ журналов ISA 2004 из скрипта на VBS ссылка на архив изменена.
Это все. Если у кого есть опыт решения подобных задач - прошу поделиться.