gifts2017

Загрузка лога kerio в MSSQL

Опубликовал Федот (zzhiraf) в раздел Администрирование - Системное

Парсинг и загрузка лога kerio 7.4.2 в MSSQL 2008. Построение отчетов на СКД к внешним источникам данных

Столкнулся с проблемой анализа наиболее посещаемых сайтов в компании. Топ 10 сайтов за прошлый месяц. 

А также с задачей составить отчет по деятельности пользователя, чтобы все хранилось в одном месте.

В результате придумал такую вещь. Все грузим в таблицу MSSQl, далее в 1С подключаем эту таблицу как внешний источник данных и строим различные отчеты

1. Разбираем файл лога Kerio

 Формат файла следующий:

[11/Nov/2014 14:17:28] 192.168.31.9 - "Яндекс" http://ya.ru/

Дата

IP адрес компьютера

Заголовок браузера

Интернет ссылка

Файл довольно объемный у меня весит около 300 метров. Для чтения из 1С использую объект «ЧтениеТекста». Перебираю строки и парсю их на составляющие. Иногда попадаются недопустимые символы. С помощью функции 1С «НайтиНедопустимыеСимволыXML» избавляюсь от них.

2. Создаем хранимую процедуру на MSSQL

 Хранимая процедура

INSERT INTO KerioLog.dbo.Log

    ([id] ,[IP],[Text],[DateEvent],[Ost])

    VALUES (@id, @IP,@text,@DataEvent,@Ost)

3. Создаем внешний источник данных в 1С

Подключаюсь к MSSQL через стандартный драйвер.

Строка подключения:

DRIVER={SQL Server};SERVER=server1C;UID=sa;PWD=password;DATABASE=KerioLog

 Добавляю таблицу и функцию.

Внешняя таблица

Внешняя таблица

На закладке дополнительно указываю права отдельно на таблицу и отдельно на функцию.

Более подробно подключение к внешним источникам описано здесь: http://infostart.ru/public/90666/

 При первом запуске в режиме Предприятия будет выводиться оконо с запросом аутентификации к MSSQL серверу.

Пароль для подключения

4. Запускаем обработку загрузки данных в таблицу

ВнешниеИсточникиДанных.LogKerio.dbo_insert_log(ТекИтерация,ИП, СтрокаURL,ДатаСоб,Остаток);

В поле «Остаток» я записывал домен из СтрокиURL. Далее в отчете я компоновал по этому полю и получал количество посещений одного сайта.

5. Строим отчет по таблице через компоновку данных

 ВЫБРАТЬ
                dbo_Log.IP КАК IP,
                dbo_Log.Text КАК URL,
                dbo_Log.DateEvent КАК ДатаСобытия,
                dbo_Log.Ost КАК Домен,
                dbo_Log.Text КАК КоличествоUrl,
                НАЧАЛОПЕРИОДА(dbo_Log.DateEvent, ДЕНЬ) КАК НачалоДня
 ИЗ
                ВнешнийИсточникДанных.LogKerio.Таблица.dbo_Log КАК dbo_Log
 ГДЕ
                dbo_Log.DateEvent МЕЖДУ &НачалоПериода И &КонецПериода
 УПОРЯДОЧИТЬ ПО
                ДатаСобытия

 В настройках отчета создал 2 варианта:

Самые посещаемые сайты 

Посещаемые сайты по дням

Самые посещаемые сайты

Оформил все в виде отдельной конфигурации. 

Обработка загрузки данных из Kerio и отчет к внешней таблице.

Конфигурация будет полезна для быстрого понимания, как работать с внешними источниками данных.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Конфигурация KerioLog
.cf 14,51Kb
08.09.16
1
.cf 14,51Kb 1 Скачать

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение
В этой теме еще нет сообщений.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа