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

在 Log Analytics 工作区中设置使用辅助计划的表(预览版)

使用辅助表计划,你可以在 Log Analytics 工作区中以低成本方式引入和保留数据。 Azure Monitor 日志目前支持针对基于数据收集规则 (DCR) 的自定义表的辅助表计划,你可以将通过 Azure Monitor 代理日志引入 API 收集的数据发送到这些表。

本文介绍如何在 Log Analytics 工作区中创建使用辅助计划的自定义表,并设置将数据发送到该表的数据收集规则。

下方的视频介绍了辅助表计划的一些用途和好处:

重要

请参阅公共预览版限制,了解受支持的区域以及与辅助表和数据收集规则相关的限制。

先决条件

若要创建自定义表并收集日志数据,你需要以下项:

  • Log Analytics 工作区,你在其中至少拥有参与者权限
  • 数据收集终结点 (DCE)
  • Log Analytics 工作区中的所有表都有名为 TimeGenerated 的列。 如果原始日志数据具有 TimeGenerated 属性,Azure Monitor 会使用此值来标识记录的创建时间。 对于使用辅助计划的表,TimeGenerated 列目前仅支持 ISO8601 格式。 有关 TimeGenerated 格式的信息,请参阅支持的 ISO 8601 日期/时间格式

创建使用辅助计划的自定义表

若要创建自定义表,请通过以下命令调用表 - 创建或更新 API

https://management.azure.com/subscriptions/{subscription_id}/resourceGroups/{resource_group}/providers/Microsoft.OperationalInsights/workspaces/{workspace_name}/tables/{table name_CL}?api-version=2023-01-01-preview

重要

目前只有使用 2023-01-01-preview 版 API 才能设置辅助表计划。

提供此有效负载 - 更新表名称并根据表架构调整列:

 {
    "properties": {
        "schema": {
            "name": "table_name_CL",
            "columns": [
                {
                    "name": "TimeGenerated",
                    "type": "datetime"
                },
                {
                    "name": "StringProperty",
                    "type": "string"
                },
                {
                    "name": "IntProperty",
                    "type": "int"
                },
                 {
                    "name": "LongProperty",
                    "type": "long"
                },
                 {
                    "name": "RealProperty",
                    "type": "real"
                },
                 {
                    "name": "BooleanProperty",
                    "type": "boolean"
                },
                 {
                    "name": "GuidProperty",
                    "type": "real"
                },
                 {
                    "name": "DateTimeProperty",
                    "type": "datetime"
                }
            ]
        },
        "totalRetentionInDays": 365,
        "plan": "Auxiliary"
    }
}

将数据发送到使用辅助计划的表

目前有两种方法可以将数据引入到使用辅助计划的自定义表:

  • 使用 Azure Monitor 代理从文本文件收集日志 / 使用 Azure Monitor 代理从 JSON 文件收集日志

    如果你使用此方法,则自定义表只能有两列 - TimeGeneratedRawData(类型为 string)。 数据收集规则会将收集的每个日志条目的全部内容发送到 RawData 列,Azure Monitor 日志会自动使用日志引入时间填充 TimeGenerated 列。

  • 使用日志引入 API 将数据发送到 Azure Monitor。

    若要使用此方法,请执行以下操作:

    1. 创建使用辅助计划的自定义表,如本文所述。

    2. 按照教程:使用日志引入 API 将数据发送到 Azure Monitor 中所述步骤操作,以便:

      1. 创建 Microsoft Entra 应用程序
      2. 使用此 ARM 模板创建数据收集规则
      {
          "$schema": "https://schema.management.azure.com/schemas/2019-08-01/deploymentTemplate.json#",
          "contentVersion": "1.0.0.0",
          "parameters": {
              "dataCollectionRuleName": {
                  "type": "string",
                  "metadata": {
                      "description": "Specifies the name of the data collection rule to create."
                  }
              },
              "location": {
                  "type": "string",
                  "metadata": {
                      "description": "Specifies the region in which to create the data collection rule. The must be the same region as the destination Log Analytics workspace."
                  }
              },
              "workspaceResourceId": {
                  "type": "string",
                  "metadata": {
                      "description": "The Azure resource ID of the Log Analytics workspace in which you created a custom table with the Auxiliary plan."
                  }
              }
          },
          "resources": [
              {
                  "type": "Microsoft.Insights/dataCollectionRules",
                  "name": "[parameters('dataCollectionRuleName')]",
                  "location": "[parameters('location')]",
                  "apiVersion": "2023-03-11",
                  "kind": "Direct",
                  "properties": {
                      "streamDeclarations": {
                          "Custom-table_name_CL": {
                              "columns": [
                                  {
                                      "name": "TimeGenerated",
                                      "type": "datetime"
                                  },
                                  {
                                      "name": "StringProperty",
                                      "type": "string"
                                  },
                                  {
                                      "name": "IntProperty",
                                      "type": "int"
                                  },
                                  {
                                      "name": "LongProperty",
                                      "type": "long"
                                  },
                                  {
                                      "name": "RealProperty",
                                      "type": "real"
                                  },
                                  {
                                      "name": "BooleanProperty",
                                      "type": "boolean"
                                  },
                                  {
                                      "name": "GuidProperty",
                                      "type": "real"
                                  },
                                  {
                                      "name": "DateTimeProperty",
                                      "type": "datetime"
                                  }
                                      ]
                                      }
                                  },
                      "destinations": {
                          "logAnalytics": [
                              {
                                  "workspaceResourceId": "[parameters('workspaceResourceId')]",
                                  "name": "myworkspace"
                              }
                          ]
                      },
                      "dataFlows": [
                          {
                              "streams": [
                                  "Custom-table_name_CL"
                              ],
                              "destinations": [
                                  "myworkspace"
                              ]
                          }
                      ]
                  }
              }
          ],
          "outputs": {
              "dataCollectionRuleId": {
                  "type": "string",
                  "value": "[resourceId('Microsoft.Insights/dataCollectionRules', parameters('dataCollectionRuleName'))]"
              }
          }
      }
      

      其中:

    3. 授予应用程序使用 DCR 的权限

公共预览版限制

公共预览版存在以下限制:

  • 辅助计划正在逐步推广到所有区域,目前在以下区域受支持:

    区域 位置
    美洲 加拿大中部
    美国中部
    美国东部
    美国东部 2
    美国西部
    美国中南部
    美国中北部
    亚太区 澳大利亚东部
    澳大利亚南部
    欧洲 东亚
    北欧
    英国南部
    德国中西部
    瑞士北部
    法国中部
    中东 以色列中部
  • 只能在使用表 - 创建或更新 API2023-01-01-preview 版)创建的、基于数据收集规则的自定义表上设置辅助计划。

  • 使用辅助计划的表:

    • 目前未计费。 目前,引入、查询、搜索作业和长期保留均免费。
    • 不支持包含动态数据的列。
    • 总保留期固定为 365 天。
    • 仅支持 ISO 8601 日期/时间格式。
  • 数据收集规则(可将数据发送到使用辅助计划的表):

    • 只能将数据发送到单个表。
    • 不能包含转换
  • 目前,Azure Monitor 日志使用情况表中不提供辅助表的引入数据。 若要估计数据引入量,可以使用以下查询来计算辅助表中的记录数:

    MyTable_CL
    | summarize count()
    
  • 目前不支持这些功能:

    Feature 详细信息
    Log Analytics 工作区复制 Azure Monitor 不会将设置了辅助计划的表中的数据复制到辅助工作区。 因此,如果发生区域性故障,这些数据将无法得到保护,可能会丢失,即时切换到辅助工作区,这些数据也无法访问。
    客户管理的密钥 设置了辅助计划的表中的数据使用 Microsoft 管理的密钥进行加密,即使你使用自己的加密密钥保护 Log Analytics 工作区其余部分中的数据也是如此。
    Microsoft Azure 客户密码箱 密码箱界面支持查看和批准或拒绝客户数据访问请求,以响应客户发起的支持工单或 Microsoft 发现的问题,但不适用于设置了辅助计划的表。

后续步骤

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