次の方法で共有


Azure Data Manager for Agriculture のログ記録

Data Manager for Agriculture リソース インスタンスを作成したら、そのリソースがどのように、いつ、誰からアクセスされているかを監視できます。 また、データ プレーン要求の失敗の理由をデバッグすることもできます。 これを行うには、Azure Data Manager for Agriculture のログ記録を有効にする必要があります。 その後、指定したストレージ アカウント、イベント ハブ、Log Analytics ワークスペースなどの宛先にログ情報を保存できます。

この記事では、Azure Data Manager for Agriculture のログ記録を設定する手順について説明します。

ログの収集を有効にする

Data Manager for Agriculture サービス リソースを作成したら、診断設定に移動し、add diagnostics settings を選択します。 ログの収集と格納を開始するには、次の手順に従います。

  1. 診断設定の名前を指定します。
  2. ログの収集を開始するカテゴリを選択します。
  3. ストレージ アカウント、イベント ハブ、または Log Analytics ワークスペースから収集の宛先を選択します。

Screenshot showing steps to create diagnostics setting in Azure portal.

これで、診断設定で指定した宛先に移動してログにアクセスできるようになりました。 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 か、またはその 2 つのうちのどちらかです。
location イベントを出力するリソースのリージョン ("米国東部" など)。
properties operationName ごとに、次のものが含まれています。requestUri (API 要求の URI)、partyId (要求に関連付けられた partyId、該当する場合)、dataPlaneResourceId (要求内のデータ プレーン リソースを一意に識別する ID)、requestBody (ApplicationAuditLogs 以外のすべてのカテゴリの operationName に関連付けられた API 呼び出しの要求本文を含む)。
jobProcessesLogs カテゴリの前に説明されている共通のもの以外には、次のものがあります。
1. この一覧は、operationNames 全体にわたる次のフィールドで構成されています。
jobRunType (1 回限りまたは周期的のどちらか)、jobId (ジョブの ID)、initiatedBy (ジョブがユーザーまたはサービスのどちらによってトリガーされたかを示す)。
2. この一覧は、次の失敗した farmOperation 関連ジョブのフィールドで構成されています。
farmOperationEntityId (farmOperation ジョブで作成できなかったエンティティの ID)、farmOperationEntityType (作成できなかったエンティティの種類)、errorCode (ジョブの失敗のコード)、errorMessage (失敗の説明)、internalErrorCode (プロバイダーによって提供された失敗コード)、internalErrorMessage (プロバイダーによって提供された失敗の説明)、providerId (プロバイダーの ID)。

Data Manager for Agriculture の categories フィールドには、次の表に一覧表示されている値を含めることができます。

カテゴリの表

category 説明
FarmManagementLogs パーティ、ファーム、フィールド、季節フィールド、刈り込み、作物の品種、季節、添付ファイル、処方マップ、処方、管理ゾーン、ゾーン、植物組織分析、栄養分析に対する CRUD 操作のログ。
FarmOperationsLogs FarmOperations データ インジェスト ジョブ、ApplicationData、PlantingData、HarvestingData、TillageData に対する CRUD 操作のログ。
SatelliteLogs 衛星データ インジェスト ジョブに対する作成および取得操作のログ。
WeatherLogs 気象データ インジェスト ジョブに対する作成、削除、取得操作のログ。
ProviderAuthLogs OAuth プロバイダーに対する作成、更新、削除、連鎖削除、取得、すべて取得のログ。 これには、OAuth トークンに対する取得、すべて取得、連鎖削除のログも含まれています。
JobProcessedLogs ジョブの成功または失敗と失敗の理由の表示のログ。 リソース連鎖削除ジョブ、データ インジェスト ジョブのログに加えて、ファーム操作とイベント処理ジョブのログも含まれています。
ModelInferenceLogs バイオマス モデル ジョブに対する作成および取得操作のログ。
InsightLogs 分析情報に対する取得およびすべて取得操作のログ。
ApplicationAuditLogs データ プレーン リソースの作成、更新、削除や、サブスクリプション管理操作などの特権アクションのログ。 完全な一覧は、次の操作名の表にあります。

operationName フィールドの値は、Microsoft.AgFoodPlatform/resource-name/read or write or delete or action の形式です。

  • 操作名の /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/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 を使用して 2 つの異なるカテゴリのログを関連付けます。 他のカテゴリには含まれていないコントロール プレーン操作のいくつかを次に示します。

operationName
Data Manager for Agriculture リソースの作成
Data Manager for Agriculture リソースの更新
Data Manager for Agriculture リソースの削除
サブスクリプションの作成
サブスクリプションの更新
データ プレーンの認証

Log Analytics ワークスペース内のリソース ログにクエリを実行する

リソース ログの categories はすべて Log Analytics のテーブルとしてマップされます。 各カテゴリのログにアクセスするには、Log Analytics ワークスペースにデータを送信するための診断設定を作成する必要があります。 このワークスペースでは、一覧表示されている任意のテーブルにクエリを実行して、関連するログを取得できます。

Log Analytics のテーブルの一覧と各テーブルのリソース ログのカテゴリへのマッピング

Log Analytics のテーブル名 リソース ログのカテゴリ 説明
AgriFoodFarmManagementLogs FarmManagementLogs パーティ、ファーム、フィールド、季節フィールド、刈り込み、作物の品種、季節、添付ファイル、処方マップ、処方、管理ゾーン、ゾーン、植物組織分析、栄養分析に対する 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 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 アドレスです。
Level イベントの重大度レベル (情報、警告、エラー、または、重大)。
CorrelationId ログを関連付けるために使用できる省略可能な GUID。
ApplicationId 呼び出し元の ID を示すアプリケーション ID。
ObjectId 呼び出し元の ID を示すオブジェクト ID。
ClientTenantId 呼び出し元のテナントの ID。
SubscriptionId 呼び出し元によって使用されるサブスクリプションの ID。
場所 イベントを出力するリソースのリージョン ("米国東部" など)。
JobRunType AgriFoodJobProcessesLogs テーブルでのみ使用でき、ジョブ実行の種類を示します。 値は周期的または 1 回限りのどちらでもかまいません。
JobId AgriFoodJobProcessesLogsAgriFoodSatelliteLogsAgriFoodWeatherLogsAgriFoodModelInferenceLogs で使用でき、ジョブの 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)。

Log Analytics ワークスペースを作成することによって、これらの各テーブルにクエリを実行できます。 クエリ言語のリファレンスについては、ここを参照してください。

Log Analytics ワークスペース内のサンプル クエリの一覧

クエリ名 説明
パーティのファーム管理操作の状態 パーティごとの FarmManagementLogs カテゴリ内での操作の成功と失敗の数をフェッチします。
パーティのジョブ実行の統計 パーティごとの JobProcessedLogs カテゴリ内でのすべての操作の成功と失敗の数を提供します。
失敗した認可 リソースにアクセスできなかったユーザーとこの失敗の理由の一覧を識別します。
パーティのすべての操作の状態 パーティのカテゴリにまたがる失敗と成功を集計します。
実行された操作に基づく上位 100 パーティの使用状況の傾向 カテゴリにまたがって受信されたヒット数に基づいて、上位 100 パーティの一覧を取得します。 このクエリを編集すると、特定のパーティの使用状況の傾向を追跡できます。

上に一覧表示されているすべてのクエリを基本クエリとして使用して、Log Analytics ワークスペース内のカスタム クエリを形成できます。 このクエリの一覧には、Azure portal の Azure Data Manager for Agriculture リソースの Logs タブからもアクセスできます。

次のステップ

プライベート リンクを設定する方法を学習します。