Contexto

Parte de la investigación del sistema VAP requirió analizar grandes volúmenes de logs almacenados en Dynatrace.

Los logs contenían eventos XML como:

  • MobileEvent.xsd;
  • AircraftEvent.xsd.
El objetivo fue transformar texto semiestructurado en una tabla útil para análisis.

Problema

Un log operativo puede tener información de alto valor pero estar codificada en cadenas difíciles de consultar.

Ejemplo conceptual:

text
... MobileEvent.xsd ... tailNumber="EC-XXX" zone="..." stand="..." ...

Buscar manualmente cientos o miles de eventos no escala.

Decisión: crear una capa de parsing dentro de DQL

El objetivo de las consultas DQL fue extraer campos como:

  • tipo de evento;
  • tipo de zona;
  • stand;
  • compañía;
  • matrícula;
  • timestamp;
  • origen del evento.
Esto transforma:
text
log line -> registro analítico

y permite aplicar después:

  • filtros;
  • agregaciones;
  • agrupaciones;
  • correlaciones temporales.

Decisión: conservar el origen del evento

Se añadió una columna para distinguir si un registro procedía de:

text
MobileEvent.xsd

o de:

text
AircraftEvent.xsd

Esta decisión puede parecer menor, pero es importante porque permite responder:

  • ¿qué canal generó la evidencia?
  • ¿el mismo vuelo aparece en ambos?
  • ¿existe diferencia temporal?
  • ¿se pierde información en un tipo de evento?
  • ¿qué fuente explica mejor la incidencia?
Cuando se fusionan fuentes heterogéneas, siempre es recomendable conservar provenance.

Correlación con Excel de incidencias

Existía además un Excel con vuelos concretos.

En lugar de analizar todos los registros encontrados, se necesitaba limitar la salida a vuelos relevantes.

La correlación se basó en campos como matrícula.

Conceptualmente:

mermaid
flowchart LR
    A[Dynatrace logs] --> C[Normalizacion]
    B[Excel incidencias] --> D[Lista vuelos]
    C --> E[Join por matricula]
    D --> E
    E --> F[Informe]

Este patrón es muy reutilizable:

datos operativos de alta cardinalidad + lista de casos de negocio -> dataset investigable.

Dificultad: normalización de identificadores

Una correlación puede fallar aunque el dato "esté".

Causas típicas:

  • espacios;
  • mayúsculas/minúsculas;
  • guiones;
  • valores nulos;
  • formatos distintos;
  • timestamps;
  • datos repetidos;
  • columnas Excel interpretadas como otro tipo.
Por tanto, antes de un join conviene normalizar:
text
trim
uppercase
remove invalid spacing
canonical format

Resultado conceptual

El valor no fue únicamente ejecutar una query, sino convertir telemetría operativa en una vista que permitiera investigar un subconjunto real de incidencias.

Ese flujo demuestra capacidades en:

  • observabilidad;
  • consultas;
  • data wrangling;
  • troubleshooting;
  • integración de fuentes;
  • diseño de informes técnicos.
---