Я разрабатываю систему (стек: MVC 5, EF6, SQL Server), которая должна собирать много информации о взаимодействии пользователя с различными компонентами приложения.
E.g.
- Сколько времени пользователь проводит на определенном экране.
- Какое действие выполняет пользователь: просмотр, редактирование страницы / формы
- Время простоя
- Прогресс в конкретном рабочем процессе
И покажите всю эту информацию на панели управления, которая является частью того же веб-приложения. Традиционный способ сделать это - запустить sql-запрос при выполнении определенного действия и сохранить эту информацию в базе данных приложения. Дело в том, что я не хочу перегружать главный сервер приложений всеми этими задачами, и этот подход мне не кажется слишком надежным.
Я читал о Application Insights (телеметрия и настраиваемые события), и мне кажется, что это должно сработать для моей постановки проблемы. Единственная проблема заключается в том, что он очень тесно связан с ресурсами Azure и панелью управления портала (насколько я понимаю).
Итак, мой вопрос: могу ли я использовать пакет ApplicationInsights для сбора показателей и сохранения данных в локальной базе данных SQL и отображения их на настраиваемой панели мониторинга?
Я читал о постоянном экспорте телеметрической информации из хранилища Azure в Power BI или SQL DB, но у меня это не сработает, потому что я не могу использовать Azure в качестве посредника. https://azure.microsoft.com/en-in/documentation/articles/app-insights-export-telemetry/
Был бы очень признателен за руководство по этому поводу. Спасибо.