Встала интересная задача. В хайбрисовской админке нет возможности записывать все действия администратора, чтобы потом в случае чего можно было понять кто накосячил. Некоторые объекты ведут свою историю изменений, и там есть отсылка к изменившему данные, но всякие операции оставляют в лучшем случае записи в логе, но никогда – с отсылкой на конкретного администратора.
Анализировать логи сервера тоже бестолку, потому что админки сейчас построены на Single Page Application.
У меня появилась идея, как можно реализовать такой логгинг для любых систем, а не только хайбриса. И пытаюсь найти такую тулзу готовую, и пока не получилось. Ее относительно несложно сделать. Если вы разбираетесь в chrome extensions, можно попробовать сделать PoC вместе.
Идея такая:
1. Администратор заходит в сайтовую админку (не обязательно хайбрис).
2. Экстеншн в Хроме понимает, что открывшийся сайт – из списка на журналирование операций и переходит в рабочий режим.
3. При определенных событиях, как “ввод данных в форму”, “клик на элемент” система выполняет журналирование операции и отправляет на сервер результаты. А именно:
а) скриншотит экран, и выделяет область, где находится элемент (или весь экран, если так проще, для начала).
б) добавляет дополнительные метаданные к скриншоту, если их удалось выцепить (например, для textarea – введенный текст)
в) добавляет айди оператора.
г) ставит скриншот с метаданными в очередь на отправку.
д) разгребает очередь постепенно отправляя скриншоты на сервер
На сервере скриншоты падают в стек FIFO, какое-то время доступны для анализа суперадмином, если появляется проблема.
Из минусов вижу следующие:
1. Непонятно как реализовать drag-n-drop, например. Также непонятно, как определять, что пользователь заполнил форму (просто что-то ввел и ушел из textarea – нужно ли отправлять в этом случае скриншот или нет? хз)
2. Не всегда легко обогатить скриншот метаданными. Например, обработчик onClick может висеть на пустом div, а другой div будет содержать активный элемент с данными.
2. Много внимания системе безопасности
3. Возможное торможение системы из-за постоянного аплоада скриншотов. Если активно кликать в админке, исходящий траффик будет создаваться около 1Мб/сек. Потенциально может привести к тормозам. Но все же, это не очень большая проблема.
Если есть специалисты по Chrome Extensions – велкам. Может, набросаем вместе PoC?
P.S. В комментах спрашивают, почему не анализировать запросы. Вот почему: https://www.facebook.com/raufaliev/posts/10155743809477368?comment_id=10155743823937368&reply_comment_id=10155743836027368&comment_tracking=%7B%22tn%22%3A%22R%22%7D