Suivez votre progression
Accueil Trailhead
Accueil Trailhead

Requête de fichiers journaux d'événements

Objectifs de formation

Une fois cette unité terminée, vous pourrez :
  • Vérifier que vous disposez des autorisations nécessaires pour utiliser la surveillance des événements
  • Vous connecter et accéder à plusieurs outils dans Workbench
  • Interroger un objet EventLogFile à l'aide d'un éditeur de requête SOQL et de l'explorateur REST
  • Comparer et distinguer les API SOAP et REST pour interroger des fichiers journaux d'événements
  • Décrire le type de données utilisé pour stocker les données du journal sous-jacentes

Requête de fichiers journaux d'événements dans Workbench

Examinons l'un des cas précédents. Un représentant commercial nommé Rob Burgle a quitté votre société il y a quelques semaines et a rejoint un grand concurrent. Vous commencez à perdre des affaires au profit de cette autre société. Vous pensez que M. Burgle a téléchargé un rapport contenant des informations capitales confidentielles et l'a partagé avec son nouvel employeur. Vous ne seriez normalement pas en mesure de confirmer vos soupçons. Mais, avec la surveillance des événements, vous pouvez rassembler toutes les preuves nécessaires pour rétablir les faits. Intéressons-nous donc à la façon dont fonctionne ce processus.

Avant de commencer, assurez-vous d'avoir les autorisations nécessaires pour interroger les fichiers journaux d'événements. La surveillance des événements exige d'avoir les autorisations « API activée » et « Afficher le fichier journal d'événements ».
Remarque

Remarque

Shield Event Monitoring est disponible gratuitement dans les organisations Developer Edition. Toutes les autres éditions nécessitent l’achat d’une licence.

Nous sommes prêts. La première étape de notre enquête consiste à se connecter à Workbench.
  1. Connectez-vous à votre organisation Trailhead DE et accédez à Workbench.
  2. Pour Environnement, sélectionnez Production. Pour la version d'API, sélectionnez le nombre le plus élevé. Assurez-vous d'avoir coché J'accepte les conditions d'utilisation.
  3. Cliquez sur Se connecter avec Salesforce.
Vous êtes sur la page d'accueil de Workbench. Nous n'aborderons pas toutes les fonctionnalités de l'outil dans ce module, mais vous utiliserez les parties qui seront utiles à la surveillance des événements. Commençons par utiliser l'éditeur de requête SOQL pour vérifier que vous disposez de quelques données.
  1. Dans le menu supérieur, sélectionnez Requêtes | Requête SOQL.
  2. Sous Objet, choisissez EventLogFile. Sous Champs, sélectionnez count(). Notez que l'éditeur renseigne certains textes de la requête.
  3. Cliquez sur Requête.

Une page semblable à la suivante s'affiche :

Fonction count() dans l'éditeur de requête SOQL.

La fonction count() vous renvoie le nombre d'enregistrements EventLogFile qui existent dans votre organisation. Si la réponse vous indique que « La requête renverra 0 enregistrement », cela signifie que vous n'avez aucun événement en mémoire. Rappelez-vous qu'il faut 24 heures pour que les événements s'affichent et que les fichiers journaux ne sont stockés que pendant 24 heures dans les organisations DE. Si vous ne recevez aucun résultat, vous pouvez réessayer demain.

Alors, que stocke exactement l'objet EventLogFile ? Pour le savoir, nous pouvons faire ce qu'on appelle un objet décrire :
  1. Dans le menu supérieur, sélectionnez Informations | Objets standards et personnalisés.
  2. Sélectionnez EventLogFile dans le menu déroulant.
  3. Développez le menu Attributs pour afficher les propriétés de l'objet. EventLogFile peut être interrogé, ce qui signifie que vous pouvez demander des informations sur l'objet à partir de la base de données. Il peut également être récupéré, vous pouvez donc retrouver un enregistrement EventLogFile grâce à son ID.
  4. Développez le menu Champs. Il y a 17 champs, mais accordons une attention particulière à deux d'entre eux : EventType et LogFile.
    • EventType : Ce champ indique quels types d'événements sont représentés par un enregistrement. Si vous développez EventType | Valeurs de liste de sélection, les différents types d’événements s’affichent. Dans notre cas, ce sont les enregistrements ayant un EventType d'exportation de rapport qui nous intéressent.
    • LogFile : Ce champ correspond à l'endroit où est stockée l'information réelle que vous cherchez. Le contenu d'un fichier journal dépend de l'EventType. Concernant l'exportation de rapport, ce champ stocke tout, qu'il s'agisse de l'ID de l'utilisateur qui a exporté le rapport ou du navigateur et du système d'exploitation utilisés pour le faire.

Nous sommes à deux doigts de trouver notre coupable ! Continuons à recueillir des preuves grâce à un autre outil dans Workbench : l'explorateur REST.

Affichage des événements dans l'explorateur REST

L'explorateur REST accorde l'accès à l'Salesforce, un service Web qui permet de récupérer les données de votre organisation.

Pour obtenir plus d'informations sur les événements d'exportation de rapport de votre organisation dans Workbench :
  1. Dans le menu supérieur, sélectionnez utilitaires | Explorateur REST.
  2. Remplacez le texte existant par /services/data/v<APIversion>.0/query?q=SELECT+Id+,+EventType+,+LogDate+,+LogFileLength+,+LogFile+FROM+EventLogFile+ WHERE+EventType+=+’ReportExport’, où <APIversion> est la version de l’API que vous utilisez, par exemple 46.
  3. Cliquez sur Exécuter.

Si aucun rapport n'a été exporté depuis votre organisation au cours des dernières 24 heures, la valeur du champ totalSize sera de zéro. Rappelez-vous qu'il faut 24 heures pour que les événements soient disponibles. Vous pouvez exporter un rapport depuis votre organisation et réessayer demain. Vous pouvez également remplacer ReportExport par un type d'événement différent dans votre requête REST (par exemple, Login).

Si vous avez des événements d'exportation de rapport, votre exécution ressemblera à cela :

Enregistrements que la requête REST a renvoyés.

Développez l'un des enregistrements et cliquez sur le lien LogFile. Le contenu du journal ressemble à ce qui suit :

Fichier journal d'événements de l'un des enregistrements renvoyés.

Pas facile ! Comment sommes-nous censés en tirer un enseignement ? Ne vous inquiétez pas, nous n'avons pas encore terminé.

Comparaison des méthodes de requête en matière de surveillance des événements

Vous avez utilisé plusieurs outils dans Workbench. Vous avez d'abord utilisé l'éditeur de requête SOQL pour déterminer si des événements étaient stockés dans votre organisation. Vous avez également exécuté l'objet décrire pour en savoir davantage sur l'objet EventLogFile. Puis, vous avez eu recours à l'explorateur REST pour afficher vos enregistrements EventLogFile. Tous ces outils récupèrent des informations à partir de votre organisation, alors quelle différence y a-t-il entre eux ?

La réponse n'est pas très surprenante : la différence réside dans l'API sous-jacente.

L’éditeur de requête SOQL et l’objet décrire utilisent l’API SOAP. Elle est légèrement différente de l’API REST que vous utilisez dans l’explorateur REST. L'une des différences est qu'il est plus simple d'écrire une requête dans l'éditeur de requête SOQL que dans l'explorateur REST. Supposons que nous voulons récupérer l'un de nos fichiers journaux.

Dans SOAP, la requête ressemble à ce qui suit :

Simple requête dans l'éditeur de requête SOQL qui utilise l'API SOAP.

Dans REST, nous utilisons :

Requête plus complexe dans l'explorateur REST qui utilise l'API REST.

La requête SOQL est plus facile à comprendre et à retenir. Alors, pourquoi avons-nous décidé d'utiliser REST ? Intéressons-nous à ce qui se passe lorsque nous exécutons ces requêtes et affichons l'un de nos fichiers journaux.

Dans SOAP, la requête renvoie à ce qui suit :

Fichier journal inintelligible de la requête SOQL.

La requête REST renvoie ceci :

Fichier journal légèrement moins inintelligible de la requête REST.

Nous voyons ici l'autre différence majeure entre SOAP et REST quand il s'agit d'interroger les fichiers journaux d'événements. Les fichiers journaux renvoyés sont identiques, mais ils sont présentés sous différents formats. Lorsque vous récupérez vos fichiers journaux d'événements à l'aide de SOAP, le résultat est une chaîne sérialisée codée en base64. Si votre organisation prévoit d’utiliser des outils tels que MuleSoft ou Informatica pour exploiter les fichiers journaux d’événements, nous vous conseillons d’utiliser SOAP pour récupérer vos données. REST, d'autre part, désérialise le fichier journal. La présentation doit encore être améliorée, mais comme vous le verrez dans la prochaine section, d'autres outils peuvent transformer les résultats REST en un format plus lisible.