Integración con Herramientas de Análisis

Llevar el CSV convertido a Excel, Power BI, SQL Server, un SIEM o un cuaderno de Python — incluyendo la configuración del delimitador y la fecha que hacen que funcione a la primera.

For AI agents: a documentation index is available at /llms.txt; a markdown version of this page is available at /es/docs/05-integration/index.md.

El objetivo de convertir un registro de depuración DNS es lo que sucede después. Se eligió CSV porque todo lo lee — pero “todo lee CSV” oculta dos configuraciones que deciden si una importación es sencilla o una tarde de ajustes.

Dos configuraciones que lo deciden todo

Delimitador. El valor predeterminado es ;. Mantenlo para Excel en configuraciones regionales que usan la coma como separador decimal. Cambia a , para la mayoría de bases de datos y herramientas de ciencia de datos. Sea cual sea tu elección, informa lo mismo al lado que importa.

Formato de fecha. -OutputCulture controla cómo se escriben las marcas de tiempo. Para cualquier cosa leída por una máquina, usa sv-SE (o cultura invariable) para que DateTime salga como 2026-01-20 23:00:16:

Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -OutputCulture 'sv-SE'

Todos los consumidores a continuación entienden ese formato sin necesidad de indicaciones. La salida específica de la configuración regional como 20.01.2026 se importará como texto o, peor aún, se interpretará mal como mes/día.

Microsoft Excel

La forma más rápida de ver un registro convertido individual.

  • Con el delimitador predeterminado ; y una configuración regional que lo espera, un doble clic abre el archivo con columnas correctas.
  • Si todo cae en la columna A, el delimitador no coincide con la configuración de tu Excel. Vuelve a ejecutar con -Delimiter "," o importa vía Datos → Desde texto/CSV y elige el delimitador ahí.
  • Convierte el rango en una tabla (Ctrl+T) y crea una tabla dinámica con ClientIP, QuestionName o QuestionType. Los principales clientes y dominios se obtienen en un minuto.
  • Para cualquier cosa con más de unos cientos de miles de filas, usa Power Query o alguna de las otras opciones abajo.

Los archivos *_Statistic.csv y *_PacketStatistic.csv suelen ser mejores para Excel — están preagregados y se mantienen pequeños. Consulta Formatos de Salida.

Power BI

Importa los archivos CSV y crea paneles para actividad DNS, principales clientes, tendencias de consultas y tasas de error.

  • Apunta Power Query a la carpeta que contiene tus archivos convertidos en lugar de a un solo archivo. El formato es idéntico entre servidores y días, así que los archivos simplemente se agregan.
  • La columna ComputerName es lo que hace posible un informe multi-servidor — configura -ComputerName durante la conversión o no podrás filtrar por servidor.
  • ResponseCode y QuestionType son filtros naturales; DateTime se convierte en tu eje temporal.
  • Alimentar Power BI con *_PacketStatistic.csv en lugar del archivo completo mantiene el modelo pequeño cuando solo necesitas tendencias diarias.

Bases de datos SQL

Carga masiva del CSV en SQL Server, PostgreSQL o cualquier otro que hable SQL, para retención a largo plazo y consultas repetibles.

Un recorrido listo para ejecutar — definición de tabla, conversión, importación con SqlBulkCopy y una consulta para detectar actividad sospechosa TXT — está documentado en Flujo de Trabajo de Análisis de Seguridad con SQL Server.

Puntos a planificar antes de la primera carga:

  • Usa -OutputCulture 'sv-SE' para que las marcas de tiempo caigan en una columna datetime2 sin trucos de conversión.
  • Information y Details pueden ser largos; asígnales nvarchar(max).
  • Indexa lo que realmente consultas — típicamente DateTime, ClientIP y QuestionName.
  • Mantén -ComputerName poblado para que las filas sigan siendo atribuibles después de fusionarlas.

Sistemas SIEM

Splunk, Elastic, Sentinel y plataformas similares ingieren el CSV para correlacionar con otra telemetría de seguridad y para alertas.

  • Envía la salida comprimida (-CompressOutput) — es aproximadamente una décima parte del tamaño y la mayoría de los recolectores la descomprimen solos.
  • Define el mapeo de campos una vez; el formato de columnas nunca cambia entre ejecuciones o servidores, incluyendo la columna ComputerName siempre presente al final.
  • Haz que tu recolector deduplique o archive los archivos .log procesados. Un trabajo de conversión que reprocesa los mismos logs rotados volverá a enviar filas idénticas.
  • -ContextFilter Packet mantiene bajo el volumen de ingestión (y el costo de licencia) cuando las notas del servidor no forman parte de tus casos de uso.

Python, R y herramientas de ciencia de datos

La salida estructurada está lista para detección de anomalías, establecimiento de líneas base y análisis personalizados.

import pandas as pd

df = pd.read_csv(
    r"C:\Administration\Logs\DNSServer\dns.csv",
    sep=";",
    parse_dates=["DateTime"],
)

# top 20 nombres consultados, solo consultas
top = (
    df[df["Direction"] == "Rcv"]
    .groupby("QuestionName")
    .size()
    .sort_values(ascending=False)
    .head(20)
)
print(top)

parse_dates funciona directamente cuando exportas con -OutputCulture 'sv-SE'. Desde aquí, pandas, scikit-learn o R manejan clustering, estacionalidad y detección de valores atípicos como de costumbre.

Quedarse en PowerShell

No tienes que salir de PowerShell para una respuesta rápida:

$dns = Import-Csv "C:\Administration\Logs\DNSServer\dns.csv" -Delimiter ';'

# clientes más ruidosos
$dns | Where-Object Direction -eq 'Rcv' |
    Group-Object ClientIP |
    Sort-Object Count -Descending |
    Select-Object -First 10 Count, Name

# búsquedas fallidas
$dns | Where-Object ResponseCode -eq 'NXDOMAIN' |
    Group-Object QuestionName |
    Sort-Object Count -Descending |
    Select-Object -First 10 Count, Name

Import-Csv lee todo el archivo en memoria, así que esto está bien para un fragmento rotado y no es adecuado para una exportación de varios gigabytes — para eso están las rutas de base de datos y SIEM.