如何在API应用程序的QA环境中查看App Insights中的SQL命令?

时间:2017-04-12 09:09:04

标签: azure asp.net-web-api devops sqlcommand azure-application-insights

我们开发了API应用程序,并使用DevOps将其发布到Azure中,并使用Dev和QA两种环境。

在Dev环境中,我们可以看到API执行的SQL查询,但在QA环境中,我们无法看到API执行的SQL查询。

在Dev环境中,我们在App Insights中看到以下内容

依赖项属性:SQL 命令

  

SELECT TOP(1)       [c]。[CreatedOn] AS [CreatedOn]       FROM [dbo]。[__ MigrationHistory] ​​AS [c]

对于QA环境中的相同调用,command属性不显示SQL查询,而是在命令中看到以下内容

命令

  

tcp:qasqldb01.database.windows.net,1433 | DB_QA

您能否告诉我我在哪里弄错了,QA环境需要额外的配置来查看SQL调用命令吗?

2 个答案:

答案 0 :(得分:1)

在文档中(https://docs.microsoft.com/en-us/azure/azure-monitor/app/asp-net-dependencies)是:

对于 ASP.NET Core 应用程序,现在需要通过使用选择加入 SQL 文本集合

services.ConfigureTelemetryModule((module, o) => { module.EnableSqlCommandTextInstrumentation = true; });

答案 1 :(得分:0)

在生产中获取完整的依赖关系信息需要一件或多件事情,具体取决于环境。

自: https://docs.microsoft.com/en-us/azure/application-insights/app-insights-asp-net-dependencies

  • IIS服务器 - 在服务器上安装Status Monitor或将应用程序升级到.NET framework 4.6或更高版本,并在应用程序中安装Application Insights SDK。
  • Azure Web App - 在您的Web应用程序控制面板中,在Web应用程序控制面板中打开Application Insights刀片,然后在出现提示时选择“安装”。
  • Azure云服务 - 使用启动任务或安装.NET framework 4.6 +

使用状态监视器(错误名称,它不监视状态,启用监视)有效地为IIS中的网站打开.net运行时分析器,并且该分析器收集其他依赖项来自.net运行时的信息。

.net 4.6+的功能从运行时内部的代码本身启用了一些该集合,而不必作为分析器单独运行。