你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
用于农业的 Azure 数据管理器日志记录
创建农业数据管理器资源实例后,可以监视资源的访问方式和时间以及访问者。 还可以调试数据平面请求失败的原因。 为此,需要为用于农业的 Azure 数据管理器启用日志记录。 然后,可以在提供的目标(例如存储帐户、事件中心或 Log Analytics 工作区)保存日志信息。
本文介绍了为 Azure Data Manager for Agriculture 设置日志记录的步骤。
启用日志收集
创建农业服务资源数据管理器后,导航到诊断设置,然后选择add diagnostics settings
。 按照以下步骤开始收集和存储日志:
- 为该诊断设置提供一个名称。
- 选择要开始收集日志的类别。
- 从存储帐户、事件中心或 Log Analytics 工作区中选择收集目标。
现在,可以导航到诊断设置中指定的目标以访问日志。 可以在农业数据管理器操作后 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 (失败说明)、internalErrorCode errorMessage (提供程序提供的失败代码)、(提供程序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 | 可用、AgriFoodJobProcessesLogs AgriFoodSatelliteLogs 、AgriFoodWeatherLogs 和AgriFoodModelInferenceLogs ,指示作业的 ID。 |
InitiatedBy | 仅在 AgriFoodJobProcessesLogs 表中可用。 指示作业是由用户还是服务启动。 |
partyId | 与操作关联的参与方的 ID。 |
属性 | 仅在AgriFoodJobProcessesLogs 表中可用,它包含: farmOperationEntityId (服务器场操作作业无法创建的实体的 ID),farmOperationEntityType (未能创建的实体的类型,可以是 ApplicationData、PeriodicJob 等),(农业数据管理器端作业失败的代码),(农业数据管理器端errorMessage 故障说明),errorCode internalErrorCode (提供程序提供的作业失败代码),internalErrorMessage (提供程序提供的失败说明),providerId (提供程序的 ID,如 JOHN-D企业版RE)。 |
可以通过创建 Log Analytics 工作区来查询其中每个表。 此处提供了查询语言参考。
Log Analytics 工作区中的示例查询列表
查询名称 | 说明 |
---|---|
群的服务器场管理操作的状态 | 获取每个参与方的类别中 FarmManagementLogs 操作的成功和失败计数。 |
参与方的作业执行统计信息 | 为每个参与方提供类别中 JobProcessedLogs 所有操作的成功和失败计数。 |
授权失败 | 标识未能访问资源的用户列表以及此失败的原因。 |
参与方的所有操作的状态 | 聚合各类别的失败和成功。 |
根据所执行的操作,前 100 个参与方的使用趋势 | 根据跨类别收到的命中数检索前 100 个参与方的列表。 可以编辑此查询,以跟踪特定参与方的使用情况趋势。 |
上面列出的所有查询都可以用作基本查询,以在 Log Analytics 工作区中形成自定义查询。 还可以在 Logs
Azure Data Manager for Agriculture 资源的选项卡中访问Azure 门户的此查询列表。
后续步骤
了解如何 设置专用链接。