Integracja z narzędziami analitycznymi
For AI agents: a documentation index is available at /llms.txt; a markdown version of this page is available at /pl/docs/05-integration/index.md.
Chodzi o to, co się dzieje po konwersji dziennika debugowania DNS. CSV wybrano, bo wszystko go odczytuje — ale „wszystko odczytuje CSV” ukrywa dwa ustawienia, które decydują, czy import będzie bezproblemowy, czy popołudniem spędzonym na poprawkach.
Dwa ustawienia, które decydują o wszystkim
Separator. Domyślnie ;. Zachowaj go dla Excela w lokalizacjach, które używają przecinka jako separatora dziesiętnego. Przełącz na , dla większości baz danych i narzędzi do analizy danych. Cokolwiek wybierzesz, poinformuj o tym stronę importującą.
Format daty. -OutputCulture kontroluje sposób zapisu znaczników czasu. Dla wszystkiego czytanego przez maszynę użyj sv-SE (lub kultury inwariantnej), aby DateTime miał postać 2026-01-20 23:00:16:
Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -OutputCulture 'sv-SE'
Każdy z poniższych odbiorców rozumie ten format bez podpowiedzi. Format specyficzny dla lokalizacji, np. 20.01.2026, zostanie zaimportowany jako tekst lub, co gorsza, błędnie odczytany jako miesiąc/dzień.
Microsoft Excel
Najszybszy sposób, by spojrzeć na pojedynczy przekonwertowany dziennik.
- Przy domyślnym separatorze
;i lokalizacji, która go oczekuje, podwójne kliknięcie otwiera plik z poprawnymi kolumnami. - Jeśli wszystko trafia do kolumny A, separator nie pasuje do ustawienia Excela. Uruchom ponownie z
-Delimiter ","lub zaimportuj przez Dane → Z tekstu/CSV i wybierz tam separator. - Zamień zakres na tabelę (
Ctrl+T) i zbuduj tabelę przestawną naClientIP,QuestionNamelubQuestionType. Najaktywniejsi klienci i najczęściej zapytywane domeny zajmą około minuty. - Dla danych powyżej kilkuset tysięcy wierszy użyj Power Query lub jednej z innych poniższych opcji.
Pliki *_Statistic.csv i *_PacketStatistic.csv to zwykle lepsze cele dla Excela — są wstępnie zagregowane i pozostają małe. Zobacz Formaty wyjściowe.
Power BI
Importuj pliki CSV i twórz pulpity do analizy aktywności DNS, top klientów, trendów zapytań i wskaźników błędów.
- Wskaż Power Query na folder z przekonwertowanymi plikami, a nie na pojedynczy plik. Układ jest identyczny między serwerami i dniami, więc pliki są po prostu dopisywane.
- Kolumna
ComputerNameumożliwia raport wieloserwerowy — ustaw-ComputerNamepodczas konwersji, inaczej nie będziesz mógł filtrować po serwerze. ResponseCodeiQuestionTypeto naturalne filtry;DateTimestaje się osią czasu.- Zasilanie Power BI plikami
*_PacketStatistic.csvzamiast pełnych danych utrzymuje model małym, gdy potrzebujesz tylko dziennych trendów.
Bazy danych SQL
Masowo załaduj CSV do SQL Server, PostgreSQL lub innej bazy SQL, by przechowywać dane długoterminowo i wykonywać powtarzalne zapytania.
Gotowy przewodnik — definicja tabeli, konwersja, import SqlBulkCopy i zapytanie wykrywające podejrzaną aktywność TXT — jest opisany w Security Analysis Workflow with SQL Server.
Warto zaplanować przed pierwszym załadowaniem:
- Użyj
-OutputCulture 'sv-SE', aby znaczniki czasu trafiły do kolumnydatetime2bez sztuczek konwersji. InformationiDetailsmogą być długie; nadaj im typnvarchar(max).- Indeksuj to, czego faktycznie używasz w zapytaniach — zwykle
DateTime,ClientIPiQuestionName. - Utrzymuj wypełnione
-ComputerName, aby po scaleniu wiersze były przypisywalne.
Systemy SIEM
Splunk, Elastic, Sentinel i podobne platformy pobierają CSV do korelacji z inną telemetrią bezpieczeństwa i do alertów.
- Wysyłaj skompresowany wynik (
-CompressOutput) — jest około dziesięć razy mniejszy, a większość kolektorów sama go rozpakowuje. - Zdefiniuj mapowanie pól raz; układ kolumn nigdy się nie zmienia między uruchomieniami czy serwerami, w tym zawsze obecna kolumna
ComputerNamena końcu. - Niech kolektor usuwa duplikaty lub archiwizuje przetworzone pliki
.log. Job konwersji, który przetwarza te same rotowane logi, inaczej wyśle identyczne wiersze ponownie. -ContextFilter Packetogranicza wolumen danych (i koszty licencji), gdy notatki serwera nie są potrzebne.
Python, R i narzędzia do analizy danych
Strukturalne wyjście jest gotowe do wykrywania anomalii, tworzenia bazowych wzorców i niestandardowej analityki.
import pandas as pd
df = pd.read_csv(
r"C:\Administration\Logs\DNSServer\dns.csv",
sep=";",
parse_dates=["DateTime"],
)
# top 20 najczęściej zapytywanych nazw, tylko zapytania
top = (
df[df["Direction"] == "Rcv"]
.groupby("QuestionName")
.size()
.sort_values(ascending=False)
.head(20)
)
print(top)
parse_dates działa od razu, gdy wyeksportujesz z -OutputCulture 'sv-SE'. Dalej pandas, scikit-learn czy R radzą sobie z klasteryzacją, sezonowością i wykrywaniem odchyleń jak zwykle.
Pozostając w PowerShell
Nie musisz wychodzić z PowerShell, by szybko uzyskać odpowiedź:
$dns = Import-Csv "C:\Administration\Logs\DNSServer\dns.csv" -Delimiter ';'
# najbardziej hałaśliwi klienci
$dns | Where-Object Direction -eq 'Rcv' |
Group-Object ClientIP |
Sort-Object Count -Descending |
Select-Object -First 10 Count, Name
# nieudane zapytania
$dns | Where-Object ResponseCode -eq 'NXDOMAIN' |
Group-Object QuestionName |
Sort-Object Count -Descending |
Select-Object -First 10 Count, Name
Import-Csv wczytuje cały plik do pamięci, więc nadaje się na rotowany fragment, ale nie na wielogigabajtowy eksport — do tego są bazy danych i SIEM.