REST API¶
Аутентификация¶
Для возможности выполнять запросы к REST API, в меню Админ → Параметры сервера необходимо включить опцию Доступ к API разрешен.
Аутентификация запросов к API осуществляется передачей ключа указанного в опции Ключ API. Вы можете указать собственное значение этого параметра.
Ключ API передается в GET параметре запроса secret, например:
https://[HOST]/analytics/model/?secret=password
Модель куба¶
Обработчик: /analytics/model/
Пример запроса:
https://[HOST]/analytics/model/?secret=3a7e...418418e
Возвращает модель данных OLAP куба. С описанием формата можно ознакомиться здесь
Модель куба описана в разделе Модель данных
Фильтры и политики¶
Возвращает все сохраненные фильтры и политики в виде иерархии объектов.
Обработчик: /analytics/filter/list/
Пример запроса:
https://[HOST]/analytics/filter/list/?secret=3a7e...418418e
Пример возвращаемого значения:
[
{
"id": 1,
"content_type": "filter",
"name": "Название фиьтра",
"facts_count": 0,
"measure": "record_count",
"dimension": "agent_time@ymdh:hour",
"category": "neutral",
"listType": "table",
"do_scan": false,
"reporting_schedule_type": "",
"drilldown": [ "agent_agent@computer_name:computer_name", ... ],
"notify": false,
"emails": "",
"orderDim": "agent_account@office:office",
"url": "/analytics/report/aggregate/index/",
"report_if_filter_data_exists": false,
"tab": "filter",
"mode": "explore",
"order": "record_count",
"orderDir": "desc",
"filters": [
{
"predicates": [],
"dimension": "agent_account@office:office",
"value": "",
"label": ""
},
...
],
"children": [...]
},
...
]
Параметры запросов к OLAP кубу¶
Обработчики указанные ниже могут принимать параметры фильтрации. Все параметры являются необязательными.
Название |
Описание |
---|---|
backend |
Предпочтительный поставщик данных (postgresql, clickhouse, hybrid) |
limit |
Размер страницы (количество возвращаемых строк) |
page |
Номер страницы |
time_from |
Начало периода времени |
time_to |
Окончание периода времени |
order |
Атрибут для сортировки |
dir |
Порядок сортировки (asc, desc) |
dim |
Измерения для фильтрации. Данный параметр может присутствовать несколько раз. |
filter |
Значение измерений для фильтрации. Порядок и количество должно соответствовать параметрам dim |
Факты¶
Обработчик: /analytics/facts/agent_event/
Пример запроса:
https://[HOST]/analytics/facts/agent_event/?backend=postgresql&dim=agent_eventtype@default:agent_eventtype&dir=desc&filter=1&limit=50&order=local_time&page=0&time_from=2018-09-04T00:00:00.000&time_to=2018-09-04T23:59:59.999&secret=3a7e...418418e
Пример возвращаемого значения:
{
"object_list": [
{
"agent_device.description": null,
"analytics_filter.id": null,
"agent_attachedfile.file_ext": null,
"agent_dialog.sender": null,
"agent_agent.last_report": "Активен вчера",
"agent_agent.os": "6.2.9200",
"agent_eventtype.name": "Screenshot",
"agent_web.url": null,
"time_registered": "2018-09-02T12:00:09.286822+00:00",
"agent_account.guid": "S-1-5-21-1174184718-2834874228-2720016071-1001",
"agent_web.id": null,
"agent_feedbacktype.description": null,
"agent_agent.last_activity_time": "2018-09-02T11:59:04.523638+00:00",
"parent_id": null,
"agent_attachedfile.mime": "image/jpeg",
"agent_appinstallation.publisher": null,
"agent_networkconnection.id": null,
"agent_account.office": "",
"agent_networkconnection.remote_address": null,
"agent_attachedfile.id": 1755,
"agent_attachedfile.extracted": false,
"agent_appinstallation.version": null,
"agent_agent.label": "",
"agent_device.drive_type": null,
"agent_web.domain": null,
"agent_application.id": 271,
"agent_time.weekday": 6,
"agent_web.protocol": null,
"agent_web.site": null,
"agent_account.id": 322,
"agent_agent.guid": "HWIDVB94bea50c-4604cbd0",
"agent_web.mime": null,
"agent_attachedfile.file_name": null,
"agent_dialog.dialog_type": null,
"agent_account.user_domain": "WORKGROUP",
"agent_time.day": 2,
"agent_time.id": 564,
"text_data": "",
"agent_application.app_icon_id": 1723,
"agent_account.last_report_time": "2018-09-02T12:00:09.255085+00:00",
"agent_account.comment": "",
"agent_application.window_title": "{E:\\opt\\tor-browser_en-US\\Browser\\Downloads\\MS Office 2013 Portable (2017) 7z SFX} - Far 3.0.5225 x64",
"agent_agent.last_report_time": "2018-09-02T12:00:09.255085+00:00",
"agent_device.hwid": null,
"agent_account.mail": "",
"agent_account.company": "",
"agent_eventtype.description": "Снимок экрана",
"agent_eventtype.id": 4,
"agent_dialog.direction": null,
"agent_attachedfile.file_exist": true,
"agent_attachedfile.file_path": null,
"agent_time.month": 9,
"agent_account.user_name": "ermakus",
"agent_time.year": 2018,
"agent_agent.last_ip": "192.168.0.111",
"window_title": "{E:\\opt\\tor-browser_en-US\\Browser\\Downloads\\MS Office 2013 Portable (2017) 7z SFX} - Far 3.0.5225 x64",
"%(140392777775632 id)s": 19354,
"agent_appinstallation.product_name": null,
"analytics_filter.syscat": null,
"agent_attachedfile.guid": "0fec5042-9665-edbd-d490-657eb442d401",
"agent_time.hour": 15,
"agent_feedbacktype.id": null,
"children_count": 0,
"agent_dialog.contact": null,
"agent_attachedfile.data": "filedata/by_date/2018_09_02/ac5df7124c4bad5d0e07a277ad4563af0abca928.jpe",
"agent_account.post": "",
"agent_feedbacktype.name": null,
"agent_dialog.recipients": null,
"agent_networkconnection.remote_port": null,
"agent_dialog.domain": null,
"agent_dialog.message_format": null,
"agent_device.manufacturer": null,
"agent_agent.agent_version": "2465",
"agent_time.minute": 0,
"idle_time": 0,
"agent_agent.computer_name": "DESKTOP-E308NV5",
"agent_application.app_description": "File and archive manager",
"agent_account.last_activity_time": "2018-09-02T11:59:04.523638+00:00",
"id": 19354,
"agent_account.full_name": "",
"agent_agent.id": 2526,
"activity_time": 0,
"agent_device.device_class": null,
"agent_time.quarter": 60,
"filters_data": null,
"agent_account.phone": "",
"agent_dialog.sender_domain": null,
"agent_attachedfile.sha1": "ac5df7124c4bad5d0e07a277ad4563af0abca928",
"agent_attachedfile.file_operation": null,
"analytics_filter.name": null,
"logon_event": "",
"agent_time.time_zone": "UTC+3",
"agent_dialog.members": null,
"call_duration": null,
"analytics_filter.category": null,
"agent_application.exe_path": "C:\\PROGRAM FILES\\FAR MANAGER\\FAR.EXE",
"agent_application.app_name": "far.exe",
"local_time": "2018-09-02T19:00:08+07:00",
"agent_attachedfile.drive_type": null,
"agent_appinstallation.install_event": null
},
...
]}
Агрегация¶
Обработчик: /analytics/aggregate/agent_event/
Название |
Описание |
---|---|
drill |
Измерения для drilldown, может присутствовать несколько раз |
Пример запроса:
https://[HOST]/analytics/aggregate/agent_event/?backend=postgresql&drill=agent_agent@computer_name:computer_name&time_from=2018-09-04T00:00:00.000&time_to=2018-09-04T23:59:59.999&secret=3a7e...418418e
Пример возвращаемого значения:
{
"cells": [
{
"record_count": 292,
"call_duration_sum": 0,
"agent_agent.computer_name": "DESKTOP-E308NV5",
"agent_agent.last_activity_time": "2018-09-02T11:59:04.523638+00:00",
"activity_time_sum": 27158538723,
"agent_agent.guid": "HWIDVB94bea50c-4604cbd0",
"agent_agent.id": 2526,
"local_time_max": "2018-09-02T12:00:08+00:00",
"idle_time_sum": 16101090000,
"local_time_min": "2018-09-02T10:43:52+00:00",
"agent_agent.last_report_time": "2018-09-02T12:00:09.255085+00:00"
}
],
"cell": [
{
"hierarchy": "computer_name",
"path": [
"2526",
"HWIDVB94bea50c-4604cbd0",
"DESKTOP-E308NV5"
],
"type": "point",
"dimension": "agent_agent",
"level_depth": 3
},
{
"from": [
"2018-08-29T00:00:00+07:00"
],
"level_depth": 1,
"hierarchy": null,
"to": [
"2018-09-04T23:59:59.999000+07:00"
],
"type": "range",
"dimension": "local_time"
}
],
"levels": {
"agent_agent": [
"id",
"guid",
"computer_name"
]
},
"remainder": {}
}
Можно сразу получать агрегированные данные, например для УРВ. Использует куб analytics_session, факты в кубе agent_event:
Обработчик: /analytics/aggregate/analytics_session/
Название |
Описание |
---|---|
drill |
Измерения для drilldown, может присутствовать несколько раз |
Пример запроса:
http://[HOST]/analytics/aggregate/analytics_session/?drill=agent_time@ymd:day,drill=agent_account@full_name:full_name
Значения измерений¶
Обработчик: /analytics/values/agent_event/
Название |
Описание |
---|---|
drill |
Название измерения |
Пример запроса:
https://[HOST]/analytics/values/agent_event/?backend=postgresql&drill=agent_agent@computer_name:computer_name&time_from=2018-09-04T00:00:00.000&time_to=2018-09-04T23:59:59.999&secret=3a7e...418418e
Пример возвращаемого значения:
{
"cells": [
{
"agent_agent.last_report_time": "2018-09-02T12:00:09.255085+00:00",
"agent_agent.guid": "HWIDVB94bea50c-4604cbd0",
"agent_agent.id": 2526,
"agent_agent.computer_name": "DESKTOP-E308NV5",
"agent_agent.last_activity_time": "2018-09-02T11:59:04.523638+00:00"
},
...
]
}