我正在尝试启用基于代码的监控与应用程序的见解,我现有的ASP。. Net桌面应用程序,我执行了以下步骤:
-
选定项目>添加应用洞察Application Insights Sdk(本地)>下一个在完成在关闭。(安装了Application Insights NuGet包)
-
打开了ApplicationInsights。配置文件。并在关闭前添加了InstrumentationKey在配置文件
中 -
入选项目>管理NuGet包更新。然后逐个更新微软。ApplicationInsights NuGet包到最新稳定版本。
-
Also, Installed Microsoft.ApplicationInsights.NLogTarget NuGet package.
当我在调试模式下本地运行应用程序时,它会将所有相关数据和异常日志发送到application Insight门户。但是当我部署相同的应用程序时,它不会向Application Insight门户发送任何数据或异常日志。
什么可能导致这个问题,如何解决?
注意:在上述基于代码的实现不起作用的同一部署服务器上,我安装了应用程序洞察代理并使用powershell脚本启用了监视。这可以很好地将数据发送到应用程序洞察门户。
有没有人可以指导我如何在部署后获得第一种方法(基于代码的)工作?
提前感谢!
希望您已经更新了相关的Application Insights包。检查以下可能性来修复未共享到Application Insights的数据
- 请确保在您部署的项目中包含以下DLL。
- Microsoft.ApplicationInsights.dll
- Microsoft.AspNet.TelemetryCorrelation.dll
- System.Diagnostics.DiagnosticSource.dll
- Microsoft.Diagnostics.Instrumentation.Extensions.Intercept.dll
- 确保检查applicationsights .config文件在已部署的项目中可用。这是一个Build/Deploy项目。
- 防火墙,您可能需要打开443 TCP端口。您可以使用Fiddler检查数据是否可以接收或获得。和Perfview。参考azure监视器 使用的IP地址
- 确保你有所有的应用程序洞察SDK二进制文件
- 相对于本地调试web.config,web . config在服务器上(又名"发布")略有不同,没有指定AI模块。
- 设置defaultProxy在web . config如果您需要使用代理在您的业务网络之外传输数据。
引用
- asp .net排除AI中没有数据共享
- AI在部署到开发/本地服务器时不工作