你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

教程:使用 Azure 门户为 Azure Cosmos DB 工作区数据添加转换

本教程将指导你使用 Azure 门户配置示例工作区数据收集规则 (DCR) 中的转换

注意

为了帮助提高启用 Log Analytics 的成本,我们现在支持在 Log Analytics 资源上添加数据收集规则和转换,以对列进行筛选、减少返回的结果数,并在将数据发送到目标之前创建新列。

工作区转换将一起存储在工作区的单个 DCR 中,它称为工作区 DCR。 每个转换都与特定表相关联。 转换会应用于从任何不使用 DCR 的工作流发送到此表的所有数据。

注意

本教程使用 Azure 门户来配置工作区转换。 有关使用 Azure 资源管理器模板和 REST API 的同一教程,请参阅教程:使用资源管理器模板将工作区数据收集规则中的转换添加到 Azure Monitor

在本教程中,你将了解如何执行以下操作:

  • 为 Log Analytics 工作区中的表配置工作区转换
  • 为工作区转换编写日志查询。

先决条件

要完成本教程,需要:

教程概述

在本教程中,你将通过筛选出某些记录来降低 CDBDataPlaneRequests 表的存储要求。 你还将在分析列数据时移除列的内容,以在自定义列中存储数据片段。 在工作区中启用日志分析时,将会创建 CDBDataPlaneRequests 表

本教程将使用 Azure 门户,它提供了一个向导,引导你完成创建引入时间转换的过程。 完成这些步骤后,你将看到向导:

  • 使用查询中的任何其他列更新表架构。
  • 创建一个 WorkspaceTransformation DCR,如果默认 DCR 尚未链接到工作区,则将其链接到工作区。
  • 创建一个引入时间转换,并将其添加到 DCR 中。

启用查询审核日志

需要为工作区启用日志分析,以创建要使用的 CDBDataPlaneRequests 表。 此步骤不是所有引入时间转换所必需的。 它只是生成我们将要处理的示例数据。

向表中添加转换

现在已创建了表,可以为它创建转换了。

  1. 在 Azure 门户中的“Log Analytics 工作区”菜单中,选择“表”。 找到 CDBDataPlaneRequests 表,然后选择“创建转换”。

    显示创建新转换的屏幕截图。

  2. 由于此转换是工作区中的第一个转换,因此必须创建工作区转换 DCR。 如果在同一工作区中为其他表创建转换,则它们将存储在此同一 DCR 中。 选择“创建新的数据收集规则”。 已经为工作区填充了订阅资源组。 输入 DCR 的名称,然后选择“完成”。

  3. 选择“下一步”以查看表中的示例数据。 在定义转换时,结果将应用于示例数据。 出于此原因,可以在将结果应用到实际数据时对结果进行评估。 选择“转换编辑器”以定义转换。

    显示日志表中示例数据的屏幕截图。

  4. 在转换编辑器中,可以看到在将数据引入到表之前将会应用于该数据的转换。 传入数据由名为 source 的虚拟表来表示,它具有与目标表本身相同的一组列。 转换最初包含一个简单的查询,该查询返回没有任何更改的 source 表。

  5. 将查询修改为以下示例:

    source
    | where StatusCode != 200 // searching for requests that are not successful
    | project-away Type, TenantId
    

    修改将进行以下更改:

    • 删除了与查询 CDBDataPlaneRequests 表本身相关的行以节省空间,因为这些日志条目不起作用。
    • 为了节省空间,已移除 TenantIdType 列中的数据。
    • 转换还支持在查询中使用 extend 运算符来添加列。

    备注

    如果需要,使用 Azure 门户,转换的输出将启动对表模式的更改。 将添加列以匹配转换输出,如果它们还不存在的话。 确保你的输出不包含任何不希望添加到表中的列。 如果输出不包括表中已有的列,则不会删除这些列,但不会添加数据。

    添加到内置表中的任何自定义列必须以 _CF 结尾。 添加到自定义表中的列不需要有此后缀。 自定义表的名称以 _CL 结尾。

  6. 将查询复制到转换编辑器中,然后选择“运行”查看示例数据的结果。 可以验证新的 Workspace_CF 列是否在查询中。

    显示转换编辑器的屏幕截图。

  7. 选择“应用”保存转换,然后选择“下一步”查看配置。 选择“创建”以使用新的转换更新 DCR。

    显示正在保存转换的屏幕截图。

测试转换。

大约 30 分钟后,转换才会生效,然后便可通过对表运行查询来对测试转换。 此转换仅影响应用转换后发送到表的数据。

对于本教程,请运行一些示例查询,将数据发送到CDBDataPlaneRequests表。 包括一些对 CDBDataPlaneRequests 的查询,使你可以验证转换是否筛选这些记录。

疑难解答

本部分介绍你可能会遇到的不同错误情况,以及如何更正它们。

Log Analytics 中的 IntelliSense 无法识别表中的新列

用于驱动 IntelliSense 的缓存可能需要长达 24 小时的时间才能更新。

动态列上的转换不起作用

已知问题当前会影响动态列。 临时的解决方法是在对动态列数据执行任何操作之前,使用 parse_json() 显式分析这些数据。

后续步骤