Логирование событий
О логировании на платформе
Логирование событий производится с помощью инструмента Grafana, интегрированному в систему. Анализируя зафиксированные на платформе события, вы можете выявлять несанкционированный доступ к конфиденциальной информации и контролировать работу пользователей с платформой.
Система фиксирует информацию о действиях над следующими объектами:
рабочие области;
права на рабочие области;
наборы данных;
дашборды;
темы;
Перечень действий, фиксируемых над указанными объектами:
добавление;
удаление;
редактирование.
Для фиксации всех действий субъектов над объектами на платформе используется единый формат логов. Выглядит он следующим образом:
OperationName:{@OperationName} with AccessType:{@AccessType} on ObjectType:{@ObjectType} with WorkspaceId:{@WorkspaceId} completed by User:{@User} with OperationStatus:{@OperationStatus}
где –
@OperationName
– название произведенной операции;@AccessType
– типа доступа к объекту;@ObjectType
– тип объекта, над которым была произведена операция;@WorkspaceId
– идентификатор рабочего пространство, где произошло событие;@User
– логин пользователя, который совершил действие;@OperationStatus
– результат произведенной операции.
Ниже приведено описание каждого элемента строки:
Название элемента | Список возможных значений |
---|---|
OperationName | CreateCopyDashboard – создание копии дашборда; UploadImage – загрузка изображения; DeleteTheme – удаление темы; CreateUserWidget – создание пользовательского виджета; GetWidgetTemplateCode – получение доступа к коду виджета, который используется по умолчанию; |
AccessType |
|
ObjectType |
|
WorkspaceId | Идентификатор рабочей области. Например, |
ObjectId | Идентификатор объекта, над которым выполнилось действие. Например, |
User | Логин пользователя, который совершил операцию. Например, |
OperationStatus | Результат выполненной операции. Возможны два варианта:
|
Образец записи события (сохранение дашборда пользователем “admin”):OperationName:SaveDashboard with AccessType:Write on ObjectType:Dashboard with ObjectId:a2202fdbc3384f9fb22fd2d005c43f93 with WorkspaceId:4de8029c-7e04-4f6b-9c46-d02b4f493192 completed by User:admin with OperationStatus:Success
Данная запись информирует о том, что пользователь admin
сохранил дашборд с идентификатором a2202fdbc3384f9fb22fd2d005c43f93
в рамках рабочей области с идентификатором 4de8029c-7e04-4f6b-9c46-d02b4f493192
, и что операция завершилась успешно.
Просмотр лога
Для получения доступа к логу, выполните следующие шаги:
В веб-браузере перейдите по адресу
http://<platform-address>/v3/grafana
, где<platform-address>
– IP-адрес или доменное имя сервера.В открывшемся окне нажмите Home → Explore в левой стороне экрана:
В открывшемся окне выберите один из режимов построения запросов в правой стороне экрана: Builder или Code. Мы выберем Code:
Теперь для просмотра данных необходимо ввести команду в строке запроса. Как мы уже говорили, для логирования событий на платформе используется Grafana. При использовании данной системы, в строке ввода запроса в самом начале в фигурных скобках указывается поток, либо компонент, события которого следует фильтровать.
Например, мы хотим просмотреть записи, касающиеся пользователяivanov
. Для фильтрации по строке в Grafana используется конструкция|="строка"
, поэтому мы введем следующую команду и нажмем Run query в правом верхнем углу:{exporter="OTLP"} |= "ivanov"
В результате мы получили наборы записей, подобные этой:
Проанализировав выведенные данные, вы сможете определить какие действия, над какими объектами и когда производил указанный пользователь.
В Grafana для построения запросов используется язык LogQL.
Примеры запросов
Ниже представлен список примерных запросов с кратким описанием. Запросы построены таким образом, чтобы пользователю было легко воспринимать отображаемую информацию. Строки содержат лишь основные данные о событии (line_format "{{.body}}"
). Для просмотра более подробной информации, необходимо развернуть запись, щелкнув по ней мышкой.
Запрос | Описание |
---|---|
| Поиск событий со статусом OperationName:GetWidgetData with AccessType:Read on ObjectType:
Global completed by User:admin with OperationStatus:Failed,
ErrorMessage:Call failed with status code 400 (Bad Request):
POST http://formula-engine:80/api/v1.0/workspaces/4de8029c-7e04... |
| Поиск событий, относящихся к созданию дашборда. OperationName:CreateDashboard with AccessType:Create on ObjectType:
Dashboard with ObjectId:a4cc7bd500954b4cb733a694ceaddd40 with
WorkspaceId:4de8029c-7e04-4f6b-9c46-d02b4f493192 completed by
User:admin with OperationStatus:Success |
| Поиск событий, относящихся к удалению темы. OperationName:DeleteTheme with AccessType:Delete on ObjectType:
Theme with ObjectId:b4c0d1c637594ab9bc353ca07a49976c with
WorkspaceId:4de8029c-7e04-4f6b-9c46-d02b4f493192 completed by
User:admin with OperationStatus:Success |
| Поиск событий, относящихся к обновлению данных. Пример результата поиска:
|
| Поиск событий, относящихся к попытке войти в систему с помощью незарегистрированной учетной записи, либо к использованию неправильного логина или пароля для существующей учетной записи. Пример результата поиска: Попытка войти в систему с помощью незарегистрированной учетной записи: Использование неправильных учетных данных пользователя: |
| Логирование доступа к различным объектам. В примере ниже приведена запись о сохранении дашборда. Пример результата поиска: |
Смотрите также
На этой странице
Видео
Время чтения: 2 мин.
Нужна дополнительная помощь?