Intégration avec les outils d’analyse

Importer le CSV converti dans Excel, Power BI, SQL Server, un SIEM ou un notebook Python — y compris les paramètres de délimiteur et de date qui font que ça marche du premier coup.

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

Le but de la conversion d’un journal de débogage DNS est ce qui se passe ensuite. Le CSV a été choisi parce que tout le monde le lit — mais « tout le monde lit le CSV » cache deux réglages qui décident si l’import est simple ou une après-midi de bidouillage.

Deux réglages qui décident de tout

Délimiteur. Par défaut ;. Gardez-le pour Excel dans les locales qui utilisent la virgule comme séparateur décimal. Passez à , pour la plupart des bases de données et outils de data science. Quel que soit votre choix, indiquez-le à la partie qui importe.

Format de date. -OutputCulture contrôle la façon dont les horodatages sont écrits. Pour tout ce qui est lu par une machine, utilisez sv-SE (ou culture invariante) pour que DateTime sorte sous la forme 2026-01-20 23:00:16 :

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

Tous les consommateurs ci-dessous comprennent ce format sans indice. Une sortie spécifique à une locale comme 20.01.2026 sera importée en texte ou, pire, mal interprétée comme mois/jour.

Microsoft Excel

Le moyen le plus rapide pour consulter un journal converti unique.

  • Avec le délimiteur par défaut ; et une locale qui l’attend, un double-clic ouvre le fichier avec les colonnes correctement séparées.
  • Si tout atterrit dans la colonne A, le délimiteur ne correspond pas à votre réglage Excel. Relancez avec -Delimiter "," ou importez via Données → À partir du texte/CSV et choisissez le délimiteur là.
  • Transformez la plage en tableau (Ctrl+T) et créez un tableau croisé dynamique sur ClientIP, QuestionName ou QuestionType. Les principaux clients et domaines prennent environ une minute.
  • Pour plus de quelques centaines de milliers de lignes, utilisez plutôt Power Query ou une des autres options ci-dessous.

Les fichiers *_Statistic.csv et *_PacketStatistic.csv sont généralement de meilleures cibles pour Excel — ils sont pré-agrégés et restent petits. Voir Formats de sortie.

Power BI

Importez les fichiers CSV et créez des tableaux de bord pour l’activité DNS, les principaux clients, les tendances des requêtes et les taux d’erreur.

  • Pointez Power Query vers le dossier contenant vos fichiers convertis plutôt qu’un seul fichier. La structure est identique entre serveurs et jours, donc les fichiers s’additionnent simplement.
  • La colonne ComputerName permet de faire un rapport multi-serveurs — définissez -ComputerName lors de la conversion sinon vous ne pourrez pas filtrer par serveur.
  • ResponseCode et QuestionType sont des filtres naturels ; DateTime devient votre axe temporel.
  • Alimenter Power BI avec *_PacketStatistic.csv au lieu du fichier complet garde le modèle léger quand vous avez seulement besoin des tendances journalières.

Bases de données SQL

Chargez en masse le CSV dans SQL Server, PostgreSQL ou tout autre système SQL, pour une conservation à long terme et des requêtes répétables.

Un tutoriel prêt à l’emploi — définition de table, conversion, import SqlBulkCopy et requête de détection d’activité TXT suspecte — est documenté dans Workflow d’analyse de sécurité avec SQL Server.

Points à planifier avant la première charge :

  • Utilisez -OutputCulture 'sv-SE' pour que les horodatages arrivent dans une colonne datetime2 sans astuces de conversion.
  • Information et Details peuvent être longs ; donnez-leur nvarchar(max).
  • Indexez ce que vous interrogez réellement — typiquement DateTime, ClientIP et QuestionName.
  • Gardez -ComputerName renseigné pour que les lignes restent attribuables après fusion.

Systèmes SIEM

Splunk, Elastic, Sentinel et plateformes similaires ingèrent le CSV pour corrélation avec d’autres télémétries de sécurité et pour les alertes.

  • Envoyez la sortie compressée (-CompressOutput) — elle fait environ un dixième de la taille et la plupart des collecteurs la décompressent eux-mêmes.
  • Définissez le mapping des champs une fois ; la disposition des colonnes ne change jamais entre les exécutions ou serveurs, y compris la colonne ComputerName toujours présente à la fin.
  • Faites dédupliquer votre collecteur, ou archivez les fichiers .log traités. Un job de conversion qui retraiterait les mêmes logs tournés renverrait sinon des lignes identiques.
  • -ContextFilter Packet limite le volume d’ingestion (et le coût de licence) quand les notes serveur ne font pas partie de vos cas d’usage.

Python, R et outils de data science

La sortie structurée est prête pour la détection d’anomalies, la mise en référence et les analyses personnalisées.

import pandas as pd

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

# top 20 des noms interrogés, uniquement les requêtes
top = (
    df[df["Direction"] == "Rcv"]
    .groupby("QuestionName")
    .size()
    .sort_values(ascending=False)
    .head(20)
)
print(top)

parse_dates fonctionne directement quand vous avez exporté avec -OutputCulture 'sv-SE'. À partir de là, pandas, scikit-learn ou R gèrent le clustering, la saisonnalité et la détection d’anomalies comme d’habitude.

Rester dans PowerShell

Pas besoin de quitter PowerShell pour une réponse rapide :

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

# clients les plus bruyants
$dns | Where-Object Direction -eq 'Rcv' |
    Group-Object ClientIP |
    Sort-Object Count -Descending |
    Select-Object -First 10 Count, Name

# recherches échouées
$dns | Where-Object ResponseCode -eq 'NXDOMAIN' |
    Group-Object QuestionName |
    Sort-Object Count -Descending |
    Select-Object -First 10 Count, Name

Import-Csv lit tout le fichier en mémoire, donc c’est bien pour un fichier tourné mais pas adapté à un export de plusieurs gigaoctets — c’est là que les bases de données et SIEM entrent en jeu.