Создать тул для мониторинга активности пользователей
Есть такая теоретическая задача:
Создать тул для мониторинга активности пользователей: что изменяли, что смотрели, что скачивали в системе.
Иногда требуется для коммерческой безопасности (хотя по моему мнению для коммерческой безопасности нужно просто правильно настраивать доступ и шеринг), но задача есть задача.
не будем пока обсуждать временную глубину и объем сохраняемых данных, и где это все хранить, просто обсудим как это в принципе можно организовать.
Пока есть такие мысли: (1) организовать мониторинг на фронт-энде; (2) ставить пользователей на системный дебаг, а потом парсить логи, выясняя что пользователь делал. (3) на каждый объект (требующий пристального наблюдения) повесить джэнерик тригер, который будет отлавливать все изменения и куда-то это писать.
почему не воспользоваться Shield Event Monitoring? который собирает практически всю эту информацию. потом переписывать в Tableau CRM или Data Warehouse и анализировать и смотреть на всё это там, включая изменения данных из Track History.
На проекте в котором я сейчас работаю, происходит примерно так: Event Monitoring записывает 54 events, ETL process бежит каждые 15 минут и переписывает инкрементально данные в Data Warehouse. там всё это разбирается на части, чтоб понять что пользователь делал, где был, что запускал. Некоторые действия также записываются другим Log процессом (Custom Log object + simple LogService class) - например переход из Salesforce в другую систему. ETL берет эти данные тоже.