在 Azure Monitor 日志中添加或删除表和列

本文介绍如何使用示例数据收集规则(DCR)创建自定义表,以及如何使用自定义列管理表架构。

数据收集规则(DCR)控制Azure Monitor收集数据的方式。 它们允许在日志数据到达Azure或自定义表之前对其进行筛选和转换

自定义列扩展表的架构,以适应数据源或组织的分析要求的变化。 更新表架构时,更新向该表发送数据的任何 DCR。

先决条件

Action 所需权限
管理数据表 Microsoft.OperationalInsights/workspaces/* Log Analytics 工作区范围或更高级别的权限。
例如,由特权内置角色 Log Analytics参与者 提供。

若要将数据引入表中,可能需要以下项:

  • 数据收集终结点(DCE)。 有关详细信息,请参阅 DCE
  • 在 JSON 文件中至少有一条源数据记录的示例。 使用此示例在门户中创建自定义表,例如 从 VM 收集文本和 JSON 数据源时。

请考虑以下附加要求:

  • Log Analytics工作区中的所有表都必须有一列TimeGenerated,该列标识记录的引入时间。 如果缺少该列,Azure Monitor 会自动将其添加到你的 DCR 中该表的转换里。 有关详细信息,请参阅 支持的日期/时间格式
  • 辅助/Lake 表计划仅支持采用 ISO 8601 格式且精度为六位小数(微秒)的 TimeGenerated 列。 有关详细信息,请参阅 支持的 ISO 8601 日期/时间格式

创建自定义表

Azure 表具有预定义的架构。 若要将日志数据存储在不同的架构中,请使用数据收集规则来定义如何收集数据、转换数据以及将数据发送到 Log Analytics 工作区中的自定义表。 创建自定义表时,请根据数据使用情况和成本要求选择 表计划分析(默认)、基本辅助 / 数据湖)。

自定义表的后缀为“_CL”;例如,tablename_CL。 Azure 门户会自动将 _CL 后缀添加到表名。 使用其他方法创建自定义表时,需要自行添加 _CL 后缀。 数据收集规则内数据流属性中的 tablename_CL 必须与 Log Analytics 工作区中的 tablename_CL 名称匹配

警告

Azure使用表名称进行计费,因此不要在名称中包含敏感信息。

若要使用 Azure 门户创建自定义表,请执行以下操作:

  1. 从“Log Analytics 工作区”菜单中,选择“Tables”。

  2. 选择“创建”

  3. 输入名称,以及表的可选描述。 无需将 _CL 后缀添加到自定义表的名称。 门户会自动将后缀添加到指定的名称。

  4. “表计划”下,选择 “分析 ”(默认值)、 “基本”或 “辅助”/“湖”。

  5. 从“数据收集规则”下拉列表中选择现有的数据收集规则,或选择“创建新的数据收集规则”并指定新数据收集规则的“订阅”、“资源组”和“名称”。

    显示新数据收集规则的屏幕截图。

  6. 选择一个数据收集终结点,然后选择“下一步”。 如果选择了已与 DCE 关联的 DCR,则此下拉列表不可用。

  7. 选择“浏览文件”,找到具有新表的示例数据的 JSON 文件。 以下屏幕截图使用教程中脚本中的示例 JSON 文件:将数据发送到Azure Monitor日志

    显示文件的自定义日志浏览的屏幕截图。

    如果示例数据不包含 TimeGenerated 列,则会收到一条消息,指出门户会创建一个包含此列的转换。

  8. 如果要在将日志数据引入到表中之前对其进行转换,请执行以下操作:

    1. 选择“转换编辑器”。

      使用转换编辑器可以为传入数据流创建转换。 该转换是一个对每条传入记录运行的 Kusto 查询语言 (KQL) 查询。 Azure Monitor 日志将查询结果存储在目标表中。

      显示自定义日志数据预览的屏幕截图。

    2. 选择“运行”以查看结果。

      显示初始自定义日志数据查询的屏幕截图。

  9. 选择 “应用” 保存转换并查看新表的架构。 选择“下一步”。

    显示自定义日志最终架构的屏幕截图。

  10. 验证最终详细信息,然后选择“创建”以保存自定义日志。

    显示自定义日志创建的屏幕截图。

变量 示例值 Purpose
主持人 management.chinacloudapi.cn 隐式 Azure 资源管理器 端点
subscriptionId aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e 用户输入
resourceGroupName myResourceGroup 用户输入
工作区名称 myWorkspace 用户输入
tableName_CL myTable_CL 用户输入
计划 辅助 有效值: Analytics (默认值)、 BasicAuxiliary. 请参阅 表格计划
apiVersion 2025-07-01 引用

删除表

无法删除Azure表。 删除任何其他表时,Azure删除数据的方式取决于表类型。

有关详细信息,请参阅删除 Log Analytics 工作区中的表时数据会发生什么情况

若要从 Azure 门户中删除表,请执行以下操作:

  1. 在“Log Analytics 工作区”菜单中,选择“表”。

  2. 按名称搜索要删除的表,或在“类型”字段中选择“搜索结果”。

    显示 Log Analytics 工作区的“表”屏幕的屏幕截图,其中突出显示了“按名称进行筛选”和“类型”字段。

  3. 选择要删除的表,点击表右侧的省略号按钮 (...),选择删除,并通过输入yes确认删除。

    显示 Log Analytics 工作区中表的“删除表”屏幕的屏幕截图。

变量 示例值 Purpose
主持人 management.chinacloudapi.cn 隐式 Azure 资源管理器 端点
subscriptionId aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e 用户输入
resourceGroupName myResourceGroup 用户输入
工作区名称 myWorkspace 用户输入
tableName_CL myTable_CL 用户输入
apiVersion 2025-07-01 引用

添加或删除自定义列

自定义表允许在创建表后通过添加或删除列来修改架构。 在Azure表中,只能添加和删除自定义列。

重要

每当更新表架构时,务必更新向表发送数据的数据收集规则。 在数据收集规则中定义的表架构决定了 Azure Monitor 如何将数据流式传输到目标表。 进行表架构更改时,Azure Monitor 不会自动更新数据收集规则。

定义自定义表的列名时,请使用以下规则:

  • 列名必须以字母(A-Z 或 a-z)开头。
  • 在第一个字符之后,仅使用字母、数字或下划线。
  • 不要在列名中使用空格、点、短划线或其他标点符号。
  • 列名不支持非 ASCII 字母(例如 Ö、É、Ö)。
  • 对于 Analytics 和 Basic 表,列名仅区分大小写。 当重复列名之间唯一的差异只是大小写时,辅助日志表的数据引入会丢弃数据。
  • 列名长度必须为 2 到 45 个字符。
  • Azure表中的自定义列名必须以 _CF 结尾。
  • GUID 类型是一个逻辑批注,但值以字符串的形式存储和查询。 有关详细信息,请参阅 Azure Monitor Logs 中的 Column 数据类型
  • 不要使用与系统或保留列冲突的名称,包括idBilledSizeIsBillableInvalidTimeGeneratedTenantIdTitleTypeUniqueId_ItemId_ResourceGroup_ResourceId、、 _SubscriptionId、 。 _TimeReceived

这些架构规则比 常规 Kusto 标识符规则更严格。 Kusto 可以在查询中使用引号引用不寻常的属性名称,但自定义表架构仅接受列名中的字母、数字和下划线。

若要将自定义列添加到 Log Analytics 工作区中的表,或者要删除列,请执行以下操作:

  1. 从“Log Analytics 工作区”菜单中,选择“Tables”。

  2. 选择要编辑的表右侧的省略号 (...),然后选择“编辑架构”。

    此操作将打开 “架构编辑器” 屏幕。

  3. 请向下滚动到“模式编辑器”屏幕的“自定义列”部分。

    屏幕截图显示“架构编辑器”屏幕,其中突出显示了“添加列”和“删除”按钮。

  4. 若要添加新列,请执行以下操作:

    1. 选择添加列
    2. 设置列名和说明(可选),然后从“类型”下拉列表中选择预期的值类型。
    3. 选择“保存”,以保存新列。
  5. 若要删除列,请选择要删除的列左侧的“删除”图标。

变量 示例值 Purpose
主持人 management.chinacloudapi.cn 隐式 Azure 资源管理器 端点
subscriptionId aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e 用户输入
resourceGroupName myResourceGroup 用户输入
工作区名称 myWorkspace 用户输入
tableName Heartbeat 用户输入
列名称 Custom1_CF 用户输入
apiVersion 2025-07-01 引用