Saltar al contenido

DataOps: Usando Logentries, Tableau, PowerShell (y más) para encontrar respuestas

Como parte del equipo de datos, puedo decir con seguridad que todos estamos constantemente buscando nuevas y más eficientes formas de hacer las cosas y descubrir las respuestas que necesitamos… como la mayoría de ustedes. Así que, cuando se trataba de averiguar de dónde venían nuestros usuarios de Tableau, teníamos que indagar en lo que realmente se necesitaba. En lo que sigue, daremos un vistazo rápido a algunas de las formas en que se practica el DataOps y por qué usamos las herramientas que hicimos para aumentar esta simple pregunta:

¿De dónde vienen los usuarios de Tableau?

Aunque es una pregunta simple, y valiosa por muchas razones obvias, se necesitará un poco de escritura y análisis de los registros. Aquí están nuestros primeros pensamientos, er, lluvia de ideas:

DataOps: Usando Logentries, Tableau, PowerShell (y más) para encontrar respuestas
DataOps: Usando Logentries, Tableau, PowerShell (y más) para encontrar respuestas
  • Los registros de Apache de Tableau contienen la dirección IP de los usuarios (entre otros bits), pero no está formateado de forma clara.
  • La ubicación del usuario requeriría una búsqueda de direcciones IP, así que encontremos una buena API pública para obtener esa información.
  • Si pudiéramos obtener latitud y longitud de la IP, entonces sería una excelente visualización en Tableau.

¡Perfecto! Tenemos tres piezas principales para adquirir y abordar. Una vez que estén hechas, tendremos una respuesta.

Parte 1: Obtención de la dirección IP de los registros del Tablero

Como refleja la imagen anterior, usamos PowerShell para bajar los logs de Apache, que hemos almacenado a través de Logentries, y su API abierta. Por así decirlo, los logs no están en el formato que facilitaría el análisis sintáctico; sin embargo, están delimitados y hemos elegido ese carácter para hacer nuestra primera tabla para la pregunta anterior.

Aunque no necesitábamos todos los campos, elegimos unos pocos que pudieran añadir algo de conocimiento a la pregunta original y dejar que PowerShell hiciera el trabajo pesado (y el análisis). El análisis, si se hace correctamente, es más un camino y no necesariamente un destino; nos movimos hacia una respuesta, pero nos mantuvimos abiertos a otros potenciales puntos de vista.

Parte 2: Obtención de la ubicación geográfica de los registros del Tablero

Ahora que hemos analizado los registros y los hemos almacenado en una base de datos, podemos obtener los datos geográficos de la dirección IP. Usamos el siguiente servicio, freegeoip.net. Es eficiente y está dentro de nuestro límite diario de solicitudes.

Una vez que todo el procesamiento esté completo, añadiremos esos datos a una base de datos a través de PowerShell. La razón por la que lo hemos puesto en una tabla aparte es porque sólo queríamos una lista distinta de IPs y no queríamos hacer llamadas duplicadas cuando ya hemos adquirido la información necesaria.

Los pasos anteriores se dan a diario y automáticamente a través de trabajos programados en PowerShell. Si necesitamos una alerta en tiempo real, usaremos la función incorporada de Logentries y algo de Regex para analizar los registros. Sin embargo, esta es una operación analítica, que no es necesariamente el mismo objetivo que averiguar lo que está sucediendo ahora mismo .

Parte 3: Visualizar estos datos en el cuadro

Al final, los datos siempre parecen encontrar su camino de vuelta a Tableau. Podemos repetir el proceso una vez más, pero esta vez con los datos de uso en el tablero.

Simple, ¿verdad? Tablero –> Logentradas –> PowerShell (csv/bases de datos) –> Tablero.

Y el círculo se cierra.

-Mike, equipo de datos