Compartilhar via

创建和配置 Application Insights 资源

重要

本文适用于 基于工作区的 Application Insights 资源。 经典 Application Insights 资源已停用。 过渡到基于工作区的 Application Insights ,以利用新功能。

Application InsightsLog Analytics 集成,并将遥测数据发送到公共 Log Analytics 工作区。 此设置提供对Log Analytics功能的完全访问权限,将日志合并到一个位置,并允许统一Azure基于角色的访问控制这消除了跨应用/工作区查询的需求。

增强的功能包括:

  • 客户管理的密钥 - 使用仅可访问的密钥加密静态数据。
  • Azure Private Link - 使用专用终结点将 Azure PaaS 服务安全地连接到您的虚拟网络。
  • - 此层级提供的定价相对于即用即付定价而言可以节省高达 30% 的费用。

本文介绍如何创建和配置 Application Insights 资源。 除了 Application Insights 资源本身,还可以添加各种配置,例如设置 每日 上限和 定价计划。 还可以创建 可用性测试、设置 metric alerts,并使用 Azure Resource Manager 自动执行该过程。

注意

基于工作区的 Application Insights 资源的数据引入和保留通过数据所在的Log Analytics工作区计费。 若要了解有关计费的详细信息,请参阅 Azure Monitor 日志定价详细信息

先决条件

  • 活动 Azure 订阅。
  • 创建资源所需的权限。

其他需求

没有其他要求。

创建 Application Insights 资源

  1. 登录到 Azure 门户
  2. 选择“ 创建资源”。
  3. 然后选择 Application Insights
  4. 输入所有相关信息,然后 审核并创建 Application Insights 资源。

显示 Application Insights 资源的屏幕截图。

注意

如果在资源创建过程中未连接到现有Log Analytics工作区,则会随 Application Insights 资源一起自动创建新的Log Analytics资源。

创建资源后,可以在 Application Insights “概述 ”窗格中找到相应的工作区信息。

显示工作区名称的屏幕截图。

选择蓝色链接文本,转到关联的Log Analytics工作区,可以在其中利用新的统一工作区查询环境。

注意

我们仍为 Application Insights 经典资源查询、工作簿和基于日志的警报提供完全后向兼容性。 若要查询或查看 基于工作区的新表结构或架构,必须先转到Log Analytics工作区。 在“Application Insights”窗格中选择“日志(分析)”访问经典 Application Insights 查询体验。

配置监控

创建 Application Insights 资源后,可以配置监视。

获取连接字符串

connection string标识要与遥测数据关联的资源。 还可以使用它来修改你的资源用作遥测目标的终结点。 必须复制connection string并将其添加到应用程序的代码或环境变量。

获取 Application Insights 资源的连接字符串:

  1. 在 Azure 门户中打开 Application Insights 资源。
  2. “概要”部分中的“概述”窗格中,查找连接字符串
  3. 如果将鼠标悬停在connection string上,将显示一个图标,用于将其复制到剪贴板。

使用 OpenTelemetry 进行应用程序监视

若要使用 OpenTelemetry 进行应用程序监视,请安装相应的 Azure Monitor OpenTelemetry 发行版,并将connection string指向新创建的资源。

有关如何使用 OpenTelemetry 设置应用程序监视的信息,请参阅特定于语言的以下文档:

注意

对于面向浏览器的 Web 应用,我们建议使用 Application Insights JavaScript SDK

自动化仪器

对于监视服务(如 Azure FunctionsAzure App Service,可以先创建 Application Insights 资源,然后在启用监视时指向它。 或者,可以在启用过程中创建新的 Application Insights 资源。

配置 Application Insights 资源

修改关联的工作区

创建 Application Insights 资源后,可以修改关联的Log Analytics工作区。

在 Application Insights 资源中,选择 Properties>Change workspace>Log Analytics Workspaces

导出遥测数据

基于工作区的资源不支持旧版连续导出功能。 请改用 诊断设置

注意

导出诊断设置可能会增加成本。 有关详细信息,请参阅从 Application Insights 导出遥测数据。 有关此功能的定价信息,请参阅 Azure Monitor 定价页。 在开始计费之前,会发送通知。 如果在通知期过后继续使用遥测数据导出,你将按适用的费率付费。

在 Application Insights 资源中,选择“ 诊断设置>添加诊断设置”。

可以选择要存档到存储帐户的所有表或表子集。 还可以将其流式传输到事件中心

设置数据保留期

可以在关联的Log Analytics工作区中设置 Application Insights 资源的数据保留期。

有关详细信息,请参阅 配置 Analytics 表的默认交互式保留期

设置每日上限

必须为 Application Insights 和基础Log Analytics工作区单独设置每日上限。 有效的每日上限是两个设置的最小值。

若要了解如何在Azure门户中设置每日上限,请参阅设置Log Analytics工作区的每日上限

设置定价计划

可以在关联的Log Analytics工作区中设置 Application Insights 资源的定价计划。 有关可用定价计划的详细信息,请参阅 Azure Monitor 日志成本计算和选项

注意

如果在 Application Insights 中看到意外费用或高成本,本指南将有所帮助。 它涵盖了常见的原因,例如高遥测量、数据引入峰值和配置错误的采样。 如果您正在解决与成本峰值、遥测数据量、采样失效、数据上限、数据摄取量高或意外计费相关的问题,这将特别有用。 如需入门,请参阅 对 Application Insights 中数据引入量过高的问题进行故障排除

若要了解如何在 Azure 门户中设置定价计划,请参阅 Application Insights 计费

禁用 IP 掩码

默认情况下,Application Insights 不会存储 IP 地址。 若要了解如何禁用 IP 掩码,请参阅 地理位置和 IP 地址处理

创建其他资源

创建可用性测试

若要了解如何在 Azure 门户中创建可用性测试,请参阅 Application Insights 可用性测试

添加指标警报

小窍门

每个 Application Insights 资源都附带了现成可用的指标。 如果不同的组件向同一个 Application Insights 资源报告,那么基于这些指标发出警报可能没有意义。

若要了解如何在Azure门户中创建指标警报,请参阅 Tutorial:为Azure资源创建指标警报

若要自动创建指标警报,请参阅指标警报模板一文。

创建更多 Application Insights 资源

应该部署多少个 Application Insights 资源?

部署 Web 应用程序的下一个版本时,不希望将新版本和已发布的版本中的 Application Insights 遥测混合使用。

为了避免混淆,请使用单独的连接字符串将来自不同开发阶段的遥测数据发送到单独的 Application Insights 资源。

如果你的系统是 Azure Cloud Services 的实例,则还有另一种方法来设置单独的连接字符串。

何时使用单个 Application Insights 资源

将单个 Application Insights 资源用于:

  • 为部署在一起的应用程序(通常由同一团队开发和管理)简化 DevOps/ITOps 管理。
  • 将响应时间和故障率等关键性能指标集中在一个仪表板中(默认情况下)。 如有必要,按指标资源管理器中的角色名分段。
  • 当无需在应用程序组件之间进行不同的Azure基于角色的访问控制管理时。
  • 当跨组件有相同的指标警报条件、连续导出和计费/配额管理都足够时。
  • 一个 API 密钥可以平等地访问所有组件的数据且 10 个 API 密钥就能满足所有组件的需求。
  • 可以对所有角色使用相同的智能检测和工作项集成设置时。

注意

如果要整合多个 Application Insights 资源,可以将现有的应用程序组件指向新的、合并的 Application Insights 资源。 存储在旧资源中的遥测数据不会传输到新资源。 仅当新资源中有了足够的遥测数据时才会删除旧资源,这样能保证业务连续性。

其他注意事项

若要激活门户体验,请添加自定义代码以将有意义的值分配给 Cloud_RoleName 属性。 如果没有这些值,门户功能将不起作用。

对于Azure Service Fabric应用程序和经典云服务,SDK 通过从Azure角色环境读取来自动配置服务。 对于不同类型的应用,通常需要显式地进行设置。

实时指标无法按角色名称拆分数据。

版本和发行版本跟踪

发布应用程序的新版本时,希望能够将遥测数据与不同的版本分开。 可以设置 应用程序版本 属性,以便筛选 搜索指标资源管理器 结果。

可通过多种不同的方法设置“应用程序版本”属性。

  • 选项 1: 直接设置版本

    将行 telemetryClient.Context.Component.Version = typeof(MyProject.MyClass).Assembly.GetName().Version; 添加到应用程序的初始化代码。

    若要确保以一致的方式设置所有 TelemetryClient 实例,请在遥测初始化表达式中将该行换行。

  • Option 2:BuildInfo.config 中设置版本(仅限 ASP.NET)

    Application Insights Web 模块从 BuildLabel 节点中选取版本。 在项目中包括此文件,并记得在 Solution Explorer 中设置 Copy Always 属性。

    <?xml version="1.0" encoding="utf-8"?>
    <DeploymentEvent xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/VisualStudio/DeploymentEvent/2013/06">
      <ProjectName>AppVersionExpt</ProjectName>
      <Build type="MSBuild">
        <MSBuild>
          <BuildLabel kind="label">1.0.0.2</BuildLabel>
        </MSBuild>
      </Build>
    </DeploymentEvent>
    
    

    在Microsoft Build引擎中自动生成 BuildInfo.config。 将以下行添加到 .csproj 文件:

    <PropertyGroup>
      <GenerateBuildInfoConfigFile>true</GenerateBuildInfoConfigFile>
      <IncludeServerNameInBuildInfo>true</IncludeServerNameInBuildInfo>
    </PropertyGroup>
    

    此步骤会生成一个名为 yourProjectName 的文件。 发布过程会将此文件重命名为 BuildInfo.config

    生成标签在使用 Visual Studio 进行生成时包含占位符(*AutoGen_...*)。 使用 Microsoft Build 引擎生成时,占位符将填充正确的版本号。

    若要允许Microsoft Build引擎生成版本号,请设置 1.0.* 中的 AssemblyReference.cs 等版本。

版本注释

如果使用Azure DevOps,在发布新版本时,可以在图表中添加批注标记

自动化资源创建过程

可以通过将 Bicep 或 JSON 模板与 Azure Resource Manager 结合使用来自动执行资源创建过程。 可以将多个资源打包在一起,以在一个部署中创建它们。 例如,可以使用可用性测试、指标警报和诊断设置创建 Application Insights 资源,以便将遥测数据发送到Azure Storage帐户。

在 Azure 门户中生成模板

可以从现有资源生成模板。

仅 Application Insights

  1. 转到 Azure 门户中的 Application Insights 资源。
  2. 在左侧导航栏的“自动化”下打开“导出”模板
  3. (可选):若要使用自己的参数,请取消选中 “包括”参数
  4. 下载模板文件或直接在Azure门户中部署它。

多个资源

  1. 转到你的 Application Insights 资源的资源组。
  2. 在“ 概述 ”窗格中,标记要包含在模板中的所有资源,然后选择顶部导航栏中的 “导出模板 ”。
  3. (可选):若要使用自己的参数,请取消选中 “包括”参数
  4. 下载模板文件或直接在Azure门户中部署它。

从头开始创建模板

若要了解如何从头开始创建 ARM 模板,请访问 ARM 模板文档 ,其中包含用于 创建模板添加资源添加参数等的教程。

Application Insights可用性测试指标警报诊断设置和其他资源可以在我们的Azure 资源参考文档的监视器>洞察>节点中找到。

小窍门

还可以使用快速入门模板,这些模板位于本部分链接的每个 Azure 资源参考文档页面的底部附近。 若要了解如何使用模板,请访问 Tutorial:使用 Azure 快速入门模板

后续步骤