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
を選択します。 ログの収集と格納を開始するには、次の手順に従います。
- 診断設定の名前を指定します。
- ログの収集を開始するカテゴリを選択します。
- ストレージ アカウント、イベント ハブ、または Log Analytics ワークスペースから収集の宛先を選択します。
これで、診断設定で指定した宛先に移動してログにアクセスできるようになりました。 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 (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 操作のログ。 |
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 つの異なるカテゴリのログを関連付けます。 他のカテゴリには含まれていないコントロール プレーン操作のいくつかを次に示します。
Note
コントロール プレーン呼び出しを行うには、ADMA リソース スコープに対する所有者アクセス権が必要です。
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 | 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)。 |
Log Analytics ワークスペースを作成することによって、これらの各テーブルにクエリを実行できます。 クエリ言語のリファレンスについては、ここを参照してください。
Log Analytics ワークスペース内のサンプル クエリの一覧
クエリ名 | 説明 |
---|---|
パーティのファーム管理操作の状態 | パーティごとの FarmManagementLogs カテゴリ内での操作の成功と失敗の数をフェッチします。 |
パーティのジョブ実行の統計 | パーティごとの JobProcessedLogs カテゴリ内でのすべての操作の成功と失敗の数を提供します。 |
失敗した認可 | リソースにアクセスできなかったユーザーとこの失敗の理由の一覧を識別します。 |
パーティのすべての操作の状態 | パーティのカテゴリにまたがる失敗と成功を集計します。 |
実行された操作に基づく上位 100 パーティの使用状況の傾向 | カテゴリにまたがって受信されたヒット数に基づいて、上位 100 パーティの一覧を取得します。 このクエリを編集すると、特定のパーティの使用状況の傾向を追跡できます。 |
上に一覧表示されているすべてのクエリを基本クエリとして使用して、Log Analytics ワークスペース内のカスタム クエリを形成できます。 このクエリの一覧には、Azure portal の Azure Data Manager for Agriculture リソースの Logs
タブからもアクセスできます。
次のステップ
プライベート リンクを設定する方法を学習します。