Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 在没有Azure资源/存储的自定义仪表板上显示ApplicationInsights指标_Asp.net Mvc_Analytics_Azure Application Insights - Fatal编程技术网

Asp.net mvc 在没有Azure资源/存储的自定义仪表板上显示ApplicationInsights指标

Asp.net mvc 在没有Azure资源/存储的自定义仪表板上显示ApplicationInsights指标,asp.net-mvc,analytics,azure-application-insights,Asp.net Mvc,Analytics,Azure Application Insights,我正在设计一个系统(堆栈:MVC5、EF6、SQL Server),它需要捕获大量有关用户与应用程序各个组件交互的信息 例如 用户在特定屏幕上花费的时间 用户执行什么操作:查看、编辑页面/表单 空闲时间 特定工作流中的进度 并在同一web应用程序的管理仪表板上显示所有这些信息。 执行此操作的传统方法是在发生特定操作时触发sql查询,并将此信息保存在应用程序数据库中。问题是,我不想用所有这些任务使主应用程序服务器过载,而且这种方法对我来说似乎不太健壮 我正在阅读有关应用程序洞察(遥测和自定义事件)

我正在设计一个系统(堆栈:MVC5、EF6、SQL Server),它需要捕获大量有关用户与应用程序各个组件交互的信息

例如

  • 用户在特定屏幕上花费的时间
  • 用户执行什么操作:查看、编辑页面/表单
  • 空闲时间
  • 特定工作流中的进度
  • 并在同一web应用程序的管理仪表板上显示所有这些信息。 执行此操作的传统方法是在发生特定操作时触发sql查询,并将此信息保存在应用程序数据库中。问题是,我不想用所有这些任务使主应用程序服务器过载,而且这种方法对我来说似乎不太健壮

    我正在阅读有关应用程序洞察(遥测和自定义事件)的文章,它似乎应该适用于我的问题陈述。唯一的问题是它与Azure资源和门户仪表板紧密结合(据我所知)

    所以我的问题是:我是否可以使用ApplicationInsights包捕获度量并将数据持久化到本地SQL数据库中,并将其显示在自定义仪表板上?

    我读到了有关将遥测信息从Azure存储持续导出到Power BI或SQL DB的文章,但对我来说不起作用,因为我无法使用Azure作为中介。


    我真的很想得到一些指导。谢谢。

    您可以使用PowerBI仪表板,直接集成到Application Insights,特别是在这种情况下可能使用的分析查询

    也可以考虑使用Apple Debug IsApple()直接实现这一点,包括与一些流行的仪表板集成。请注意,API现在处于早期预览阶段,因此我们可能会引入一些更改,但总体形状应该是稳定的

    我也很好奇是什么阻止你使用Azure-我们想了解更多关于它的信息。请注意,Application Insights将it数据存储在Azure中

    对于只想使用Application Insights SDK,同时在所选工具中“本地”存储和分析数据的特定情况,这也是可能的。(注意:在这种情况下,您只能从App Insights SDK和模式中受益,为将来使用完整的App Insights打开大门)。为了实现这一点,您可以考虑实现自定义遥测信道-请参阅这里的一些附加信息:

    在实施此方法时,您应该注意卷-我主张通过某种形式的队列机制将其解耦,使其更容易保护您的应用程序,平衡负载,并监控

    谢谢你的信息,奥列格。您提到的两种解决方案都依赖于将Azure存储作为后端。不幸的是,该组织需要在本地拥有基础设施。理想情况下,我希望使用ApplicationInsights框架(更多用于自定义事件/操作),但使用不同的/可配置的数据源(SQL/NoSql,托管在组织的基础设施上)。在这种情况下,您只会受益于App Insights SDK和模式(并保留将来开始使用完整App Insights的选项)。您可以考虑实施自定义遥测频道-请参阅这里的一些附加信息:再次感谢奥列格,我阅读更多的定制遥测频道。在共享的链接中,它将数据存储在文件中。是否可以使用自定义通道将其直接存储到SQL表中?可能是的,但您应该注意卷…写入SQL可能会很慢。。。我主张通过某种形式的队列机制将其解耦,使其更容易保护您的应用程序,平衡负载并进行监控……太好了。谢谢你的提醒,奥列格。如果您愿意将其作为答案,我很乐意将其标记为答案:)