导出

App Center,你可以将所有 Analytics 原始数据连续导出到 Azure 中。 可以将 Analytics 数据导出到Blob存储和应用程序Insights (Azure Monitor) 。 通过导出数据,你可以受益于:

  • 无限制的数据保留
  • 详细使用情况分析
  • 统一仪表板
  • Application Insights的其他丰富功能,例如漏斗图、保留期

App Center配置导出以及两天的回填数据Insights分析数据连续导出到 Application Insights应用程序。 使用应用程序管理中的新更新Insights,App Center用户可以在一个仪表板上获取应用程序和后端分析的统一视图。

App Center配置导出以及 28 天的回填数据时,存储将 Analytics 数据连续导出到 Blob 数据库。 详细了解 Blob 存储

还可以将数据导出到 Azure 常规用途 v2 存储 Blob。 常规用途 v2 存储帐户支持最新的 Azure 存储功能,并纳入了常规用途 v1 存储帐户和 Blob 存储帐户的所有功能。

详细了解 v2 常规用途存储 详细了解应用程序Insights

Azure Blob 存储

Azure Blob 存储是一项服务,用于存储通过 HTTP 或 HTTPS 在全球范围内提供的大量非结构化对象数据,例如文本或二进制数据。 可以使用 Blob 存储公开数据,或以私密方法存储数据。

数据每分钟导出一次,每次都会创建一个新的子文件夹。 例如,数据存储为年 /月/日/小时/分钟 格式 (,例如,) 设置为 时,数据 https://<blob-storage-account>.blob.core.windows.net/archive/2017/12/09/04/03/logs.v1.data blob_path_format_kind 默认为 WithoutAppId 。 当 config 属性设置为 WithAppId 时,数据以 appId/year/month/day/hour/minute 格式存储,该格式以 appID 作为默认路径的前缀。 数据最多需要 5 分钟才能显示在 Azure Blob 存储。

数据分为"分析"数据 (会话、事件) 、"崩溃"、"错误"和"附件"。 详细了解如何导出诊断数据

Azure Blob 存储中的数据可视化存储

Blob 文件的内容是客户端设备日志的 JSON 数组,对于 Analytics 数据如下所示:

[
    {
        "AppId": "046d56b8-ea26-4653-97ba-12b8f99c3ef5",
        "Timestamp": "2017-12-09T04:02:53.618Z",
        "InstallId": "e589a371-ea0c-4479-9a7b-9f834adec040",
        "MessageType": "EventLog",
        "IngressTimestamp": "2017-12-09T04:02:57.987Z",
        "MessageId": "980e21a0-0cbb-48ac-8820-28acf4beb00d",
        "EventId": "ad980536-e743-48a9-ab7e-cb043602d2c9",
        "EventName": "log_out",
        "CorrelationId": "83a2daa9-e5b4-4082-ba4a-ce34b95ab859",
        "IsTestMessage": "False",
        "SdkVersion": "1.0",
        "Model": "PC",
        "OemName": "Samsung",
        "OsName": "Android",
        "OsVersion": "8.1.0",
        "OsApiLevel": "2",
        "Locale": "EN",
        "TimeZoneOffset": "PT2M",
        "ScreenSize": "320x240",
        "AppVersion": "1.1.0",
        "AppBuild": "1",
        "AppNamespace": "com.microsoft.test",
        "CarrierName": "AT&T",
        "CarrierCountry": "US",
        "CountryCode": "US",
        "WrapperSdkVersion": "1.0",
        "WrapperSdkName": "mobilecenter.xamarin","Properties": "{\"extra_00\":\"5bcacf3598ca44ebbbc99e4488cfc854\",\"extra_01\":\"2673e48867c74d51af8dc24c762a8b28\",\"extra_02\":\"5b76c801e5074cd3a13ea37253b94484\",\"extra_03\":\"c1e76aa252c947d4b4bcd4d1d96a7be6\",\"extra_04\":\"caea50034c4f441a963700fa3cf70d03\"}",
        "SessionId": "10df497a-4261-4995-b466-3fd77ac47395",
        "SdkName": "mobilecenter.android",
        "OsBuild": "2",
        "WrapperRuntimeVersion": "None",
        "LiveUpdateDeploymentKey": "stage",
        "LiveUpdatePackageHash": "dsadsdasd3211321233",
        "LiveUpdateReleaseLabel": "2.0"
    }
]

Azure Application Insights

应用程序Insights是 APM (服务) 应用程序性能管理,它针对事件数据提供查询、分段、筛选和使用情况App Center功能。 通过将 App Center SDK 添加到应用,将数据导出到 App Center 应用类型 Application Insights 资源中,可以访问以下功能:

  • 应用程序Insights分析。 使用功能强大的查询语言分析原始事件数据并创建可视化效果。 可以将查询结果导出到 Power BI 或__Excel。
  • 用户、会话和事件。 了解有多少人使用应用的每个页面和功能,然后按国家/地区、浏览器或其他属性进行细分,以了解原因。
  • 漏斗图用户流。 了解用户如何在应用中导航。 确定瓶颈。 发现提高转换率和消除问题的方法。
  • 保留期 。 了解有多少用户返回使用你的应用。 了解他们在何处以及为什么退出。
  • 工作簿。 创建将使用情况分析可视化效果、Application Insights Analytics 查询和文本组合在一起以共享团队见解的交互式工作簿。

这些App Center字段映射到应用程序Insights格式。 下面是映射字段之间的等效性:

Application Insights 应用中心
timestamp 事件的时间
name 自定义事件或数据类型的名称
customDimensions 这包括下表中显示的多个字段
session_Id 唯一会话标识符
user_Id 唯一的用户标识符
application_Version 应用程序版本
client_Type、client_Model 设备型号
client_OS OS 类型和版本
sdkVersion App Center SDK 版本

下表显示了"customDimensions"字段的字段映射。

Application Insights 应用中心
AppBuild 应用程序内部版本号
AppId App Center应用 ID
AppNamespace 应用程序命名空间
CarrierCountry 运营商国家/地区
CarrierName 承运人类型
EventId App Center事件 ID
IngressTimestamp 日志 ingestion timestamp
Locale 设备语言
MessageType 事件类型 (会话、事件...)
OsApiLevel OS API 级别
OsBuild OS 内部版本号
OsName OS 名称
OsVersion OS 版本
属性 附加到自定义事件的属性
ScreenSize 设备的屏幕大小
SdkName App Center SDK 名称
SdkVersion App Center SDK 版本
TimeZoneOffset 时区偏移量
UserId 开发人员设置 (自定义用户)
WrapperRuntimeVersion App Center SDK 包装器运行时版本
WrapperSdkName App Center SDK 包装器名称
WrapperSdkVersion App Center SDK 包装器版本

用于检索自定义事件的示例 AI 查询:

customEvents
    | where name == "YourEventName"
    | extend Properties = todynamic(tostring(customDimensions.Properties))
    | extend YourPropertyName = Properties.YourPropertyName

有关应用程序应用程序和Insights App Center:

先决条件

必须具有 Azure 订阅,以使用导出;如果没有 Azure 订阅,可以在开始前创建一个免费的 Azure 帐户。

Azure 订阅链接

备注

只有标准导出才需要此步骤;自定义导出不需要 Azure 订阅。

App Center将应用数据标准导出到 Azure 时,需要一个链接到 azure App Center订阅。 添加订阅并链接到应用必须由应用所有者 (如果应用不属于组织管理员) 或组织的管理员完成。

添加 Azure 订阅

  • 属于组织的应用: 如果你是组织管理员,请转到应用所属的组织下的"管理"部分。
  • 属于用户的应用: 如果你是应用所有者,请执行以下步骤。
  1. 登录到 App Center 门户。
  2. 转到用户设置。
  3. 在"Azure"下,单击 "添加订阅"
  4. 选择现有 Azure 订阅或创建新订阅。

将应用链接到 Azure 订阅

将 Azure 订阅添加到用户或组织帐户后,需要为应用提供访问权限,以便可以在该应用内使用订阅。 通过执行此操作,你允许该应用的任何经理/开发人员使用订阅进行导出。 这会针对 Azure 订阅收取相关的费用。

设置导出

  1. 在 App Center 门户中,选择"应用"。
  2. 转到应用 设置。
  3. 单击" 导出", 然后选择" 新建导出" 选项。
  4. 根据应用需求选择Insights或应用程序存储。
  5. 选择想要使用的标准配置 (自定义) 。

App Center提供了两种导出数据的方法:标准导出和**自定义导出。 标准导出允许使用链接到应用的 Azure 订阅,通过一键式体验导出数据。 自定义导出将提供更大的灵活性,配置将在 Azure 中自定义。

标准导出

标准导出提供用于导出数据的一键式体验。 使用此选项时,将在 Azure 中自动创建所有必需的资源。

自定义导出

自定义导出允许用户在 Azure 中自定义其 导出配置

对于 Blob 存储

  1. 登录 Azure 门户
  2. 单击" 创建新资源"
  3. "存储" 中搜索"帐户"。
  4. 单击“创建”。 这将打开"创建存储帐户"页。
  5. 选择一个 Azure 订阅。
  6. 选择现有资源组,或创建一个新的资源组。 (资源组是一个容器,用于保存 Azure 解决方案资源)
  7. 对于"帐户类型",你将看到以下下拉列表。 支持三个选项。 选择适合自己的选项。 支持的 Blob 存储 帐户
  8. 单击" 查看 + 创建"
  9. 通过验证后
  10. 单击" 创建"
  11. 部署成功后,转到资源
  12. "访问密钥"选项卡设置密钥
  13. 复制 连接字符串, 并将其添加到App Center配置。

将连接字符串添加到 App Center

对于应用程序Insights

  1. 登录 Azure 门户
  2. 选择 "使用管理工具>应用程序>资源Insights。
  3. 将出现配置框
  4. 将"**应用程序类型"**设置为App Center应用程序 。
  5. 应用程序复制 检测密钥Azure 门户并将其添加到自定义App Center中。 在应用程序资源资源的"概述"页中可以找到Insights密钥。

将检测密钥添加到 App Center

有关导出详细信息,请参阅应用程序Insights快速入门指南

将多个应用导出到同一存储帐户

为多个应用配置导出时,应在模型) 的 (部分创建或更新配置,该配置以相应的 appID 作为导出路径 blob_path_format_kind ExportBlobConfiguration WithAppId 的前缀。

Blob 的路径的格式如下:

  • 当 枚举设置为 WithoutAppId=falseyear/month/day/hour/minute
  • 当 枚举设置为 WithAppId=trueappId/year/month/day/hour/minute

上述导出配置创建 API 已概述。 对于现有配置,下面是部分更新API:

PATCH /v0.1/apps/{owner_name}/{app_name}/export_configurations/{export_configuration_id}

更改传播需要 5-10 分钟,然后使用新的路径格式写入该时间点的实体。

回填选择退出

默认情况下,新的导出配置将重新填充 AI 资源的最后两天数据和 Blob 存储的 30 天数据。 在某些情况下,不需要回填;例如,如果这样做会导致覆盖或复制数据。 在这种情况下,创建新 backfill 配置时 false ,将 属性设置为 。

选择要导出的数据类型

默认情况下,新的导出配置仅导出 (个事件、会话等分析数据) 诊断相关的数据可以通过将属性 (模型) 设置为 、和 的组合来导出 Entities export_entity errors crashes attachments 。 属性还允许通过将值添加到数组来排除 Analytics no_logs Entities 数据。

自动禁用机制

App Center自动禁用错误的导出配置,以防止整个导出管道中出现任何可能的延迟。 例如,App Center Azure 处理以下故障。

  • 应用程序Insights检测密钥无效。
  • 无法对 Blob 资源进行身份验证,或者无法解析远程名称。

备注

对于 Blob 服务,Insights应用程序服务的数据将保留 48 小时和 30 存储。 如果在此时间内重新启用导出,则数据将随备份一起流动。 任何时间期限后的数据将丢失。

可以使用以下 API 之一来检查状态,以便执行还原操作。

GET /v0.1/apps/{owner_name}/{app_name}/export_configurations
GET /v0.1/apps/{owner_name}/{app_name}/export_configurations/{export_configuration_id}

定价

若要设置导出,需要创建 Azure 订阅。 导出数据的相关成本取决于要导出到的 Azure 服务。 有关每个服务的定价的详细信息,请参阅:

应用程序Insights定价

Blob 存储定价