<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>O dokumentacji on Moduł PowerShell DNSServer.DebugLogParser</title><link>https://DNSServerDebugLogParser.andibellstedt.com/pl/docs/</link><description>Recent content in O dokumentacji on Moduł PowerShell DNSServer.DebugLogParser</description><generator>Hugo</generator><language>pl</language><lastBuildDate>Mon, 01 Jan 0001 00:00:00 +0000</lastBuildDate><atom:link href="https://DNSServerDebugLogParser.andibellstedt.com/pl/docs/index.xml" rel="self" type="application/rss+xml"/><item><title>Przegląd</title><link>https://DNSServerDebugLogParser.andibellstedt.com/pl/docs/01-overview/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/pl/docs/01-overview/</guid><description>&lt;p&gt;Windows DNS Server może zapisywać debug log. To plik tekstowy, przeznaczony do czytania przez człowieka, który na ruchliwym kontrolerze domeny rośnie o setki megabajtów dziennie. To sprawia, że staje się prawie bezużyteczny, gdy chcesz odpowiedzieć na pytanie typu &lt;em&gt;„który klient pytał o tę domenę 40 000 razy zeszłej nocy?”&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;DNSServer.DebugLogParser&lt;/strong&gt; zamienia ten plik tekstowy w tabelę CSV. Jeden wiersz logu staje się jednym wierszem z nazwanymi kolumnami, dzięki czemu możesz otworzyć go w Excelu, załadować do Power BI, masowo wstawić do SQL Server lub wysłać do swojego SIEM.&lt;/p&gt;</description></item><item><title>Formaty wyjściowe</title><link>https://DNSServerDebugLogParser.andibellstedt.com/pl/docs/02-output-formats/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/pl/docs/02-output-formats/</guid><description>&lt;p&gt;&lt;code&gt;Convert-DNSDebugLogFile&lt;/code&gt; generuje do trzech plików na każdy plik dziennika wejściowego:&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Plik&lt;/th&gt;
					&lt;th&gt;Zawiera&lt;/th&gt;
					&lt;th&gt;Tworzony gdy&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;&amp;lt;name&amp;gt;.csv&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Jeden wiersz na wpis w dzienniku&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;-OutputType CSV&lt;/code&gt; lub &lt;code&gt;Both&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;&amp;lt;name&amp;gt;_Statistic.csv&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Dzienne zliczenie rekordów według kontekstu&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;-OutputType Statistic&lt;/code&gt; lub &lt;code&gt;Both&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;&amp;lt;name&amp;gt;_PacketStatistic.csv&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Dzienne zliczenie zapytań według klienta, protokołu, kierunku i typu rekordu&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;-OutputType Statistic&lt;/code&gt; lub &lt;code&gt;Both&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;code&gt;Both&lt;/code&gt; jest ustawieniem domyślnym. Wyniki trafiają obok pliku wejściowego, chyba że ustawisz &lt;code&gt;-OutputFile&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Przykładowe pliki podlinkowane na tej stronie to rzeczywiste wyniki konwersji, a nie makiety. Pobierz jeden i otwórz go w Excelu, zanim zdecydujesz się na projekt potoku.&lt;/p&gt;</description></item><item><title>Parametry i opcje</title><link>https://DNSServerDebugLogParser.andibellstedt.com/pl/docs/03-parameters-and-options/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/pl/docs/03-parameters-and-options/</guid><description>&lt;p&gt;Ta strona wyjaśnia opcje prostym językiem i w kolejności, w jakiej zazwyczaj ich potrzebujesz. To przewodnik, a nie specyfikacja — autorytatywna, zawsze aktualna lista parametrów znajduje się w &lt;a href="../commands/convert-dnsdebuglogfile/"&gt;referencji poleceń&lt;/a&gt; oraz w:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-powershell"&gt;Get-Help Convert-DNSDebugLogFile -Full
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id="krótkie-podsumowanie"&gt;Krótkie podsumowanie&lt;/h2&gt;
&lt;pre&gt;&lt;code class="language-powershell"&gt;Convert-DNSDebugLogFile -InputFile &amp;quot;C:\Logs\dns.log&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ta jedna linia już daje rozsądne zachowanie: pliki danych i statystyk, średnik jako separator, format daty twojej maszyny, włączona walidacja nagłówka, oryginalny plik dziennika nietknięty. Wszystko poniżej to dopracowywanie.&lt;/p&gt;</description></item><item><title>Wydajność</title><link>https://DNSServerDebugLogParser.andibellstedt.com/pl/docs/04-performance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/pl/docs/04-performance/</guid><description>&lt;p&gt;Logi debugowania DNS na ruchliwym kontrolerze domeny są duże. &lt;code&gt;Convert-DNSDebugLogFile&lt;/code&gt; został stworzony właśnie na takie przypadki: był testowany na logach o rozmiarze 100 MB i większych, i przetwarza je w ciągu kilku minut na zwykłym sprzęcie serwerowym.&lt;/p&gt;
&lt;h2 id="dlaczego-jest-szybki"&gt;Dlaczego jest szybki&lt;/h2&gt;
&lt;p&gt;Nie musisz tego wiedzieć, aby korzystać z modułu, ale wyjaśnia to zachowanie, które zaobserwujesz.&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Technika&lt;/th&gt;
					&lt;th&gt;Efekt, który zauważysz&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;StreamReader&lt;/code&gt; / &lt;code&gt;StreamWriter&lt;/code&gt; z buforami 64 KB&lt;/td&gt;
					&lt;td&gt;Plik jest czytany i zapisywany w kawałkach, zamiast jednym dużym &lt;code&gt;Get-Content&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Strumieniowe przetwarzanie, pojedynczy przebieg&lt;/td&gt;
					&lt;td&gt;Zużycie pamięci pozostaje mniej więcej stałe, niezależnie od rozmiaru logu&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Operacje na stringach (&lt;code&gt;.Substring()&lt;/code&gt;, &lt;code&gt;.IndexOf()&lt;/code&gt;) zamiast wyrażeń regularnych&lt;/td&gt;
					&lt;td&gt;Znacznie mniej obciążenia CPU na linię, a linii jest miliony&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Ręczne zapisywanie CSV zamiast &lt;code&gt;Export-Csv&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Brak narzutu obiektowego potoku na rekord&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Agregacja statystyk oparta na hashtable&lt;/td&gt;
					&lt;td&gt;Podsumowania kosztują prawie nic dodatkowo podczas tego samego przebiegu&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Ważna konsekwencja: &lt;strong&gt;cały log nigdy nie jest trzymany w pamięci.&lt;/strong&gt; Log o rozmiarze 500 MB nie wymaga 500 MB RAM. To różnica między modułem a podejściem „wczytaj plik, podziel, zbuduj obiekty”, które stosuje większość domowych skryptów — to podejście działa dobrze na próbce 5 MB, ale zawodzi na prawdziwym DC.&lt;/p&gt;</description></item><item><title>Integracja z narzędziami analitycznymi</title><link>https://DNSServerDebugLogParser.andibellstedt.com/pl/docs/05-integration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/pl/docs/05-integration/</guid><description>&lt;p&gt;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.&lt;/p&gt;
&lt;h2 id="dwa-ustawienia-które-decydują-o-wszystkim"&gt;Dwa ustawienia, które decydują o wszystkim&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Separator.&lt;/strong&gt; Domyślnie &lt;code&gt;;&lt;/code&gt;. Zachowaj go dla Excela w lokalizacjach, które używają przecinka jako separatora dziesiętnego. Przełącz na &lt;code&gt;,&lt;/code&gt; dla większości baz danych i narzędzi do analizy danych. Cokolwiek wybierzesz, poinformuj o tym stronę importującą.&lt;/p&gt;</description></item><item><title>Najlepsze praktyki operacyjne</title><link>https://DNSServerDebugLogParser.andibellstedt.com/pl/docs/06-operational-best-practices/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/pl/docs/06-operational-best-practices/</guid><description>&lt;p&gt;Konwersja dziennika ręcznie jest prosta. Uruchamianie jej co noc na każdym kontrolerze domeny, przez lata, bez nadzoru, to już wymaga pewnego zaprojektowania. Oto punkty, które mają znaczenie w praktyce.&lt;/p&gt;
&lt;h2 id="1-konwertuj-dzienniki-obrócone-nie-aktywne"&gt;1. Konwertuj dzienniki obrócone, nie aktywne&lt;/h2&gt;
&lt;p&gt;Włącz obracanie dzienników na serwerze DNS i konwertuj tylko zamknięte pliki. Moduł &lt;em&gt;może&lt;/em&gt; czytać dziennik, do którego serwer DNS aktualnie zapisuje, ale ten plik zmienia się w trakcie konwersji: najnowsze wpisy mogą być nieobecne, a ostatni rekord może być obcięty. Dwa uruchomienia dają dwa różne wyniki.&lt;/p&gt;</description></item><item><title>Rozwiązywanie problemów</title><link>https://DNSServerDebugLogParser.andibellstedt.com/pl/docs/08-troubleshooting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/pl/docs/08-troubleshooting/</guid><description>&lt;h2 id="plik-nie-jest-prawidłowym-plikiem-dziennika-debugowania-dns"&gt;„Plik nie jest prawidłowym plikiem dziennika debugowania DNS”&lt;/h2&gt;
&lt;p&gt;Sprawdzenie nagłówka odrzuciło dane wejściowe. Zwykle ścieżka jest po prostu błędna — plik &lt;code&gt;.log&lt;/code&gt; w tym samym folderze, który nie jest dziennikiem debugowania DNS, lub plik zawierający tylko obrócony nagłówek.&lt;/p&gt;
&lt;p&gt;Przejdź przez to krok po kroku:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Otwórz plik. Dziennik debugowania DNS zaczyna się od linii nagłówka takiej jak &lt;code&gt;Message logging started at …&lt;/code&gt; i zawiera wpisy zapytań z oznaczeniem czasu.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Potwierdź, że debugowanie DNS jest faktycznie włączone i zapisuje do oczekiwanej ścieżki:&lt;/p&gt;</description></item></channel></rss>