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

用于农业的 Azure 数据管理器日志记录

创建农业数据管理器资源实例后,可以监视资源的访问方式和时间以及访问者。 还可以调试数据平面请求失败的原因。 为此,需要为用于农业的 Azure 数据管理器启用日志记录。 然后,可以在提供的目标(例如存储帐户、事件中心或 Log Analytics 工作区)保存日志信息。

本文介绍了为 Azure Data Manager for Agriculture 设置日志记录的步骤。

启用日志收集

创建农业服务资源数据管理器后,导航到诊断设置,然后选择add diagnostics settings。 按照以下步骤开始收集和存储日志:

  1. 为该诊断设置提供一个名称。
  2. 选择要开始收集日志的类别。
  3. 从存储帐户、事件中心或 Log Analytics 工作区中选择收集目标。

Screenshot showing steps to create diagnostics setting in Azure portal.

现在,可以导航到诊断设置中指定的目标以访问日志。 可以在农业数据管理器操作后 10 分钟(最多)访问日志记录信息。 在大多数情况下,速度会更快。

解释日志

每个日志都遵循表中列出的架构。 该表包含字段名称和说明:

字段名称 说明
time 日期和时间 (UTC)。
resourceId Azure 资源管理器资源 ID。 对于日志,这是农业数据管理器资源 ID。
operationName 操作的名称,如前所述。
operationVersion 客户端请求的 REST API 版本。
category 结果的类型。
resultType REST API 请求的结果(成功或失败)。
resultSignature HTTP 状态。
resultDescription 有关结果的额外说明(如果可用)。
durationMs 为 REST API 请求提供服务所花费的时间,以毫秒为单位。
callerIpAddress 发出请求的客户端的 IP 地址。
level 事件的严重性级别(信息性、警告、错误或严重性)。
correlationId 可用于关联日志的可选 GUID。
identity 在 REST API 请求中提供的令牌中的标识。 这通常是对象 ID 和应用程序 ID 或两者之一。
location 发出事件的资源区域,例如“美国东部”
properties 对于每个 operationName 请求,都包含: requestUri (API 请求的 URI)、 partyId(与请求关联的 partyId(无论适用dataPlaneResourceId )(唯一标识请求中的数据平面资源的 ID)和 requestBody (包含与 ApplicationAuditLogs 以外的所有类别关联的 operationName API 调用的请求正文)。
除了在类别之前jobProcessesLogs提及的常见类别有:
1。 此列表是 operationNames 中的字段:
jobRunType (可以是 oneTime 或定期 jobId )、(作业的 ID), initiatedBy (指示作业是由用户还是服务触发)。
2. 此列表包含失败的 farmOperation 相关作业的字段:
farmOperationEntityId (无法由 farmOperation 作业创建的实体的 ID)、(未能创建的实体的类型)、farmOperationEntityType(作业失败的代码)、errorCode(失败说明)、internalErrorCodeerrorMessage(提供程序提供的失败代码)、(提供程序internalErrorMessage提供的失败说明)、providerId(提供程序 ID)。

用于 categories 农业的数据管理器的字段可以具有下表中列出的值:

类别表

category 说明
FarmManagementLogs 用于 party、Farm、Field、Seasonal Field、Crop、CropVariety、Season、Attachment、处方图、处方、管理区域、区域、植物组织分析和营养分析的 CRUD 操作日志。
FarmOperationsLogs FarmOperations 数据引入作业的 CRUD 操作日志、ApplicationData、PlantingData、HarvestingData、TillageData
SatelliteLogs 用于创建和获取卫星数据引入作业的操作的日志
WeatherLogs 用于创建、删除和获取天气数据引入作业的操作的日志
ProviderAuthLogs 用于创建、更新、删除、级联删除、获取和获取 Oauth 提供程序的所有日志。 它还包含用于获取、获取所有级联删除的 oauth 令牌的日志。
JobProcessedLogs 用于指示成功或失败以及作业失败原因的日志。 除了资源级联删除作业、数据引入作业的日志外,它还包含服务器场操作和事件处理作业的日志。
ModelInferenceLogs 用于为个人简历掩码模型作业创建和获取操作的日志。
InsightLogs 获取和获取所有见解操作的日志。
ApplicationAuditLogs 特权操作(例如数据平面资源创建、更新、删除和订阅管理操作)的日志。 完整列表位于下面的操作名称表中。

operationName字段值采用 Microsoft.AgFoodPlatform/resource-name/read 或 write 或删除或操作格式。

  • /write 操作名称中的后缀对应于创建或更新资源名称
  • /read操作名称中的后缀对应于 GET/LIST /GET ALL API 调用或资源名称级联删除作业的 GET 状态
  • /delete 后缀对应于删除资源名称
  • /action 后缀对应于资源名称的 POST 方法调用
  • /processed 后缀对应于作业完成(PUT 方法调用)。 这表示作业的状态(成功或失败)。
  • /failures 后缀对应于服务器场操作作业(PUT 方法调用)失败,并包含有关失败原因的说明。

作业的命名如下:

  • 对于数据引入作业: Microsoft.AgFoodPlatform/ingestionJobs/<'resource-name'DataingestionJobs>/write
  • 对于删除作业: Microsoft.AgFoodPlatform/deletionJobs/<'resource-name'cascadeDeleteJobs>/write

下表列出了 类别的 operationName 值和相应的 REST API 命令作为选项卡:

FarmManagementLogs

operationName
Microsoft.AgFoodPlatform/farmers/write
Microsoft.AgFoodPlatform/farmers/read
Microsoft.AgFoodPlatform/deletionJobs/farmersCascadeDeleteJobs/write
Microsoft.AgFoodPlatform/farms/write
Microsoft.AgFoodPlatform/farms/read
Microsoft.AgFoodPlatform/farms/delete
Microsoft.AgFoodPlatform/deletionJobs/farmsCascadeDeleteJobs/write
Microsoft.AgFoodPlatform/field/write
Microsoft.AgFoodPlatform/field/read
Microsoft.AgFoodPlatform/field/delete
Microsoft.AgFoodPlatform/deletionJobs/fieldsCascadeDeleteJobs/write
Microsoft.AgFoodPlatform/seasonalField/write
Microsoft.AgFoodPlatform/seasonalField/read
Microsoft.AgFoodPlatform/seasonalField/delete
Microsoft.AgFoodPlatform/deletionJobs/seasonalFieldsCascadeDeleteJobs/write
Microsoft.AgFoodPlatform/boundaries/write
Microsoft.AgFoodPlatform/boundaries/read
Microsoft.AgFoodPlatform/boundaries/delete
Microsoft.AgFoodPlatform/boundaries/action
Microsoft.AgFoodPlatform/deletionJobs/fieldsCascadeDeleteJobs/write
Microsoft.AgFoodPlatform/crops/write
Microsoft.AgFoodPlatform/crops/read
Microsoft.AgFoodPlatform/crops/delete
Microsoft.AgFoodPlatform/cropVarieties/write
Microsoft.AgFoodPlatform/cropVarieties/read
Microsoft.AgFoodPlatform/cropVarieties/delete
Microsoft.AgFoodPlatform/seasons/write
Microsoft.AgFoodPlatform/seasons/read
Microsoft.AgFoodPlatform/seasons/delete
Microsoft.AgFoodPlatform/attachments/write
Microsoft.AgFoodPlatform/attachments/read
Microsoft.AgFoodPlatform/attachments/delete
Microsoft.AgFoodPlatform/prescriptions/write
Microsoft.AgFoodPlatform/prescriptions/read
Microsoft.AgFoodPlatform/prescriptions/delete
Microsoft.AgFoodPlatform/deletionJobs/prescriptionsCascadeDeleteJobs/write
Microsoft.AgFoodPlatform/prescription地图/write
Microsoft.AgFoodPlatform/prescription地图/read
Microsoft.AgFoodPlatform/prescription地图/delete
Microsoft.AgFoodPlatform/deletionJobs/prescription地图CascadeDeleteJobs/write
Microsoft.AgFoodPlatform/managementZones/write
Microsoft.AgFoodPlatform/managementZones/read
Microsoft.AgFoodPlatform/managementZones/delete
Microsoft.AgFoodPlatform/deletionJobs/managementZonescascadeDeletejobs/write
Microsoft.AgFoodPlatform/zone/write
Microsoft.AgFoodPlatform/zones/read
Microsoft.AgFoodPlatform/zones/delete
Microsoft.AgFoodPlatform/deletionJobs/zoneCascadedeleteJobs/write
Microsoft.AgFoodPlatform/plantTissueanalyses/write
Microsoft.AgFoodPlatform/plantTissueanalyses/read
Microsoft.AgFoodPlatform/plantTissueanalyses/delete
Microsoft.AgFoodPlatform/deletionJobs/plantTissueanalysesCascadedeleteJobs/write
Microsoft.AgFoodPlatform/nutrientAnalyses/write
Microsoft.AgFoodPlatform/nutrientAnalyses/read
Microsoft.AgFoodPlatform/nutrientAnalyses/delete
Microsoft.AgFoodPlatform//deleteJobs/nutrientAnalysescascadeDeletejobs/delete

FarmOperationLogs

operationName
Microsoft.AgFoodPlatform/ingetsionJobs/farmOperationsdataIngestionjobs/write
Microsoft.AgFoodPlatform/applicationData/read
Microsoft.AgFoodPlatform/applicationData/write
Microsoft.AgFoodPlatform/applicationData/delete
Microsoft.AgFoodPlatform/deletionJobs/applicationDatacascadeDeletejob/write
Microsoft.AgFoodPlatform/plantingData/write
Microsoft.AgFoodPlatform/plantingData/read
Microsoft.AgFoodPlatform/plantingData/delete
Microsoft.AgFoodPlatform/deletionJobs/plantingDatacascadeDeletejob/write
Microsoft.AgFoodPlatform/harvestingData/write
Microsoft.AgFoodPlatform/harvestingData/read
Microsoft.AgFoodPlatform/harvestingData/delete
Microsoft.AgFoodPlatform/deletionJobs/harvestingDatacascadeDeletejob/write
Microsoft.AgFoodPlatform/tillageData/Write
Microsoft.AgFoodPlatform/tillageData/Read
Microsoft.AgFoodPlatform/tillageData/Delete
Microsoft.AgFoodPlatform/deletionJobs/tillageDatacascadeDeletejob/write

SatelliteLogs

operationName
Microsoft.AgFoodPlatform/ingestionJobs/satelliteDataingestionJob/write
Microsoft.AgFoodPlatform/scenes/read

WeatherLogs

operationName
Microsoft.AgFoodPlatform/ingestionJobs/weatherDataingestionJob/write
Microsoft.AgFoodPlatform/weather/read
Microsoft.AgFoodPlatform/deleteJobs/weatherDeletejob/delete

ProviderAuthLogs

operationName
Microsoft.AgFoodPlatform/oauthProviders/write
Microsoft.AgFoodPlatform/oauthProviders/read
Microsoft.AgFoodPlatform/oauthProviders/delete
Microsoft.AgFoodPlatform/oauthTokens/read
Microsoft.AgFoodPlatform/oauthTokens/delete

JobProcessesLogs

operationName
Microsoft.AgFoodPlatform/ingestionJobs/satelliteDataIngestionJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/satelliteDataDeletionJobs/processed
Microsoft.AgFoodPlatform/ingestionJobs/weatherDataIngestionJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/weatherDataDeletionJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/oauthProvidersCascadeDeleteJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/oauthTokensRemoveJobs/processed
Microsoft.AgFoodPlatform/ingestionJobs/个人简历massModelJobs/processed
Microsoft.AgFoodPlatform/ingestionJobs/ImageProcessingRasterizeJobs/processed
Microsoft.AgFoodPlatform/ingestionJobs/farmOperationDataIngestionJobs/processed
Microsoft.AgFoodPlatform/ingestionJobs/farmOperationDataIngestionJobs/processed/failures
Microsoft.AgFoodPlatform/ingestionJobs/farmOperationPeriodicJobs/processed
Microsoft.AgFoodPlatform/ingestionJobs/farmOperationPeriodicJobs/processed/failures
Microsoft.AgFoodPlatform/ingestionJobs/farmOperationEventHandlingJobs/processed
Microsoft.AgFoodPlatform/ingestionJobs/farmOperationEventHandlingJobs/processed/failures
Microsoft.AgFoodPlatform/deletionJobs/applicationDataCascadeDeletionJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/tillageDataCascadeDeletionJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/plantingDataCascadeDeletionJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/harvestDataCascadeDeletionJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/managementZonesCascadeDeletionJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/zoneCascadeDeletionJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/plantTissueAnalysesCascadeDeletionJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/prescriptionsCascadeDeletionJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/prescription地图CascadeDeletionJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/insightsCascadeDeletionJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/farmersCascadeDeletionJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/farmsCascadeDeletionJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/fieldsCascadeDeletionJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/seasonalFieldsCascadeDeletionJobs/processed

ApplicationAuditLogs

其他类别中存在的写入和删除日志也存在于此类别中。 此类别中的日志与相同 API 调用的其他类别之间的差异在于,ApplicationAuditLogs 不会记录请求正文,而在其他类别中填充请求正文。 使用 correlation-id 来关联两个不同的类别的日志,以获取更多详细信息。 下面列出了不属于其余类别的一些控制平面操作。

operationName
为农业资源创建数据管理器
更新农业资源的数据管理器
删除农业资源的数据管理器
创建订阅
更新订阅
数据平面身份验证

在 Log Analytics 工作区中查询资源日志

categories所有资源日志都映射为日志分析中的表。 若要访问每个类别的日志,需要创建诊断设置以将数据发送到 Log Analytics 工作区。 在此工作区中,可以查询列出的任何表以获取相关日志。

日志分析中的表及其映射到资源日志中的类别的列表

Log Analytics 中的表名称 资源日志中的类别 说明
AgriFoodFarmManagementLogs FarmManagementLogs 用于 party、Farm、Field、Seasonal Field、Crop、CropVariety、Season、Attachment、处方图、处方、管理区域、区域、植物组织分析和营养分析的 CRUD 操作日志。
AgriFoodFarmOperationsLogs FarmOperationsLogs FarmOperations 数据引入作业、ApplicationData、PlantingData、HarvestingData、TillageData 的 CRUD 操作日志。
AgriFoodSatelliteLogs SatelliteLogs 用于创建和获取卫星数据引入作业的操作的日志。
AgriFoodWeatherLogs WeatherLogs 用于创建、删除和获取天气数据引入作业的操作的日志。
AgriFoodProviderAuthLogs ProviderAuthLogs 用于创建、更新、删除、级联删除、获取和获取所有 oauth 提供程序的日志。 它还包含用于获取、获取所有级联删除的 oauth 令牌的日志。
AgriFoodInsightLogs InsightLogs 获取和获取所有见解操作的日志。
AgriFoodModelInferenceLogs ModelInferenceLogs 用于为个人简历掩码模型作业创建和获取操作的日志。
AgriFoodJobProcessedLogs JobProcessedLogs 用于指示成功或失败以及作业失败原因的日志。 除了资源级联删除作业的日志,数据引入作业。 它还包含服务器场操作和事件处理作业的日志。
AgriFoodApplicationAuditLogs ApplicationAuditLogs 特权操作(例如数据平面资源创建、更新、删除和订阅管理操作)的日志。

Log Analytics 表中的列列表

字段名称 说明
时间 日期和时间 (UTC)。
ResourceId 用于农业的数据管理器日志的 Azure 资源管理器资源 ID。
OperationName 操作的名称,如前面的表中所述。
OperationVersion 客户端请求的 REST API 版本。
类别 农业数据管理器日志中的类别详细信息,可以是类别表中所列的任何值。
ResultType REST API 请求的结果(成功或失败)。
ResultSignature HTTP 状态。
ResultDescription 有关结果的更多描述(如果有)。
DurationMs 为 REST API 请求提供服务所花费的时间,以毫秒为单位。
CallerIpAddress 发出请求的客户端的 IP 地址。
Level 事件的严重性级别(信息性、警告、错误或严重性)。
CorrelationId 可用于关联日志的可选 GUID。
ApplicationId 指示调用方标识的应用程序 ID。
ObjectId 指示调用方标识的对象 ID。
ClientTenantId 调用方租户的 ID。
SubscriptionId 调用方使用的订阅的 ID。
位置 发出事件的资源区域,例如“美国东部”
JobRunType 仅在 AgriFoodJobProcessesLogs 表中可用,指示作业运行的类型。 值可以是定期值,也可以是一次。
JobId 可用、AgriFoodJobProcessesLogsAgriFoodSatelliteLogsAgriFoodWeatherLogsAgriFoodModelInferenceLogs,指示作业的 ID。
InitiatedBy 仅在 AgriFoodJobProcessesLogs 表中可用。 指示作业是由用户还是服务启动。
partyId 与操作关联的参与方的 ID。
属性 仅在AgriFoodJobProcessesLogs表中可用,它包含: farmOperationEntityId (服务器场操作作业无法创建的实体的 ID),farmOperationEntityType(未能创建的实体的类型,可以是 ApplicationData、PeriodicJob 等),(农业数据管理器端作业失败的代码),(农业数据管理器端errorMessage故障说明),errorCodeinternalErrorCode(提供程序提供的作业失败代码),internalErrorMessage(提供程序提供的失败说明),providerId(提供程序的 ID,如 JOHN-D企业版RE)。

可以通过创建 Log Analytics 工作区来查询其中每个表。 此处提供了查询语言参考。

Log Analytics 工作区中的示例查询列表

查询名称 说明
群的服务器场管理操作的状态 获取每个参与方的类别中 FarmManagementLogs 操作的成功和失败计数。
参与方的作业执行统计信息 为每个参与方提供类别中 JobProcessedLogs 所有操作的成功和失败计数。
授权失败 标识未能访问资源的用户列表以及此失败的原因。
参与方的所有操作的状态 聚合各类别的失败和成功。
根据所执行的操作,前 100 个参与方的使用趋势 根据跨类别收到的命中数检索前 100 个参与方的列表。 可以编辑此查询,以跟踪特定参与方的使用情况趋势。

上面列出的所有查询都可以用作基本查询,以在 Log Analytics 工作区中形成自定义查询。 还可以在 Logs Azure Data Manager for Agriculture 资源的选项卡中访问Azure 门户的此查询列表。

后续步骤

了解如何 设置专用链接