Intégration avec les outils d’analyse
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 surClientIP,QuestionNameouQuestionType. 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
ComputerNamepermet de faire un rapport multi-serveurs — définissez-ComputerNamelors de la conversion sinon vous ne pourrez pas filtrer par serveur. ResponseCodeetQuestionTypesont des filtres naturels ;DateTimedevient votre axe temporel.- Alimenter Power BI avec
*_PacketStatistic.csvau 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 colonnedatetime2sans astuces de conversion. InformationetDetailspeuvent être longs ; donnez-leurnvarchar(max).- Indexez ce que vous interrogez réellement — typiquement
DateTime,ClientIPetQuestionName. - Gardez
-ComputerNamerenseigné 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
ComputerNametoujours présente à la fin. - Faites dédupliquer votre collecteur, ou archivez les fichiers
.logtraités. Un job de conversion qui retraiterait les mêmes logs tournés renverrait sinon des lignes identiques. -ContextFilter Packetlimite 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.