azure - .NET Core 3.1 的应用程序洞察实时指标没有数据
问题描述
我正在尝试在我的 ASP.NET Core 3.1 Web 应用程序上设置 Application Insights 但没有成功...我安装了“Microsoft.ApplicationInsights.AspNetCore”的 2.16 版,然后在 startup.cs 文件中添加以下行:
services.AddApplicationInsightsTelemetry(_configuration);
此外,我在 appSettings 中添加了以下部分:
"ApplicationInsights": {
"InstrumentationKey": "XXX"
}
当我使用 Visual Studio 启动它时,我可以在实时指标中看到数据,但是,一旦我使用 IIS 将它部署到生产服务器中,它只会显示应用程序已关闭。我试图代替连接字符串,但没有运气。
我怀疑代理问题,但是,我无法确定这一点,而且这似乎不太可能,因为我也在使用代理的本地机器上使用它。
我将应用程序的日志级别放在“信息”上,我看不到与 Application Inisights 相关的任何内容。我什至尝试启用开发人员模式,它没有改变任何东西。
主要问题是我在任何地方都没有错误,所以我什至不知道要搜索什么:-)
解决方案
我遇到了和你一样的情况,但是由于没有错误消息,我不确定我们是否面临同样的错误。
我有自己的 ASP.NET Core 3.1 Web 应用程序,我在项目中进行了相同的配置,当在本地环境中通过 vs 运行它时,Azure 应用程序洞察力可以显示实时指标,当部署在 azure 应用程序服务中时,它显示'您的应用已离线”。
在我的场景中,它是 Web 应用实例创建的结果。当我创建应用服务时,它会默认创建新的应用洞察。就像下面的截图一样,当然新的检测键与“appSetting.json”中的键不同,这导致当我查看项目中配置的应用程序视线时,我看不到实时指标,但我可以看到在与应用服务同名的应用景点中。
并且在创建具有新应用洞察的应用服务时,Web 应用中的配置选项卡会显示如下所示的一些键,如果不创建新洞察,它们将不存在。
在这种情况下,我尝试使用项目中使用的洞察值来修改这两个键,然后实时指标起作用。
获取见解配置的优先级可能会导致我的问题,因为有几种方法可以设置连接。
推荐阅读
- amazon-web-services - 如何在 ec2 实例的 tomcat 8 中将 www 和非 www 请求重定向到我的网站的 https 非 www 版本
- java - 如何在与 activity_main 不同的活动中从 SQLite 访问数据?
- c++ - std::map 使用迭代器查找距离,程序不会终止
- java - 我的应用程序运行良好,但现在它不断崩溃
- linkedin - 广告报告 API 的速率限制
- perl - 如何提取可能包含数字的字符串中尖括号括起来的数字
- jquery - jQuery根据'td'内'sub-div'中的内容对表格列进行排序
- spring-boot - 如何在不安装docker和部署在centos的情况下将spring boot应用容器化
- r - 如何根据可变行数创建具有移动平均值的新列?
- loopback4 - 如何在环回 4 中添加包含过滤器