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 :
- Fournissez un nom pour le paramètre de diagnostic.
- Sélectionnez les catégories pour lesquelles vous souhaitez commencer à collecter les journaux.
- Choisissez la destination de la collecte entre un compte de stockage, un Event Hub ou un espace de travail Log Analytics.
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.