我们在生产中的几个项目中遇到了一堆问题(读取较长的响应时间),并且想看看服务器上到底发生了什么。然后,我按照这篇文章继续将 Application Insights 添加到我们所有的项目中。问题是我们的两个 WebAPI 项目都没有将服务器数据发送到 Azure 门户,而所有其他项目 (MVC 5) 都是。
这是我在 Azure 上访问相应的 Application Insights 刀片时显示的内容:
我尝试在 Azure VM 的 Application Insights 状态监视器中禁用和重新启用数据收集,在向 API 发出请求时重新启动了几次 IIS,但无济于事。当我在 MVC 项目上启用它时,当我打开站点上的页面时,我几乎可以立即在 Azure 门户上看到数据。
当我看到这些特定项目的数据没有从我们的 Azure 虚拟机发送时,我尝试在我们自己的基础设施中托管的开发环境中设置相同的集合,并且完全相同的情况再次出现,排除了这种可能性这与托管在 Azure VM 中的项目有关。
我不确定是什么阻止了这些项目向 Azure 发送数据,但是通过查看工作项目与非工作项目,我认为这可能与我们的 WebAPI 项目使用新的 OWIN 有某种关系管道,而 MVC 是标准的 MVC 项目。我检查了这两种项目类型的 web.config 文件和 bin 文件夹,它们似乎已被 Insights Monitor 正确修改(我可以看到 bin 文件夹中添加了相同的新 dll 和 web.xml 中添加了相同的 http 模块。配置)。
考虑到这一点,如何使用 Application Insights 为依赖 OWIN/Katana 管道的 WebAPI 项目启用服务器端遥测?在这种情况下,我该怎么做才能找出导致项目不向 Azure 发送数据的确切原因?