我们开发了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调用命令吗?
答案 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中的网站打开.net运行时分析器,并且该分析器收集其他依赖项来自.net运行时的信息。
.net 4.6+的功能从运行时内部的代码本身启用了一些该集合,而不必作为分析器单独运行。