使用诊断日志监视 Azure 数据资源管理器的引入、命令、查询和表

Azure 数据资源管理器是一项快速、完全托管的数据分析服务,用于实时分析从应用程序、网站和 IoT 设备等资源流式传输的海量数据。 Azure Monitor 诊断日志提供有关 Azure 资源操作的数据。 Azure 数据资源管理器使用诊断日志获取有关引入、命令、查询和表的见解。 可将操作日志导出到 Azure 存储、事件中心或 Log Analytics 以监视引入、命令和查询状态。 可将 Azure 存储和 Azure 事件中心的日志路由到 Azure 数据资源管理器群集中的某个表,以进一步分析。

重要

诊断日志数据可能包含敏感数据。 请根据监视需求限制日志目标的权限。

先决条件

设置 Azure 数据资源管理器群集的诊断日志

诊断日志可用于配置以下日志数据的收集:

备注

对于使用 SDK、数据连接和连接器将排队的引入内容引入到引入终结点,引入日志受支持。

对于流式引入、目标为引擎的直接引入、从查询进行的引入或者设置或追加命令,引入日志不受支持。

备注

只会针对引入操作的最终状态报告“失败引入”日志,这与引入结果指标不同,后者是针对在内部重试的暂时性故障发出的。

  • 成功的引入操作:这些日志包含有关已成功完成的引入操作的信息。
  • 失败的引入操作:这些日志包含有关失败的引入操作的详细信息,包括错误详细信息。
  • 引入批处理操作:这些日志包含准备引入的批的详细统计信息(持续时间、批大小、blob 计数和批处理类型)。

然后可根据规范将数据存档到存储帐户、流式传输到事件中心,或发送到 Log Analytics。

启用诊断日志

诊断日志默认已禁用。 若要启用诊断日志,请执行以下步骤:

  1. Azure 门户中,选择要监视的 Azure 数据资源管理器群集资源。

  2. 在“监视”下,选择“诊断设置” 。

    添加诊断日志。

  3. 选择“添加诊断设置”。

  4. 在“诊断设置”窗口中,执行以下操作:

    配置诊断设置。

    1. 输入一个诊断设置名称。
    2. 选择一个或多个目标:Log Analytics 工作区、存储帐户或事件中心。
    3. 选择要收集的日志:SucceededIngestionFailedIngestionIngestionBatchingCommandQueryTableUsageStatisticsTableDetails
    4. 选择要收集的指标(可选)。
    5. 选择“保存”以保存新的诊断日志设置和指标。

在几分钟内即会完成新的设置。 日志随后会显示在配置的存档目标(存储帐户、事件中心或 Log Analytics)中。

备注

如果将日志发送到 Log Analytics,则 SucceededIngestionFailedIngestionIngestionBatchingCommandQueryTableUsageStatisticsTableDetails 日志会分别存储在名为 SucceededIngestionFailedIngestionADXIngestionBatchingADXCommandADXQueryADXTableUsageStatisticsADXTableDetails 的 Log Analytics 表中。

诊断日志架构

所有 Azure Monitor 诊断日志共享一个通用的顶级架构。 Azure 数据资源管理器对其自身的事件使用唯一属性。 所有日志均以 JSON 格式存储。

引入日志架构

日志 JSON 字符串包含下表中列出的元素:

名称 说明
time 报告时间
ResourceId Azure Resource Manager 资源 ID
operationName 操作名称:'MICROSOFT.KUSTO/CLUSTERS/INGEST/ACTION'
operationVersion 架构版本:'1.0'
category 操作类别。 SucceededIngestionFailedIngestionIngestionBatching成功的操作失败的操作批处理操作的属性不同。
properties 操作的详细信息。

成功引入操作日志

示例:

{
    "time": "2019-05-27 07:55:05.3693628",
    "resourceId": "/SUBSCRIPTIONS/12534000-8109-4D84-83AD-576C0D5E1AAA/RESOURCEGROUPS/myResourceGroup/PROVIDERS/MICROSOFT.KUSTO/CLUSTERS/mycluster",
    "operationName": "MICROSOFT.KUSTO/CLUSTERS/INGEST/ACTION",
    "operationVersion": "1.0",
    "category": "SucceededIngestion",
    "properties":
    {
        "SucceededOn": "2019-05-27 07:55:05.3693628",
        "OperationId": "b446c48f-6e2f-4884-b723-92eb6dc99cc9",
        "Database": "Samples",
        "Table": "StormEvents",
        "IngestionSourceId": "66a2959e-80de-4952-975d-b65072fc571d",
        "IngestionSourcePath": "https://kustoingestionlogs.blob.core.chinacloudapi.cn/sampledata/events8347293.json",
        "RootActivityId": "d0bd5dd3-c564-4647-953e-05670e22a81d"
    }
}

成功操作诊断日志的属性

名称 说明
SucceededOn 引入完成时间
OperationId Azure 数据资源管理器引入操作 ID
数据库 目标数据库的名称
目标表的名称
IngestionSourceId 引入数据源的 ID
IngestionSourcePath 引入数据源或 Blob URI 的路径
RootActivityId 活动 ID

失败引入操作日志

示例:

{
    "time": "2019-05-27 08:57:05.4273524",
    "resourceId": "/SUBSCRIPTIONS/12534000-8109-4D84-83AD-576C0D5E1AAA/RESOURCEGROUPS/myResourceGroup/PROVIDERS/MICROSOFT.KUSTO/CLUSTERS/mycluster",
    "operationName": "MICROSOFT.KUSTO/CLUSTERS/INGEST/ACTION",
    "operationVersion": "1.0",
    "category": "FailedIngestion",
    "properties":
    {
        "failedOn": "2019-05-27 08:57:05.4273524",
        "operationId": "5956515d-9a48-4544-a514-cf4656fe7f95",
        "database": "Samples",
        "table": "StormEvents",
        "ingestionSourceId": "eee56f8c-2211-4ea4-93a6-be556e853e5f",
        "ingestionSourcePath": "https://kustoingestionlogs.blob.core.chinacloudapi.cn/sampledata/events5725592.json",
        "rootActivityId": "52134905-947a-4231-afaf-13d9b7b184d5",
        "details": "Permanent failure downloading blob. URI: ..., permanentReason: Download_SourceNotFound, DownloadFailedException: 'Could not find file ...'",
        "errorCode": "Download_SourceNotFound",
        "failureStatus": "Permanent",
        "originatesFromUpdatePolicy": false,
        "shouldRetry": false
    }
}

失败操作诊断日志的属性

名称 说明
FailedOn 引入完成时间
OperationId Azure 数据资源管理器引入操作 ID
数据库 目标数据库的名称
目标表的名称
IngestionSourceId 引入数据源的 ID
IngestionSourcePath 引入数据源或 Blob URI 的路径
RootActivityId 活动 ID
详细信息 失败和错误消息的详细说明
ErrorCode 引入错误代码
FailureStatus PermanentRetryAttemptsExceeded 指示在重复出现暂时性错误之后,操作已超过重试次数限制或时间跨度限制。
OriginatesFromUpdatePolicy 如果故障源自更新策略,则为 True
ShouldRetry 如果重试可以成功,则为 True

引入批处理操作日志

示例:

{
  "resourceId": "/SUBSCRIPTIONS/12534000-8109-4D84-83AD-576C0D5E1AAA/RESOURCEGROUPS/myResourceGroup/PROVIDERS/MICROSOFT.KUSTO/CLUSTERS/mycluster",
  "time": "2021-04-18T19:19:57.0211782Z",
  "operationVersion": "1.0",
  "operationName": "MICROSOFT.KUSTO/CLUSTERS/INGESTIONBATCHING/ACTION",
  "category": "IngestionBatching",
  "correlationId": "2bb51038-c7dc-4ebd-9d7f-b34ece4cb735",
  "properties": {
    "Timestamp": "2021-04-18T19:19:57.0211782Z",
    "Database": "Samples",
    "Table": "StormEvents",
    "BatchingType": "Time",
    "SourceCreationTime": "2021-04-18T19:14:53.9543732Z",
    "BatchTimeSeconds": 302.1449075,
    "BatchSizeBytes": 3988,
    "DataSourcesInBatch": 2,
    "RootActivityId": "2bb51038-c7dc-4ebd-9d7f-b34ece4cb735"
  }
}

引入批处理操作诊断日志的属性

名称 说明
时间戳 批处理报告时间
数据库 保存目标表的数据库的名称
数据引入到的目标表的名称
BatchingType 用于密封批的触发器。 有关批处理类型的完整列表,请参阅批处理类型
SourceCreationTime 此批中 blob 的最早创建时间 (UTC)
BatchTimeSeconds 此批的总批处理时间(秒)
BatchSizeBytes 此批中数据的未压缩大小总计(字节)
DataSourcesInBatch 此批中的数据源数
RootActivityId 操作的活动 ID

后续步骤