Логирование событий производится с помощью инструмента Grafana, интегрированному в систему. Анализируя зафиксированные на платформе события, вы можете выявлять несанкционированный доступ к конфиденциальной информации и контролировать работу пользователей с платформой.
Система фиксирует информацию о действиях над следующими объектами:
рабочие области;
права на рабочие области;
наборы данных;
дашборды;
темы;
Перечень действий, фиксируемых над указанными объектами:
добавление;
удаление;
редактирование.
Логирование данных производится в едином формате, в котором доступна следующая информация:
тип события (например, OperationName:GetWorkspaceDatasetList);
объект (например, "ObjectType": "Dataset");
субъект (например, "User": "ivanov");
результат действия (например, OperationStatus:Success");
дата и время события (например, 2023-08-28 16:53:57.290).
Образец записи события (сохранение дашборда пользователем “admin”):
Просмотр лога
Для получения доступа к логу, выполните следующие шаги:
В веб-браузере перейдите по адресу http://<platform-address>/v3/grafana, где <platform-address> – IP-адрес или доменное имя сервера.
В открывшемся окне нажмите Home → Explore в левой стороне экрана:
В открывшемся окне выберите один из режимов построения запросов в правой стороне экрана: Builder или Code. Мы выберем Code:
Теперь для просмотра данных необходимо ввести команду в строке запроса. Как мы уже говорили, для логирования событий на платформе используется Grafana. При использовании данной системы, в строке ввода запроса в самом начале в фигурных скобках указывается поток, либо компонент, события которого следует фильтровать. Например, мы хотим просмотреть записи, касающиеся пользователя ivanov. Для фильтрации по строке в Grafana используется конструкция |="строка", поэтому мы введем следующую команду и нажмем Run query в правом верхнем углу: {exporter="OTLP"} |= "ivanov"
В результате мы получили набор записей, подобные этой:
Проанализировав выведенные данные, вы сможете определить какие действия, над какими объектами и когда производил указанный пользователь.
В Grafana для построения запросов используется язык LogQL.