Integrazione con Strumenti di Analisi

Come importare il CSV convertito in Excel, Power BI, SQL Server, un SIEM o un notebook Python — inclusi i settaggi di delimitatore e data che fanno funzionare tutto al primo tentativo.

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

Il senso di convertire un log di debug DNS è ciò che succede dopo. CSV è stato scelto perché tutti lo leggono — ma “tutti leggono CSV” nasconde due impostazioni che decidono se l’importazione è indolore o un pomeriggio di tentativi.

Due impostazioni che decidono tutto

Delimitatore. Il valore predefinito è ;. Lascialo così per Excel nelle località che usano la virgola come separatore decimale. Passa a , per la maggior parte dei database e degli strumenti di data science. Qualunque cosa tu scelga, comunica la stessa cosa al lato importazione.

Formato data. -OutputCulture controlla come vengono scritti i timestamp. Per tutto ciò che viene letto da una macchina, usa sv-SE (o cultura invariata) così che DateTime venga scritto come 2026-01-20 23:00:16:

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

Ogni consumatore qui sotto capisce quel formato senza bisogno di indicazioni. L’output specifico della località come 20.01.2026 verrà importato come testo o, peggio, interpretato male come mese/giorno.

Microsoft Excel

Il modo più veloce per dare un’occhiata a un singolo log convertito.

  • Con il delimitatore predefinito ; e una località che lo aspetta, un doppio clic apre il file con le colonne corrette.
  • Se tutto finisce nella colonna A, il delimitatore non corrisponde all’impostazione di Excel. Rilancia con -Delimiter "," oppure importa tramite Dati → Da testo/CSV e scegli il delimitatore lì.
  • Trasforma l’intervallo in tabella (Ctrl+T) e crea una tabella pivot su ClientIP, QuestionName o QuestionType. Top client e top domini in circa un minuto.
  • Per più di qualche centinaio di migliaia di righe, usa Power Query o una delle altre opzioni sotto.

I file *_Statistic.csv e *_PacketStatistic.csv sono di solito i migliori per Excel — sono pre-aggregati e rimangono piccoli. Vedi Formati di Output.

Power BI

Importa i file CSV e costruisci dashboard per attività DNS, top client, trend delle query e tassi di errore.

  • Punta Power Query alla cartella che contiene i file convertiti invece che a un singolo file. La struttura è identica tra server e giorni, quindi i file si aggiungono semplicemente.
  • La colonna ComputerName rende possibile un report multi-server — imposta -ComputerName durante la conversione o non potrai filtrare per server.
  • ResponseCode e QuestionType sono slicer naturali; DateTime diventa l’asse temporale.
  • Alimentare Power BI con *_PacketStatistic.csv invece del file completo mantiene il modello piccolo quando ti servono solo i trend giornalieri.

Database SQL

Carica in blocco il CSV in SQL Server, PostgreSQL o qualsiasi altro database SQL, per conservazione a lungo termine e query ripetibili.

Una guida pronta all’uso — definizione tabella, conversione, import con SqlBulkCopy e una query di rilevamento per attività sospette TXT — è documentata in Security Analysis Workflow with SQL Server.

Punti da pianificare prima del primo caricamento:

  • Usa -OutputCulture 'sv-SE' così i timestamp finiscono in una colonna datetime2 senza trucchi di conversione.
  • Information e Details possono essere lunghi; assegna loro nvarchar(max).
  • Indicizza ciò che interroghi davvero — tipicamente DateTime, ClientIP e QuestionName.
  • Mantieni -ComputerName valorizzato così le righe restano attribuibili dopo la fusione.

Sistemi SIEM

Splunk, Elastic, Sentinel e piattaforme simili importano il CSV per correlare con altra telemetria di sicurezza e per gli alert.

  • Invia l’output compresso (-CompressOutput) — è circa un decimo della dimensione e la maggior parte dei collector lo decomprime da sola.
  • Definisci la mappatura dei campi una volta sola; la struttura delle colonne non cambia mai tra esecuzioni o server, inclusa la colonna ComputerName sempre presente alla fine.
  • Fai deduplicare il collector, oppure archivia i file .log processati. Un job di conversione che rielabora gli stessi log ruotati rimanderà altrimenti righe identiche.
  • -ContextFilter Packet mantiene basso il volume di ingestione (e il costo della licenza) quando le note del server non fanno parte dei tuoi casi d’uso.

Python, R e strumenti di data science

L’output strutturato è pronto per rilevamento anomalie, baseline e analisi personalizzate.

import pandas as pd

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

# top 20 nomi interrogati, solo query
top = (
    df[df["Direction"] == "Rcv"]
    .groupby("QuestionName")
    .size()
    .sort_values(ascending=False)
    .head(20)
)
print(top)

parse_dates funziona subito se hai esportato con -OutputCulture 'sv-SE'. Da qui, pandas, scikit-learn o R gestiscono clustering, stagionalità e rilevamento outlier come al solito.

Restare in PowerShell

Non devi uscire da PowerShell per una risposta veloce:

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

# client più rumorosi
$dns | Where-Object Direction -eq 'Rcv' |
    Group-Object ClientIP |
    Sort-Object Count -Descending |
    Select-Object -First 10 Count, Name

# lookup falliti
$dns | Where-Object ResponseCode -eq 'NXDOMAIN' |
    Group-Object QuestionName |
    Sort-Object Count -Descending |
    Select-Object -First 10 Count, Name

Import-Csv legge tutto il file in memoria, quindi va bene per un blocco ruotato ma non per un export di più gigabyte — per quello ci sono i database e i percorsi SIEM.