Consultar archivos de registro de eventos


Link de trailhead

Objetivos de aprendizaje

Después de completar esta unidad, podrá:
  • Confirmar que tiene los permisos correctos para el uso del monitoreo de eventos.
  • Iniciar sesión y navegar hasta varias herramientas de Workbench.
  • Consultar un objeto EventLogFile mediante el editor de consultas SOQL y REST Explorer.
  • Comparar y contrastar las API de SOAP y REST para la consulta de archivos de registro de eventos.
  • Describir el tipo de datos usado para almacenar los datos de registro subyacentes.

Consultar archivos de registro de eventos en Workbench

Veamos uno de los casos de ejemplo anteriores. Un representante de ventas llamado Rob Burgle ha abandonado la compañía hace unas semanas y se ha unido a un importante competidor. De repente, empieza a perder negociaciones con esta otra compañía. Sospecha que el señor Burgle ha descargado un reporte con información confidencial sobre prospectos y lo ha compartido con su nuevo empleador. Normalmente, sería imposible confirmar sus sospechas. Sin embargo, el monitoreo de eventos le permite recopilar todas las pruebas necesarias para conocer los hechos. Veamos cómo funciona este proceso.

Antes de empezar, vamos a volver a comprobar si tiene los permisos correctos para consultar los archivos de registro de eventos. El monitoreo de eventos requiere los permisos “API activada” y “Ver archivos de registro de eventos”.

Nota

El monitoreo de eventos de Shield está disponible de forma gratuita en organizaciones de Developer. Todas las demás ediciones le requieren adquirir una licencia.

Ahora ya estamos preparados para empezar. El primer paso de nuestra investigación consiste en iniciar sesión en Workbench.
  1. Inicie sesión en su organización de DE de Trailhead y navegue hasta Workbench.
  2. En el caso del entorno, seleccione Production (Producción). En el caso de la API, seleccione la última versión. Asegúrese de seleccionar I agree to the terms of service (Acepto las condiciones del servicio).
  3. Haga clic en Login with Salesforce (Iniciar sesión con Salesforce).
Ya está en la página de inicio de Workbench. No vamos a describir todas las funciones de la herramienta en este módulo, pero revisaremos algunos aspectos útiles para el monitoreo de eventos. Empecemos por el uso del editor de consultas SOQL para asegurarnos de que tiene algunos datos con los que trabajar.
  1. En el menú de la parte superior, seleccione queries | SOQL Query (Consultas | Consulta SOQL).
  2. Debajo de Object (Objeto), seleccione EventLogFile. Debajo de Fields (Campos), seleccione count(). Observe que el editor se completa con parte del texto de la consulta.
  3. Haga clic en Query (Consulta).

Debe ver algo parecido a esto:


Función () del editor de consultas SOQL.

La función count() devuelve el número de registros EventLogFile que existen en la organización. En la respuesta se indica que la consulta ha devuelto 0 registros, lo que significa que no tiene ningún evento almacenado. Recuerde que los eventos tardan 24 horas en aparecer y que los archivos de registro solo se almacenan durante 24 horas en las organizaciones de DE. Si no obtiene ningún resultado, puede volver a intentarlo al día siguiente.

Por lo tanto, ¿qué almacena exactamente el objeto EventLogFile? Para averiguarlo, podemos usar el objeto describe:
  1. En el menú de la parte superior, seleccione info | Standard & Custom Objects (Información | Objetos estándar y personalizados).
  2. Seleccione EventLogFile en el menú desplegable.
  3. Expanda el menú Attributes (Atributos) para ver las propiedades del objeto. EventLogFile se puede consultar, lo que significa que puede solicitar información sobre el objeto en la base de datos. Además, dado que también se puede recuperar, puede buscar un registro EventLogFile por su Id.
  4. Expanda el menú Fields (Campos). En este caso hay 17 campos, pero vamos a prestar especial atención a dos de ellos: EventType y LogFile.
    • EventType: Este campo muestra los tipos de eventos que representa un registro. Si expande EventType | Picklist Values (EventType | Valores de lista de selección), puede ver los distintos tipos de eventos. En nuestro caso, nos interesan los registros con un EventType de exportación de reportes.
    • LogFile: Este es el campo en el que se almacena la información real que está buscando. El contenido de un archivo de registro depende de EventType. En el caso de la exportación de reportes, este campo almacena todo desde el Id. del usuario que ha exportado el reporte hasta el navegador y el sistema operativo usados para la operación.

¡Estamos a punto de encontrar al culpable! Vamos a seguir recopilando pruebas con otra herramienta de Workbench, que en este caso es REST Explorer.

Ver eventos en REST Explorer

REST Explorer permite el acceso a la Salesforce, que es un servicio web para recuperar datos de la organización.

Para obtener más información sobre los eventos de exportación de reportes de la organización en Workbench:
  1. En el menú superior, seleccione utilities (utilidades) | REST Explorer.
  2. Sustituya el texto existente por /services/data/v<APIversion>.0/query?q=SELECT+Id+,+EventType+,+LogDate+,+LogFileLength+,+LogFile+FROM+EventLogFile+ WHERE+EventType+=+'ReportExport', donde <APIversion> es la versión de API que está utilizando, como 46.
  3. Haga clic en Execute (Ejecutar).

Si no se ha exportado ningún reporte de la organización en las últimas 24 horas, el campo totalSize incluye un valor de cero. Recuerde que los eventos tardan 24 horas en estar disponibles. Puede exportar un reporte de su organización e intentarlo al día siguiente. Otra posibilidad es sustituir ReportExport por otro tipo de evento en la consulta REST (por ejemplo, Login).

Si tiene algunos eventos de exportación de reportes, la ejecución devuelve algo parecido a esto:


Registros devueltos por la consulta REST.

Expanda uno de los registros y haga clic en el vínculo LogFile. El contenido del registro es similar a lo siguiente:


Archivo de registro de eventos de uno de los registros devueltos.

¡Vaya! ¿Cómo se supone que podemos aprender algo de esto? No se preocupe, aún no hemos terminado.

Comparar métodos de consulta para el monitoreo de eventos

Ha usado un par de herramientas en Workbench. Primero, ha usado el editor de consultas SOQL para determinar si tiene algún evento almacenado en la organización. Además ha descrito un objeto para obtener información sobre el objeto EventLogFile. Por último, ha usado REST Explorer para ver los registros EventLogFile. Dado que todas estas herramientas recuperan información de la organización, ¿cuál es la diferencia entre ellas?

La respuesta no nos sorprende. La diferencia es la API subyacente.

El editor de consultas SOQL y la descripción del objeto usan lo que se llama API de SOAP. Varía ligeramente por lo que respecta a la API de REST que ha usado en REST Explorer. Una diferencia es que escribir una consulta en el editor de consultas SOQL es más sencillo que escribir una consulta en REST Explorer. Supongamos que queremos recuperar uno de nuestros archivos de registro.

En SOAP, se muestra esto:


Consulta sencilla en el editor de consultas SOQL mediante la API de SOAP.

En REST, usamos lo siguiente:


Consulta más compleja en REST Explorer mediante la API de REST.

La consulta SOQL es más fácil de entender y recordar. Por lo tanto, ¿por qué hemos decidido usar REST? Veamos qué ocurre al ejecutar estas consultas y ver uno de nuestros archivos de registro.

En SOAP, la consulte devuelve algo parecido a lo siguiente:


Archivo de registro ininteligible de la consulta SOQL.

La consulta REST devuelve lo siguiente:


Archivo de registro algo menos ininteligible de la consulta REST.

Aquí podemos ver la diferencia principal entre SOAP y REST por lo que respecta a la consulta de archivos de registro de eventos. Los archivos de registro devueltos son los mismos, pero se presentan en distintos formatos. Al recuperar los archivos de registro de eventos mediante SOAP, el resultado se serializa (cadena Base64). Si el plan de la organización es usar herramientas como MuleSoft o Informatica para trabajar con archivos de registro de eventos, es posible que desee usar SOAP para recuperar los datos. Por otra parte, REST deserializa el archivo de registro.


¿Le ha resultado útil este artículo?