本技能为 Azure Application Insights 的应用插桩提供指导与参考资料,面向 Web 应用的遥测接入场景。
一、用途 用于回答“如何插桩”这类问题,提供遥测模式、SDK 安装说明与配置参考;也用于帮助理解 Application Insights 的相关概念。它本身提供参考材料,不负责实际改动项目。如果用户希望为应用添加 App Insights、添加遥测或修改项目,应调用 azure-prepare,由后者编排实际变更;本技能可能在 azure-prepare 的研究阶段被调用。
二、何时使用本技能 用户询问如何插桩(指导、模式、示例)时;用户需要 SDK 安装配置说明时;azure-prepare 在研究阶段调用本技能时;用户希望理解 App Insights 概念时。
三、何时改用 azure-prepare 用户说“给我的应用添加遥测”“添加 App Insights”,或希望修改项目、任何要求更改/新增组件时,应使用 azure-prepare。
四、前置条件 工作区中的应用须属于以下类型之一:托管在 Azure 上的 ASP.NET Core 应用;Azure 容器应用(Container App);托管在 Azure 上的 Node.js 应用;托管在 Azure 上的 Python 应用。
五、使用方式与准则
- 收集上下文:确定应用的(编程语言、应用框架、托管方式)组合,这决定了如何插桩。可阅读源码做合理推测,对不确定的内容与用户确认;并且必须询问用户应用的托管位置(例如个人电脑、以代码方式部署在 Azure App Service、以容器方式部署在 Azure App Service、Azure 容器应用等)。
- 优先自动插桩:若应用是托管在 Azure App Service 的 C# ASP.NET Core 应用,使用 AUTO 指南帮助用户自动插桩。
- 手动插桩:通过创建 App Insights 资源并更新应用代码来手动插桩。
- 创建 App Insights 资源,按环境选择一种方式:向现有 Bicep 模板中添加(参见 examples/appinsights.bicep;工作区已有 Bicep 模板文件时这是最佳选择);或使用 Azure CLI(参见 scripts/appinsights.ps1 中执行的 Azure CLI 命令)。无论选择哪种方式,都建议用户在有意义的资源组中创建 App Insights 资源以便管理,理想候选是与 Azure 中托管应用资源相同的资源组。
- 修改应用代码:ASP.NET Core 应用参见 ASPNETCORE 指南;Node.js 应用参见 NODEJS 指南;Python 应用参见 PYTHON 指南。
六、参考资料 SDK 快速参考:OpenTelemetry Distro 有 Python、TypeScript;OpenTelemetry Exporter 有 Python、Java。平台专属指南:容器应用参见 Observability Guide。
七、适用场景与限制 适用于上述受支持语言与托管组合的插桩指导与参考查询。具体收费、价格、实际效果及未在上述资料中列出的能力暂未提供。