Integration mit Analysetools

Die konvertierte CSV in Excel, Power BI, SQL Server, ein SIEM oder ein Python-Notebook bekommen – inklusive der Trennzeichen- und Datumsformateinstellungen, die es beim ersten Versuch funktionieren lassen.

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

Der Sinn der Konvertierung eines DNS-Debug-Logs liegt im, was danach passiert. CSV wurde gewählt, weil es von allem gelesen wird – aber „alles liest CSV“ verbirgt zwei Einstellungen, die entscheiden, ob der Import schmerzfrei oder ein Nachmittag voller Fummelei wird.

Zwei Einstellungen, die alles entscheiden

Trennzeichen. Standard ist ;. Behalte es für Excel in Regionen, die das Komma als Dezimaltrennzeichen verwenden. Wechsle zu , für die meisten Datenbanken und Data-Science-Tools. Was auch immer du wählst, sag der importierenden Seite dasselbe.

Datumsformat. -OutputCulture steuert, wie Zeitstempel geschrieben werden. Für alles, was von einer Maschine gelesen wird, nutze sv-SE (oder die Invariant Culture), damit DateTime als 2026-01-20 23:00:16 ausgegeben wird:

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

Jeder unten genannte Verbraucher versteht dieses Format ohne Hinweis. Länderspezifische Ausgaben wie 20.01.2026 werden als Text importiert oder – noch schlimmer – als Monat/Tag falsch interpretiert.

Microsoft Excel

Der schnellste Weg, sich eine einzelne konvertierte Logdatei anzusehen.

  • Mit dem Standard-Trennzeichen ; und einer passenden Regionseinstellung öffnet ein Doppelklick die Datei mit korrekten Spalten.
  • Wenn alles in Spalte A landet, passt das Trennzeichen nicht zu deiner Excel-Einstellung. Entweder erneut mit -Delimiter "," ausführen oder über Daten → Aus Text/CSV importieren und dort das Trennzeichen auswählen.
  • Mach aus dem Bereich eine Tabelle (Strg+T) und erstelle eine Pivot-Tabelle mit ClientIP, QuestionName oder QuestionType. Top-Talker und Top-Domains sind in etwa einer Minute fertig.
  • Bei mehr als ein paar hunderttausend Zeilen nutze stattdessen Power Query oder eine der anderen unten genannten Optionen.

Die Dateien *_Statistic.csv und *_PacketStatistic.csv sind meist die besseren Excel-Ziele – sie sind voraggregiert und bleiben klein. Siehe Ausgabeformate.

Power BI

Importiere die CSV-Dateien und erstelle Dashboards für DNS-Aktivität, Top-Clients, Abfrage-Trends und Fehlerraten.

  • Richte Power Query auf den Ordner mit deinen konvertierten Dateien ein, nicht auf eine einzelne Datei. Das Layout ist über Server und Tage hinweg identisch, Dateien werden einfach angehängt.
  • Die Spalte ComputerName ermöglicht Multi-Server-Berichte – setze -ComputerName während der Konvertierung, sonst kannst du nicht nach Server filtern.
  • ResponseCode und QuestionType sind natürliche Filter; DateTime wird zur Zeitachse.
  • Wenn du nur tägliche Trends brauchst, füttere Power BI mit *_PacketStatistic.csv statt der kompletten Datei, um das Modell klein zu halten.

SQL-Datenbanken

Lade die CSV per Bulk-Load in SQL Server, PostgreSQL oder andere SQL-Datenbanken für langfristige Speicherung und wiederholbare Abfragen.

Eine einsatzbereite Schritt-für-Schritt-Anleitung – Tabellen-Definition, Konvertierung, SqlBulkCopy-Import und eine Erkennungsabfrage für verdächtige TXT-Aktivität – findest du unter Security Analysis Workflow with SQL Server.

Punkte, die du vor dem ersten Laden planen solltest:

  • Nutze -OutputCulture 'sv-SE', damit Zeitstempel ohne Umwandlungstricks in eine datetime2-Spalte landen.
  • Information und Details können lang sein; gib ihnen nvarchar(max).
  • Indexiere, was du tatsächlich abfragst – typischerweise DateTime, ClientIP und QuestionName.
  • Halte -ComputerName gefüllt, damit Zeilen nach dem Zusammenführen noch zugeordnet werden können.

SIEM-Systeme

Splunk, Elastic, Sentinel und ähnliche Plattformen nehmen die CSV auf, um sie mit anderer Sicherheitstelemetrie zu korrelieren und Alarme zu generieren.

  • Versende die komprimierte Ausgabe (-CompressOutput) – sie ist etwa ein Zehntel der Größe und die meisten Collector entpacken sie selbst.
  • Definiere die Feldzuordnung einmal; das Spaltenlayout ändert sich nie zwischen Läufen oder Servern, inklusive der immer vorhandenen abschließenden Spalte ComputerName.
  • Lass deinen Collector Duplikate entfernen oder archiviere verarbeitete .log-Dateien. Ein Konvertierungsjob, der dieselben rotierten Logs erneut verarbeitet, sendet sonst identische Zeilen erneut.
  • -ContextFilter Packet hält das Ingest-Volumen (und die Lizenzkosten) niedrig, wenn Server-Notizen nicht zu deinen Anwendungsfällen gehören.

Python, R und Data-Science-Tools

Die strukturierte Ausgabe ist bereit für Anomalieerkennung, Baseline-Analysen und individuelle Auswertungen.

import pandas as pd

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

# Top 20 abgefragte Namen, nur Anfragen
top = (
    df[df["Direction"] == "Rcv"]
    .groupby("QuestionName")
    .size()
    .sort_values(ascending=False)
    .head(20)
)
print(top)

parse_dates funktioniert direkt, wenn du mit -OutputCulture 'sv-SE' exportiert hast. Ab hier übernehmen pandas, scikit-learn oder R das Clustering, die Saisonalität und Ausreißererkennung wie gewohnt.

In PowerShell bleiben

Du musst PowerShell nicht verlassen, um schnell eine Antwort zu bekommen:

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

# lauteste Clients
$dns | Where-Object Direction -eq 'Rcv' |
    Group-Object ClientIP |
    Sort-Object Count -Descending |
    Select-Object -First 10 Count, Name

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

Import-Csv liest die ganze Datei in den Speicher, das ist also okay für ein rotiertes Chunk, aber ungeeignet für einen mehrgigabytegroßen Export – dafür sind die Datenbank- und SIEM-Wege gedacht.