前一段时间,我们通过azure门户启用了应用程序见解。一切正常,我们想记录一些额外的自定义信息。因此,我们将不得不包括appInsight SDK并立即在我们的代码中创建TelemetryClient and RequestTelemetry
。
理想情况下,我们希望启用与azure门户中启用的设置完全相同的设置(例如,启用性能分析,建议的收集级别,sql命令并禁用Snapshot调试器)。
但是,当我查看appinsight配置文件时,我意识到该文件比azure门户所提供的更加复杂。
有没有一种方法可以将我们在Azure门户上启用的内容转换为配置文件?
或者,如果我删除此配置文件(只需在我们的c#RequestTelemetry
实例中添加自定义字段),appInsights会自动使用azure门户中的设置吗?
答案 0 :(得分:2)
如果您使用的是Asp.Net应用程序,则默认情况下安装SDK将为您生成完整的ApplicationInsights.Config文件,该文件的监视级别与“推荐”级别相同。 https://docs.microsoft.com/en-us/azure/azure-monitor/app/asp-net
并按照以下步骤获取完整的SQL文本: https://docs.microsoft.com/en-us/azure/azure-monitor/app/asp-net-dependencies#advanced-sql-tracking-to-get-full-sql-query
如果您使用的是Asp.Net Core应用程序,则默认情况下安装SDK将自动配置代码中的所有内容(asp.net核心应用程序中没有ai.config)。 https://docs.microsoft.com/en-us/azure/azure-monitor/app/asp-net-core 您无需执行任何其他操作即可在Asp.Net Core应用中获取完整的SQL文本。
默认情况下未启用SnapShotCollector,因此您无需执行任何操作即可将其禁用。
答案 1 :(得分:0)
有关应用程序见解,也许您知道有两种方法可以将应用程序见解应用于您的.NET Web应用程序(有关详细信息,请参阅*
)。
构建时间:添加应用程序见解sdk
运行时:通过azure门户,而无需将sdk添加到项目中。
下面的屏幕快照显示了它们之间的区别(您可以忽略本文中有关构建时间和运行时的注释部分,这会使用户感到困惑,并且正在跟踪here)):
对于您的问题,我建议您最好同时使用它们:添加sdk并通过azure门户启用/禁用探查器/快照调试器/ sql命令。
之前,我做了一些有关sql命令的跟踪,没有从azure门户启用该功能,仅添加sdk就无法从应用程序见解中获取详细的sql命令信息。不能通过配置文件进行一些更改。
在profiler中,它表示:即使在构建时已将App Insights SDK包含在应用程序中,也请按照以下步骤操作。
而且,更改appinsight配置文件以满足您的需求会更加困难,甚至没有关于通过配置文件应用profiler / sql命令的官方文档。