мета-данные страницы
Различия
Здесь показаны различия между двумя версиями данной страницы.
Следующая версия | Предыдущая версия | ||
use_statistics_action [25.11.2019 05:53] Анисютин создано |
use_statistics_action [09.03.2020 08:21] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== Статистика выполнения операций в модулях Агбис ====== | ====== Статистика выполнения операций в модулях Агбис ====== | ||
- | **Назначение** | + | ===== Назначение ===== |
Изучение интенсивности использования определенных операций системы: "Запуск программы", клик в меню "Клиенты" и т.п.\\ | Изучение интенсивности использования определенных операций системы: "Запуск программы", клик в меню "Клиенты" и т.п.\\ | ||
Строка 8: | Строка 8: | ||
//Модуля обработки данных пока нет.// | //Модуля обработки данных пока нет.// | ||
- | <ifauth @programmers> | ||
- | **Схема выполнения задачи** | + | ===== Этапы выполнения задачи ===== |
+ | |||
+ | 1. Формирование локальной статистики.\\ | ||
+ | 2. Консолидация данных в базе AgbisLog.fdb.\\ | ||
+ | 3. Первичная группировка данных.\\ | ||
+ | 4. Формирование отчетов.\\ | ||
+ | |||
+ | ==== 1. Формирование локальной статистики ==== | ||
+ | |||
+ | === Схема выполнения задачи === | ||
1. В обработчик выполнения операции добавляется процедура SetStatisticsAction из модуля DM, которая регистрирует событие выполнения операции в таблице STATISTICS_ACTION. | 1. В обработчик выполнения операции добавляется процедура SetStatisticsAction из модуля DM, которая регистрирует событие выполнения операции в таблице STATISTICS_ACTION. | ||
Строка 20: | Строка 28: | ||
EventTime – Продолжительность выполнения операции в секундах\\ | EventTime – Продолжительность выполнения операции в секундах\\ | ||
- | **Пример** | + | === Пример === |
SetStatisticsAction('Кнопка на форме "Обновление программы"','Отмена установки обновления', 0, RdTr, UpTr, true);\\ | SetStatisticsAction('Кнопка на форме "Обновление программы"','Отмена установки обновления', 0, RdTr, UpTr, true);\\ | ||
- | При выполнении процедуры SetStatisticsAction в таблице STATISTICS_ACTION заполняются поля\\ | + | При выполнении процедуры SetStatisticsAction в таблице STATISTICS_ACTION заполняются поля из параметров процедуры:\\ |
- | из параметров процедуры:\\ | + | EVENT_GROUP = EventGroup – Наименование группы операций (Кнопка на форме "Обновление программы")\\ |
- | EVENT_GROUP = EventGroup – Наименование группы операций (Кнопка на форме "Обновление программы")\\ | + | EVENT_NAME = EventName – Наименование операций (Отмена установки обновления)\\ |
- | EVENT_NAME = EventName – Наименование операций (Отмена установки обновления)\\ | + | EVENT_TIME = EventTime – Продолжительность выполнения операции в секундах (0) \\ |
- | EVENT_TIME = EventTime – Продолжительность выполнения операции в секундах (0) \\ | + | и из параметров приложения:\\ |
- | из параметров приложения:\\ | + | BASE_PATH = DMForm.Base.SelectedBase.BaseAlias – алиас базы данных\\ |
- | BASE_PATH = DMForm.Base.SelectedBase.BaseAlias – алиас базы данных\\ | + | IP = DMForm.LocalIP – IP пользователя\\ |
- | IP = DMForm.LocalIP – IP пользователя\\ | + | DEP_NAME = DMForm.DepName – Наименование подразделения\\ |
- | DEP_NAME = DMForm.DepName – Наименование подразделения\\ | + | USER_NAME = DMForm.UserName – Логин пользователя\\ |
- | USER_NAME = DMForm.UserName – Логин пользователя\\ | + | ROLE_NAME = DMForm.RoleName – Роль пользователя\\ |
- | ROLE_NAME = DMForm.RoleName – Роль пользователя\\ | + | OS_NAME = DMForm.OSName – ОС на компьютере пользователя\\ |
- | OS_NAME = DMForm.OSName – ОС на компьютере пользователя\\ | + | CLIENT_NAME – Наименование фирмы клиента из firms\\ |
- | CLIENT_NAME – Наименование фирмы клиента из firms\\ | + | SCREEN_R – разрешение экрана\\ |
- | SCREEN_R – разрешение экрана\\ | + | EXE_NAME = Application.ExeName – Наименование приложения\\ |
- | EXE_NAME = Application.ExeName – Наименование приложения\\ | + | EXE_VERS = DMForm.ExeVersion – Версия приложения\\ |
- | EXE_VERS = DMForm.ExeVersion – Версия приложения\\ | + | DT – время выполнения операции. |
- | DT – время выполнения операции. | + | |
+ | ==== 2. Консолидация данных в базе AgbisLog.fdb ==== | ||
+ | |||
+ | === 2.1. Настройки === | ||
+ | |||
+ | Добавить в AgentSettings.ini\\ | ||
+ | 2.1.1. Для **агента** на сервере клиента настройка должна быть включена настройка **"Отправлять статистику событий"** для разрешения экспорта журнала использования определенных операций системы | ||
+ | [SendStatistic] \\ | ||
+ | SendStatEvent=true | ||
+ | По умолчанию настройка ВКЛЮЧЕНА\\ | ||
+ | |||
+ | {{:agbisagentgui_sendstatevent.png}}\\ | ||
+ | |||
+ | |||
+ | 2.1.2. Для **агента менеджера проектов** настройка разрешения импорта файлов с FTP-сервера\\ | ||
+ | |||
+ | [AgbisLog] | ||
+ | ImportLogFromFtp=true | ||
+ | |||
+ | По умолчанию настройка ВЫКЛЮЧЕНА ImportLogFromFtp=false\\ | ||
+ | |||
+ | === 2.2. Схема выполнения задачи === | ||
+ | |||
+ | 2.2.1. В агенте на сервере клиента, если включена настройка ****"Отправлять статистику событий"****, запускается формирование XML-файлов с данными из таблицы **statistics_action** и данными сервера, которые отправляются по ftp. \\ | ||
+ | За отправку данных отвечает объект **TSendStatisticTask**.\\ | ||
+ | Отправка данных выполняется **1 раз в час**.\\ | ||
+ | Выбираются все записи, за исключением уже отправленных ранее (is_send=0)\\ | ||
+ | В XML добавляются все поля записи кроме "is_send" и в каждой записи добавляются поля "GUID" - "GUID из настроек агента" и "GUIDlic" - "GUID лицензии" для однозначной идентификации источника данных в сводной таблице.\\ | ||
+ | Создается XML-файл с префиксом **"stat_action_"** с таблицей, который отправляется на ftp-сервер "agbis.ru"\\ | ||
+ | |||
+ | 2.2.2. В агенте для менеджера проектов, если включена настройка **ImportLogFromFtp**, XML-файлы забираются с FTP и импортируются в AgbisLog.fdb в таблицу ActionLog.\\ | ||
+ | За импорт данных отвечает объект **TLoadStatisticTask**.\\ | ||
+ | Импорт данных выполняется **1 раз в час**.\\ | ||
+ | За один раз принимается не более **i_MaxCount**=100 7z-файлов.\\ | ||
+ | |||
+ | 2.2.1. Подключение к FTP.\\ | ||
+ | 2.2.2. Получение списка файлов по маске **stat_action_*.7z** \\ | ||
+ | 2.2.2.1. Копирование файлов в папку clPathTmp:=GetOwnDir+'Temp\';\\ | ||
+ | |||
+ | 2.2.3. ImportActionLogFromFile - Импорт лога из файла 7z в БД \\ | ||
+ | 2.2.3.1. Распаковка 7z-файла и получение списка XML-файлов\\ | ||
+ | 2.2.3.2. Загрузка XML-файла\\ | ||
+ | 2.2.3.3. Для каждой записи XML-файла с rlNode.Name='STATISTICS_ACTION' создается запись в таблице ActionLog\\ | ||
+ | 2.2.3.4. Удаление XML-файла\\ | ||
+ | |||
+ | 2.2.4. Отметка на удаление файла на FTP. \\ | ||
+ | 2.2.5. Удаление локальной копии файла.\\ | ||
+ | 2.2.6. Удаление файла с FTP. \\ | ||
+ | |||
+ | |||
+ | |||
+ | ===== Таблицы ===== | ||
+ | |||
+ | [[:statistics_action]]\\ | ||
+ | [[:actionlog]]\\ | ||
- | Структура таблицы STATISTICS_ACTION {{https://doc.agb.is/tab_statistics_action}} | ||
- | </ifauth> | + | [[:мониторинг|Назад]]\\ |