检测应用以进行监视
通过自动检测(代理)或者通过将 Application Insights SDK 添加到应用程序代码来启用 Application Insights。
自动检测
自动检测是首选的检测方法。 它不需要为开发人员投入资源,并且可以消除将来与更新 SDK 相关的开销。 它也是检测你无法访问其源代码的应用程序的唯一方法。
事实上,你只需启用代理并在某些情况下对其进行配置,该代理便可自动收集遥测数据。
受到自动检测支持的服务列表更新很快,请访问此页以获取当前受支持的服务列表。
通过 Application Insights SDK 启用
只有在以下情况下才需要安装 Application Insights SDK:
- 需要自定义事件和指标
- 需要控制遥测流
- 自动检测不可用(通常是因为存在语言或平台限制)
若要使用 SDK,需要在应用中安装一个小型检测包,然后检测 Web 应用、任何后台组件和网页中的 JavaScript。 应用及其组件无需托管在 Azure 中。 检测将使用唯一的令牌来监视应用,并将遥测数据定向到 Application Insights 资源。
适用于 .NET、.NET Core、Java、Node.js 和 JavaScript 的 Application Insights SDK 都以原生方式支持分布式跟踪。
此外,可以通过在 TelemetryClient
上调用 TrackDependency
来手动跟踪任何技术。
通过 OpenCensus 启用
除了 Application Insights SDK,Application Insights 还可以通过 OpenCensus 来支持分布式跟踪。 OpenCensus 是库的单发行版,开源且不局限于供应商,可以针对服务进行指标收集和分布式跟踪。 它还允许开源社区针对 Redis、Memcached 或 MongoDB 之类的常用技术启用分布式跟踪。