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

使用数据收集规则,你可以筛选和转换日志数据,然后再将数据发送到 Azure 表或自定义表。 本文介绍如何创建自定义表并将自定义列添加到 Log Analytics 工作区中的表。

重要

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

先决条件

若要创建自定义表,你需要:

  • Log Analytics 工作区,你在其中至少拥有参与者权限

  • 数据收集终结点 (DCE)

  • 一个 JSON 文件,其中至少包含自定义表的一条示例记录。 这将如下所示:

    [
      {
        "TimeGenerated": "supported_datetime_format",
        "<column_name_1>": "<column_name_1_value>",
        "<column_name_2>": "<column_name_2_value>"
      },
      {
        "TimeGenerated": "supported_datetime_format",
        "<column_name_1>": "<column_name_1_value>",
        "<column_name_2>": "<column_name_2_value>"
      },
      {
        "TimeGenerated": "supported_datetime_format",
        "<column_name_1>": "<column_name_1_value>",
        "<column_name_2>": "<column_name_2_value>"
      }
    ]
    

    Log Analytics 工作区的所有表必须具有名为 TimeGenerated 的列。 如果示例数据具有名为 TimeGenerated 的列,则此值将用于标识记录的引入时间。 否则,会在表的 DCR 中的转换中添加一个 TimeGenerated 列。 有关 TimeGenerated 格式的信息,请参阅支持的日期/时间格式

创建自定义表

Azure 表具有预定义的架构。 若要将日志数据存储在不同的架构中,请使用数据收集规则来定义如何收集数据、转换数据以及将数据发送到 Log Analytics 工作区中的自定义表。

重要

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

警告

表名用于计费目的,因此它们不应包含敏感信息。

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

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

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

  2. 选择“创建”,然后选择“新的自定义日志(基于 DCR)”。

    显示基于 DCR 的新自定义日志的屏幕截图。

  3. 指定名称,并根据需要指定表的说明。 无需将 _CL 后缀添加到自定义表的名称中 - 它会自动添加到在门户中指定的名称中。

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

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

  5. 选择一个数据收集终结点,然后选择“下一步”。

    显示自定义日志表名称的屏幕截图。

  6. 选择“浏览文件”,找到具有新表的示例数据的 JSON 文件。

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

    如果示例数据不包含 TimeGenerated 列,那么你将收到一条消息,显示正在使用此列创建转换。

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

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

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

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

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

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

  8. 选择“应用”以保存转换并查看即将创建的表的架构。 选择“下一步”继续 。

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

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

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

删除表

Azure Monitor 日志中有多种类型的表。 你可以删除不是 Azure 表的任何表,但在删除表时数据会发生什么情况,对于每种类型的表都是不同的。

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

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

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

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

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

  3. 依次选择要删除的表、表右侧的省略号 (...)、“删除”,然后键入“是”来确认删除。

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

添加或删除自定义列

可以修改自定义表的架构,并将自定义列添加到标准表,或者从标准表中删除列。

注意

列名必须以字母开头,最多可包含 45 个字母数字字符和下划线 (_)。 _ResourceIdid_ResourceId_SubscriptionIdTenantIdTypeUniqueIdTitle 是保留的列名。

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

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

  2. 选择要编辑的表右侧的省略号 (...),然后选择“编辑架构”。 此时会打开“架构编辑器”屏幕。

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

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

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

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

后续步骤

了解有关以下方面的详细信息: