Azure Data Manager for Agriculture 로깅
Data Manager for Agriculture 리소스 인스턴스를 만든 후에는 리소스에 언제, 어떻게 액세스하고, 누가 리소스에 액세스하는지 모니터링할 수 있습니다. 데이터 평면 요청의 실패 이유를 디버그할 수도 있습니다. 이렇게 하려면 Azure Data Manager for Agriculture에 대한 로깅을 사용하도록 설정해야 합니다. 그런 다음 제공하는 스토리지 계정, 이벤트 허브 또는 로그 분석 작업 영역과 같은 대상에 로그 정보를 저장할 수 있습니다.
이 문서에서는 Azure Data Manager for Agriculture에 대한 로깅을 설정하는 단계를 제공합니다.
로그 수집 사용
Data Manager for Agriculture 서비스 리소스를 만든 후 진단 설정으로 이동한 다음 add diagnostics settings
를 선택합니다. 로그 수집 및 저장을 시작하려면 다음 단계를 따릅니다.
- 진단 설정의 이름을 제공합니다.
- 로그 수집을 시작하려는 범주를 선택합니다.
- 스토리지 계정, 이벤트 허브 또는 로그 분석 작업 영역에서 수집 대상을 선택합니다.
이제 진단 설정에서 지정한 대상으로 이동하여 로그에 액세스할 수 있습니다. Data Manager for Agriculture 작업 후 최대 10분 후에 로깅 정보에 액세스할 수 있습니다. 대부분의 경우 더 빠릅니다.
로그 해석
각 로그는 표에 나열된 스키마를 따릅니다. 테이블에는 필드 이름과 설명이 포함되어 있습니다.
필드 이름 | 설명 |
---|---|
time | UTC 형식의 날짜 및 시간입니다. |
resourceId | Azure Resource Manager 리소스 ID입니다. 이는 로그에서 Data Manager for Agriculture 리소스 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와 애플리케이션 ID 또는 둘 중 하나입니다. |
location | "East US"와 같은 이벤트를 내보내는 리소스의 지역 |
properties | 각 operationName 에 대해 다음이 포함됩니다. requestUri (API 요청의 URI), partyId (해당하는 경우 요청과 연결된 partyId),dataPlaneResourceId (요청에서 데이터 영역 리소스를 고유하게 식별하는 ID) 및 requestBody (ApplicationAuditLogs 이외의 모든 범주에 대해 operationName 과 연관된 API 호출에 대한 요청 본문 포함). 이전에 언급된 일반적인 항목 외에 jobProcessesLogs 범주에는 다음이 포함됩니다. 1. 이 목록은 다음과 같은 OperationNames의 필드로 구성됩니다. jobRunType (oneTime 또는 periodic), jobId (작업 ID), initiatedBy (작업이 사용자 또는 서비스에 의해 트리거되었는지 나타냄). 2. 이 목록은 실패한 farmOperation 관련 작업에 대한 필드입니다. farmOperationEntityId (farmOperation 작업으로 만들지 못한 엔터티의 ID), farmOperationEntityType (만들지 못한 엔터티 형식), errorCode (작업 실패 코드), errorMessage (실패에 대한 설명), internalErrorCode (공급자가 제공한 실패 코드), internalErrorMessage (공급자가 제공한 실패에 대한 설명), providerId (공급자의 ID). |
Data Manager for Agriculture의 categories
필드에는 다음 표에 나열된 값이 있을 수 있습니다.
범주 테이블
category | 설명 |
---|---|
FarmManagementLogs | 파티, 농장, 필드, 계절별 필드, 작물, 작물 품종, 계절, 부가, 시효 지도, 시효, 관리 영역, 영역, 식물 조직 분석 및 영양분 분석에 대한 CRUD 작업(operation)에 대한 로그입니다. |
FarmOperationsLogs | FarmOperations 데이터 수집 작업(job), ApplicationData, PlantingData, HarvestingData, TillageData에 대한 CRUD 작업(operation)에 대한 로그입니다. |
SatelliteLogs | Satellite 데이터 수집 작업(job)의 만들기 및 가져오기 작업(operation)에 대한 로그입니다. |
WeatherLogs | 날씨 데이터 수집 작업(job)에 대한 만들기, 삭제, 가져오기 작업(operation)에 대한 로그입니다. |
ProviderAuthLogs | Oauth 공급자에 대한 만들기, 업데이트, 삭제, 하위 삭제, 가져오기 및 모두 가져오기에 대한 로그입니다. 또한 oauth 토큰에 대한 가져오기, 모두 가져오기, 하위 삭제에 대한 로그도 있습니다. |
JobProcessedLogs | 작업의 성공 또는 실패 및 실패 이유를 나타내는 로그입니다. 리소스 하위 삭제 작업, 데이터 수집 작업에 대한 로그 외에도 농장 작업(operation) 및 이벤트 처리 작업(job)에 대한 로그도 포함됩니다. |
ModelInferenceLogs | 바이오매스 모델 작업에 대한 만들기 및 가져오기 작업에 대한 로그입니다. |
InsightLogs | 인사이트를 가져오기 위한 모든 작업 가져오기 및 가져오기에 대한 로그입니다. |
ApplicationAuditLogs | 데이터 평면 리소스 만들기, 업데이트, 삭제, 구독 관리 작업과 같은 권한 있는 작업에 대한 로그입니다. 전체 목록은 아래 작업 이름 표에 나열되어 있습니다. |
operationName
필드 값은 Microsoft.AgFoodPlatform/resource-name/read, write, delete 또는 action 형식입니다.
- 작업 이름의
/write
접미사는 리소스 이름 만들기 또는 업데이트에 해당합니다. /read
작업 이름의 접미사는 GET/ LIST /GET ALL API 호출 또는 Resource-name에 대한 하위 삭제 작업의 GET 상태에 해당합니다./delete
접미사는 리소스 이름 삭제에 해당합니다./action
접미사는 리소스 이름에 대한 POST 메서드 호출에 해당합니다./processed
접미사는 작업 완료(PUT 메서드 호출)에 해당합니다. 이는 작업 상태(성공 또는 실패)를 나타냅니다./failures
접미사는 농장 작업(operation) 작업(job) 실패(PUT 메서드 호출)에 해당하며 실패 이유에 대한 설명을 포함합니다.
Jobs의 명칭은 다음과 같습니다.
- 데이터 수집 작업의 경우: 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/prescriptionMaps/write |
Microsoft.AgFoodPlatform/prescriptionMaps/read |
Microsoft.AgFoodPlatform/prescriptionMaps/delete |
Microsoft.AgFoodPlatform/deletionJobs/prescriptionMapsCascadeDeleteJobs/write |
Microsoft.AgFoodPlatform/managementZones/write |
Microsoft.AgFoodPlatform/managementZones/read |
Microsoft.AgFoodPlatform/managementZones/delete |
Microsoft.AgFoodPlatform/deletionJobs/managementZonescascadeDeletejobs/write |
Microsoft.AgFoodPlatform/zones/write |
Microsoft.AgFoodPlatform/zones/read |
Microsoft.AgFoodPlatform/zones/delete |
Microsoft.AgFoodPlatform/deletionJobs/zonesCascadedeleteJobs/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//deletionJobs/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/deletionJobs/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/biomassModelJobs/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/zonesCascadeDeletionJobs/processed |
Microsoft.AgFoodPlatform/deletionJobs/plantTissueAnalysesCascadeDeletionJobs/processed |
Microsoft.AgFoodPlatform/deletionJobs/prescriptionsCascadeDeletionJobs/processed |
Microsoft.AgFoodPlatform/deletionJobs/prescriptionMapsCascadeDeletionJobs/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가 요청 본문을 기록하지 않는 반면 다른 범주에서는 요청 본문이 채워진다는 것입니다. 더 자세한 정보를 가져오려면 상관 ID를 사용하여 서로 다른 두 범주의 로그를 연결합니다. 나머지 범주에 속하지 않는 일부 컨트롤 플레인 작업은 아래에 나열되어 있습니다.
참고 항목
컨트롤 플레인 호출을 하려면 ADMA 리소스 범위에 대한 소유자 액세스 권한이 필요합니다.
operationName |
---|
Data Manager for Agriculture 리소스 만들기 |
Data Manager for Agriculture 리소스 업데이트 |
Data Manager for Agriculture 리소스 삭제 |
구독 만들기 |
구독 업데이트 |
데이터 평면 인증 |
로그 분석 작업 영역에서 리소스 로그 쿼리
리소스 로그의 모든 categories
는 로그 분석의 테이블로 매핑됩니다. 각 범주의 로그에 액세스하려면 로그 분석 작업 영역으로 데이터를 보내기 위한 진단 설정을 만들어야 합니다. 이 작업 영역에서는 나열된 테이블 중 하나를 쿼리하여 관련 로그를 가져올 수 있습니다.
로그 분석의 테이블 목록 및 리소스 로그의 범주에 대한 매핑
로그 분석의 테이블 이름 | 리소스 로그의 범주 | 설명 |
---|---|---|
AgriFoodFarmManagementLogs | FarmManagementLogs | 파티, 농장, 필드, 계절별 필드, 작물, 작물 품종, 계절, 부가, 시효 지도, 시효, 관리 영역, 영역, 식물 조직 분석 및 영양분 분석에 대한 CRUD 작업(operation)에 대한 로그입니다. |
AgriFoodFarmOperationsLogs | FarmOperationsLogs | FarmOperations 데이터 수집 작업, ApplicationData, PlantingData, HarvestingData, TillageData에 대한 CRUD 작업에 대한 로그입니다. |
AgriFoodSatelliteLogs | SatelliteLogs | 위성 데이터 수집 작업에 대한 만들기 및 가져오기 작업에 대한 로그입니다. |
AgriFoodWeatherLogs | WeatherLogs | 날씨 데이터 수집 작업에 대한 만들기, 삭제, 가져오기 작업에 대한 로그입니다. |
AgriFoodProviderAuthLogs | ProviderAuthLogs | Oauth 공급자에 대한 만들기, 업데이트, 삭제, 하위 삭제, 가져오기 및 모두 가져오기에 대한 로그입니다. 또한 oauth 토큰에 대한 가져오기, 모두 가져오기, 하위 삭제에 대한 로그도 있습니다. |
AgriFoodInsightLogs | InsightLogs | 인사이트를 가져오기 위한 모든 작업 가져오기 및 가져오기에 대한 로그입니다. |
AgriFoodModelInferenceLogs | ModelInferenceLogs | 바이오매스 모델 작업에 대한 만들기 및 가져오기 작업에 대한 로그입니다. |
AgriFoodJobProcessedLogs | JobProcessedLogs | 작업의 성공 또는 실패 및 실패 이유를 나타내는 로그입니다. 리소스 연속 삭제 작업, 데이터 수집 작업에 대한 로그 외에도 또한 농장 작업(operation) 및 이벤트 처리 작업(job)에 대한 로그도 포함됩니다. |
AgriFoodApplicationAuditLogs | ApplicationAuditLogs | 데이터 평면 리소스 만들기, 업데이트, 삭제, 구독 관리 작업과 같은 권한 있는 작업에 대한 로그입니다. |
로그 분석 테이블의 열 목록
필드 이름 | 설명 |
---|---|
Time | UTC 형식의 날짜 및 시간입니다. |
ResourceId | Data Manager for Agriculture 로그에 대한 Azure Resource Manager 리소스 ID입니다. |
OperationName | 이전 표에 설명된 작업의 이름입니다. |
OperationVersion | 클라이언트에서 요청한 REST API 버전입니다. |
범주 | Data Manager for Agriculture 로그의 범주 세부 정보는 범주 테이블에 나열된 값일 수 있습니다. |
ResultType | REST API 요청의 결과(성공 또는 실패)입니다. |
ResultSignature | HTTP 상태입니다. |
ResultDescription | 사용 가능한 경우 결과에 대한 더 많은 설명입니다. |
DurationMs | 밀리초 단위로 REST API 요청을 처리하는 데 걸린 시간입니다. |
CallerIpAddress | 요청한 클라이언트의 IP 주소입니다. |
수준 | 이벤트의 심각도 수준입니다(정보 제공, 경고, 오류, 위험). |
CorrelationId | 로그를 연관시키는 데 사용할 수 있는 선택적 GUID입니다. |
ApplicationId | 호출자의 ID를 나타내는 애플리케이션 ID입니다. |
ObjectId | 호출자의 ID를 나타내는 개체 ID입니다. |
클라이언트 테넌트 ID | 발신자의 테넌트 ID입니다. |
SubscriptionId | 호출자가 사용한 구독의 ID입니다. |
위치 | "East US"와 같은 이벤트를 내보내는 리소스의 지역 |
JobRunType | AgriFoodJobProcessesLogs 테이블에서만 사용할 수 있으며 작업 실행 형식을 나타냅니다. 값은 주기적이거나 일회용일 수 있습니다. |
JobId | AgriFoodJobProcessesLogs , AgriFoodSatelliteLogs , AgriFoodWeatherLogs 및 AgriFoodModelInferenceLogs 에서 사용할 수 있으며 작업 ID를 나타냅니다. |
InitiatedBy | AgriFoodJobProcessesLogs 테이블에서만 사용할 수 있습니다. 작업이 사용자에 의해 시작되었는지 아니면 서비스에 의해 시작되었는지를 나타냅니다. |
partyId | 작업과 연결된 파티의 ID입니다. |
속성 | AgriFoodJobProcessesLogs 테이블에서만 사용할 수 있으며 다음이 포함됩니다. farmOperationEntityId (farmOperation 작업으로 만들지 못한 엔터티의 ID), farmOperationEntityType (만들지 못한 엔터티 형식, ApplicationData, PeriodicJob 등), errorCode (실패 코드 Data Manager for Agriculture 측의 작업 실패 코드),errorMessage (Data Manager for Agriculture 측의 실패에 대한 설명),internalErrorCode (공급자가 제공한 작업 실패 코드),internalErrorMessage (공급자가 제공한 실패에 대한 설명),providerId (JOHN-DEERE와 같은 공급자의 ID). |
로그 분석 작업 영역을 만들어 이러한 각 테이블을 쿼리할 수 있습니다. 여기 쿼리 언어에 대한 참조가 있습니다.
로그 분석 작업 영역의 샘플 쿼리 목록
쿼리 이름 | 설명 |
---|---|
파티의 농장 관리 운영 현황 | 각 파티의 FarmManagementLogs 범주 내 작업의 성공 및 실패 횟수를 가져옵니다. |
파티에 대한 작업 실행 통계 | 각 파티의 JobProcessedLogs 범주에 있는 모든 작업의 성공 및 실패 횟수를 제공합니다. |
권한 부여 실패 | 리소스에 액세스하지 못한 사용자 목록과 실패 이유를 식별합니다. |
파티의 모든 작업 상태 | 파티의 범주 전반에 걸쳐 실패와 성공을 집계합니다. |
수행된 작업을 기준으로 상위 100개 당사자의 사용 추세 | 범주 전반에 걸쳐 수신된 조회 수를 기준으로 상위 100개 당사자 목록을 검색합니다. 이 쿼리를 편집하여 특정 파티의 사용 추세를 추적할 수 있습니다. |
위에 나열된 모든 쿼리는 로그 분석 작업 영역에서 사용자 지정 쿼리를 형성하기 위한 기본 쿼리로 사용될 수 있습니다. 이 쿼리 목록은 Azure Portal의 Azure Data Manager for Agriculture 리소스에 있는 Logs
탭에서도 액세스할 수 있습니다.
다음 단계
프라이빗 링크 설정 방법을 알아봅니다.