Partager via


Journalisation Azure Data Manager for Agriculture

Une fois que vous avez créé une instance de ressource Data Manager for Agriculture, vous pouvez surveiller comment et quand vos ressources sont accessibles, et par qui. Vous pouvez également déboguer des raisons de défaillance pour les demandes de plan de données. Pour ce faire, vous devez activer la journalisation pour Azure Data Manager for Agriculture. Vous pouvez ensuite enregistrer les informations de journal dans une destination telle qu’un compte de stockage, un Event Hub ou un espace de travail Log Analytics que vous fournissez.

Cet article vous fournit les étapes permettant de configurer la journalisation pour Azure Data Manager for Agriculture.

Activer la collecte de journaux

Après avoir créé une ressource de service Data Manager for Agriculture, accédez aux paramètres de diagnostic et sélectionnez add diagnostics settings. Suivez ces étapes pour commencer à collecter et stocker les journaux :

  1. Fournissez un nom pour le paramètre de diagnostic.
  2. Sélectionnez les catégories pour lesquelles vous souhaitez commencer à collecter les journaux.
  3. Choisissez la destination de la collecte entre un compte de stockage, un Event Hub ou un espace de travail Log Analytics.

Capture d’écran montrant les étapes de création d’un paramètre de diagnostic dans le portail Azure.

Vous pouvez maintenant accéder à la destination que vous avez spécifiée dans le paramètre de diagnostic pour accéder aux journaux. Vous pouvez accéder aux informations de journalisation 10 minutes (maximum) après l’opération de Data Manager for Agriculture. Dans la plupart des cas, c’est plus rapide.

Interpréter vos journaux d’activité

Chaque journal suit le schéma répertorié dans le tableau. Le tableau contient les noms de champ et leur description :

Nom du champ Description
time Date et heure en temps universel coordonné (UTC).
resourceId ID de ressource Azure Resource Manager. Pour les journaux, il s’agit de l’ID de ressource Data Manager for Agriculture.
operationName Nom de l’opération, comme indiqué.
operationVersion Version d’API REST demandée par le client.
category Type de résultat.
resultType Résultat de la requête de l’API REST (succès ou échec).
resultSignature État HTTP
resultDescription Autre description du résultat, si disponible.
durationMs Délai nécessaire pour répondre à la demande API REST, en millisecondes.
callerIpAddress Adresse IP du client qui a effectué la requête.
level niveau de gravité de l’événement (Information, Avertissement, Erreur ou Critique).
correlationId GUID facultatif pouvant être utilisé pour mettre en corrélation les journaux.
identity Identité issue du jeton qui a été présenté dans la requête d’API REST. Il s’agit généralement d’un ID d’objet et d’un ID d’application ou de l’un des deux.
location Région de la ressource émettant l’événement, par exemple « USA Est ».
properties Pour chaque operationName cela contient : requestUri (URI de la requête d’API), partyId(partyId associé à la requête, le cas échéant),dataPlaneResourceId (ID qui identifie de manière unique la ressource de plan de données dans la requête) et requestBody (contient le corps de la requête pour l’appel d’API associé au operationName pour toutes les catégories autres qu’ApplicationAuditLogs).
Autre que la propriété courante mentionnée avant que la catégorie jobProcessesLogs n’ait :
1. Cette liste est celle des champs pour les operationNames :
jobRunType (peut être oneTime ou périodique), jobId (ID du travail), initiatedBy (indique si un travail a été déclenché par un utilisateur ou par le service).
2. Cette liste est celle des champs pour les travaux liés à farmOperation ayant échoué :
farmOperationEntityId (ID de l’entité qui n’a pas pu être créée par le travail farmOperation), farmOperationEntityType (type de l’entité qui n’a pas pu être créée), errorCode (code de l’échec du travail), errorMessage (description de l’échec), internalErrorCode (code d’échec donné par le fournisseur), internalErrorMessage (description de l’échec donné par le fournisseur), providerId (ID du fournisseur).

Le champ categories pour Data Manager for Agriculture peut avoir des valeurs listées dans le tableau suivant :

Tableau de catégories

category Description
FarmManagementLogs Journaux des opérations CRUD pour party, Farm, Field, Seasonal Field, Crop, CropVariety, Season, Attachment, prescription maps, prescriptions, management zones, zones, plant tissue analysis et nutrient analyses.
FarmOperationsLogs Journaux des opérations CRUD pour le travail d’ingestion des données FarmOperations, ApplicationData, PlantingData, HarvestingData, TillageData
SatelliteLogs Journaux des opérations create et get pour le travail d’ingestion des données satellites
WeatherLogs Journaux des opérations create, delete et get pour le travail d’ingestion des données météo
ProviderAuthLogs Journaux des opérations create, update, delete, cascade delete, get et get all de tous les fournisseurs Oauth. Elle contient également les journaux pour les opérations get, get all et cascade delete pour les jetons oauth.
JobProcessedLogs Journaux pour indiquer si les travaux ont réussi ou échoué, et le motif de l’échec. En plus des journaux pour les travaux de suppression en cascade de ressources et les travaux d’ingestion de données, elle contient également les journaux pour les opérations de la ferme et les travaux de gestion des événements.
ModelInferenceLogs Journaux des opérations create et get pour le travail de modèle de biomasse.
InsightLogs Journaux pour les opérations get et get all pour obtenir des insights.
ApplicationAuditLogs Journaux pour les actions privilégiées telles que les opérations data-plane resource create, update, delete et subscription management. La liste complète se trouve dans le tableau des noms d’opération ci-dessous.

Les valeurs de champ operationName sont au format Microsoft.AgFoodPlatform/nom-ressource/read ou write ou delete ou action.

  • Le suffixe /write dans le nom de l’opération correspond à une création ou à une mise à jour du nom de ressource
  • Le suffixe /read dans le nom de l’opération correspond à un appel d’API GET/ LIST /GET ALL ou à l’état GET pour un travail de suppression en cascade du nom de ressource
  • Le suffixe /delete correspond à la suppression du nom de ressource
  • Le suffixe /action correspond aux appels de méthode POST pour un nom de ressource
  • Le suffixe /processed correspond à l’achèvement d’un travail (appel de méthode PUT). Cela indique l’état du travail (réussite ou échec).
  • Le suffixe /failures correspond à l’échec du travail d’une opération de ferme (appel de méthode PUT) et contient une description du motif de l’échec.

La nomenclature pour les travaux est la suivante :

  • Pour les travaux d’ingestion de données : Microsoft.AgFoodPlatform/ingestionJobs/<'nom-ressource'>DataingestionJobs/write
  • Pour les travaux de suppression : Microsoft.AgFoodPlatform/deletionJobs/<'nom-ressource'>cascadeDeleteJobs/write

Le tableau suivant liste les valeurs operationName et les commandes API REST correspondantes pour une catégorie :

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

Les journaux d’écriture et de suppression présents dans d’autres catégories sont également présents dans cette catégorie. La différence entre les journaux de cette catégorie et d’autres catégories pour le même appel d’API est qu’ApplicationAuditLogs ne journalise pas le corps de la requête, tandis que dans d’autres catégories, le corps de la requête est renseigné. Utilisez l’ID de corrélation pour relier les journaux de deux catégories différentes afin d’obtenir plus de détails. Certaines opérations de plan de contrôle qui ne font pas partie du reste des catégories sont listées ci-dessous.

Remarque

Pour effectuer des appels de plan de contrôle, vous avez besoin d’un accès propriétaire sur l’étendue des ressources ADMA.

operationName
Create Data Manager for Agriculture Resource
Update Data Manager for Agriculture Resource
Delete Data Manager for Agriculture Resource
Créer un abonnement
Mettre à jour un abonnement
Data Plane Authentication

Interroger les journaux de ressource dans un espace de travail Log Analytics

Toutes les categories des journaux de ressource sont mappées en tant que table dans Log Analytics. Pour accéder aux journaux de chaque catégorie, vous devez créer un paramètre de diagnostic pour envoyer les données à un espace de travail Log Analytics. Dans cet espace de travail, vous pouvez interroger l’une des tables listées pour obtenir les journaux appropriés.

Liste des tables dans Log Analytics et de leur mappage aux catégories dans les journaux de ressource

Nom de la table dans Log Analytics Catégories dans les journaux de ressource Description
AgriFoodFarmManagementLogs FarmManagementLogs Journaux des opérations CRUD pour party, Farm, Field, Seasonal Field, Crop, CropVariety, Season, Attachment, prescription maps, prescriptions, management zones, zones, plant tissue analysis et nutrient analyses.
AgriFoodFarmOperationsLogs FarmOperationsLogs Journaux des opérations CRUD pour le travail d’ingestion des données FarmOperations, ApplicationData, PlantingData, HarvestingData, TillageData.
AgriFoodSatelliteLogs SatelliteLogs Journaux des opérations create et get pour le travail d’ingestion des données satellites.
AgriFoodWeatherLogs WeatherLogs Journaux des opérations create, delete et get pour le travail d’ingestion des données météo.
AgriFoodProviderAuthLogs ProviderAuthLogs Journaux des opérations create, update, delete, cascade delete, get et get all de tous les fournisseurs oauth. Elle contient également les journaux pour les opérations get, get all et cascade delete pour les jetons oauth.
AgriFoodInsightLogs InsightLogs Journaux pour les opérations get et get all pour obtenir des insights.
AgriFoodModelInferenceLogs ModelInferenceLogs Journaux des opérations create et get pour le travail de modèle de biomasse.
AgriFoodJobProcessedLogs JobProcessedLogs Journaux pour indiquer si les travaux ont réussi ou échoué, et le motif de l’échec. En plus des journaux pour les travaux de suppression en cascade de ressources et les travaux d’ingestion de données. Elle contient également les journaux pour les opérations de ferme et les travaux de gestion des événements.
AgriFoodApplicationAuditLogs ApplicationAuditLogs Journaux pour les actions privilégiées telles que les opérations data-plane resource create, update, delete et subscription management.

Liste des colonnes dans les tables Log Analytics

Nom du champ Description
Heure Date et heure en temps universel coordonné (UTC).
ResourceId ID de ressource Azure Resource Manager pour les journaux Data Manager for Agriculture.
OperationName Nom de l’opération, comme indiqué dans le tableau précédent.
OperationVersion Version d’API REST demandée par le client.
Catégorie Les détails de catégorie dans les journaux Data Manager for Agriculture peuvent être n’importe quelle valeur listée dans le tableau des catégories.
ResultType Résultat de la requête de l’API REST (succès ou échec).
ResultSignature État HTTP
ResultDescription Description supplémentaire du résultat, si disponible.
DurationMs Délai nécessaire pour répondre à la demande API REST, en millisecondes.
CallerIPAddress Adresse IP du client qui a effectué la requête.
Niveau Niveau de gravité de l’événement (information, avertissement, erreur ou critique).
CorrelationId GUID facultatif pouvant être utilisé pour mettre en corrélation les journaux.
ApplicationId ID d’application indiquant l’identité de l’appelant.
ObjectId ID d’objet indiquant l’identité de l’appelant.
ClientTenantId ID du locataire de l’appelant.
SubscriptionId ID de l’abonnement utilisé par l’appelant.
Lieu Région de la ressource émettant l’événement, par exemple « USA Est ».
JobRunType Disponible uniquement dans la table AgriFoodJobProcessesLogs, indique le type de l’exécution du travail. La valeur peut être périodique ou ponctuelle.
JobId Disponible dans AgriFoodJobProcessesLogs, AgriFoodSatelliteLogs, AgriFoodWeatherLogs et AgriFoodModelInferenceLogs, indique l’ID du travail.
InitiatedBy Disponible uniquement dans la table AgriFoodJobProcessesLogs. Indique si un travail a été initié par un utilisateur ou par le service.
partyId ID de la partie associée à l’opération.
Propriétés Disponible uniquement dans la table AgriFoodJobProcessesLogs, elle contient : farmOperationEntityId (ID de l’entité qui n’a pas pu être créée par le travail farmOperation), farmOperationEntityType (type de l’entité qui n’a pas pu être créée, peut être ApplicationData, PeriodicJob, etc.), errorCode (code d’échec à la fin du travail Data Manager for Agriculture), errorMessage (description de l’échec à la fin du travail Data Manager for Agriculture), internalErrorCode (code d’échec du travail fourni par le fournisseur), internalErrorMessage (description de l’échec fourni par le fournisseur), providerId (ID du fournisseur tel que JOHN-DEERE).

Chacune de ces tables peut être interrogée en créant un espace de travail Log Analytics. La référence pour le langage de requête est ici.

Liste d’exemples de requêtes dans l’espace de travail Log Analytics

Nom de la requête Description
État des opérations de gestion de ferme pour une partie Récupère un nombre de réussites et d’échecs d’opérations dans la catégorie FarmManagementLogs pour chaque partie.
Statistiques d’exécution du travail d’une partie Fournit le nombre de réussites et d’échecs de toutes les opérations de la catégorie JobProcessedLogs pour chaque partie.
Échec d’autorisation Identifie une liste d’utilisateurs qui n’ont pas pu accéder à votre ressource et le motif de cet échec.
État de toutes les opérations d’une partie Regroupe les échecs et les réussites des catégories d’une partie.
Tendances d’utilisation des 100 premières parties en fonction des opérations effectuées Récupère la liste des 100 premières parties en fonction du nombre de correspondances reçues parmi les catégories. Cette requête peut être modifiée pour suivre la tendance d’utilisation d’une partie donnée.

Toutes les requêtes listées ci-dessus peuvent être utilisées comme requêtes de base pour former des requêtes personnalisées dans un espace de travail Log Analytics. Cette liste de requêtes est également accessible sous l’onglet Logs de votre ressource Azure Data Manager for Agriculture dans le portail Azure.

Étapes suivantes

Découvrez comment configurer des liaisons privées.