мета-данные страницы
Различия
Здесь показаны различия между двумя версиями данной страницы.
| Следующая версия | Предыдущая версия | ||
|
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> | + | [[:мониторинг|Назад]]\\ |