<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Informazioni su questa documentazione on Modulo PowerShell DNSServer.DebugLogParser</title><link>https://DNSServerDebugLogParser.andibellstedt.com/it/docs/</link><description>Recent content in Informazioni su questa documentazione on Modulo PowerShell DNSServer.DebugLogParser</description><generator>Hugo</generator><language>it</language><lastBuildDate>Mon, 01 Jan 0001 00:00:00 +0000</lastBuildDate><atom:link href="https://DNSServerDebugLogParser.andibellstedt.com/it/docs/index.xml" rel="self" type="application/rss+xml"/><item><title>Panoramica</title><link>https://DNSServerDebugLogParser.andibellstedt.com/it/docs/01-overview/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/it/docs/01-overview/</guid><description>&lt;p&gt;Windows DNS Server può scrivere un log di debug. È un file di testo semplice, pensato per essere letto da un umano, e cresce di centinaia di megabyte al giorno su un controller di dominio molto attivo. Questa combinazione lo rende quasi inutile nel momento in cui vuoi rispondere a una domanda come &lt;em&gt;&amp;ldquo;quale client ha richiesto questo dominio 40.000 volte la scorsa notte?&amp;rdquo;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;DNSServer.DebugLogParser&lt;/strong&gt; trasforma quel file di testo in una tabella CSV. Una riga di log diventa una riga con colonne nominate, così puoi aprirla in Excel, caricarla in Power BI, inserirla in blocco in SQL Server o inviarla al tuo SIEM.&lt;/p&gt;</description></item><item><title>Formati di Output</title><link>https://DNSServerDebugLogParser.andibellstedt.com/it/docs/02-output-formats/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/it/docs/02-output-formats/</guid><description>&lt;p&gt;&lt;code&gt;Convert-DNSDebugLogFile&lt;/code&gt; produce fino a tre file per ogni log di input:&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;File&lt;/th&gt;
					&lt;th&gt;Contenuto&lt;/th&gt;
					&lt;th&gt;Creato quando&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;Una riga per ogni voce di log analizzata&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;-OutputType CSV&lt;/code&gt; o &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;Conteggio giornaliero dei record per contesto&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;-OutputType Statistic&lt;/code&gt; o &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;Conteggio giornaliero delle query per client, protocollo, direzione e tipo di record&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;-OutputType Statistic&lt;/code&gt; o &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; è il valore predefinito. L&amp;rsquo;output viene salvato accanto al file di input a meno che non imposti &lt;code&gt;-OutputFile&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Parametri e Opzioni</title><link>https://DNSServerDebugLogParser.andibellstedt.com/it/docs/03-parameters-and-options/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/it/docs/03-parameters-and-options/</guid><description>&lt;p&gt;Questa pagina spiega le opzioni in modo semplice e nell&amp;rsquo;ordine in cui tipicamente ti serviranno. È una guida, non una specifica — la lista autorevole e sempre aggiornata dei parametri si trova nel &lt;a href="../commands/convert-dnsdebuglogfile/"&gt;riferimento comandi&lt;/a&gt; e in:&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="la-versione-breve"&gt;La versione breve&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;Questa singola riga ti dà già un comportamento sensato: sia i file dati che quelli statistici, delimitatore punto e virgola, formato data della tua macchina, validazione dell&amp;rsquo;intestazione attiva, log sorgente intatto. Tutto il resto è fine-tuning.&lt;/p&gt;</description></item><item><title>Prestazioni</title><link>https://DNSServerDebugLogParser.andibellstedt.com/it/docs/04-performance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/it/docs/04-performance/</guid><description>&lt;p&gt;I log di debug DNS su un controller di dominio molto trafficato sono grandi. &lt;code&gt;Convert-DNSDebugLogFile&lt;/code&gt; è stato progettato proprio per questo caso: è stato testato con log da 100 MB e oltre, e li elabora in pochi minuti su hardware server ordinario.&lt;/p&gt;
&lt;h2 id="perché-è-veloce"&gt;Perché è veloce&lt;/h2&gt;
&lt;p&gt;Non devi sapere nulla di tutto questo per usare il modulo, ma spiega il comportamento che osserverai.&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Tecnica&lt;/th&gt;
					&lt;th&gt;Effetto che noterai&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; con buffer da 64 KB&lt;/td&gt;
					&lt;td&gt;Il file viene letto e scritto a blocchi invece che con un unico grande &lt;code&gt;Get-Content&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Streaming, singolo passaggio&lt;/td&gt;
					&lt;td&gt;L’uso di memoria resta più o meno costante indipendentemente dalla dimensione del log&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Operazioni su stringhe (&lt;code&gt;.Substring()&lt;/code&gt;, &lt;code&gt;.IndexOf()&lt;/code&gt;) invece di espressioni regolari&lt;/td&gt;
					&lt;td&gt;Molto meno CPU per riga, e ci sono milioni di righe&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;CSV scritto a mano invece di &lt;code&gt;Export-Csv&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Nessun overhead di pipeline oggetti per ogni record&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Aggregazione basata su Hashtable per le statistiche&lt;/td&gt;
					&lt;td&gt;I riepiloghi costano quasi nulla durante lo stesso passaggio&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;La conseguenza importante: &lt;strong&gt;l’intero log non viene mai caricato in memoria.&lt;/strong&gt; Un log da 500 MB non richiede 500 MB di RAM. Questa è la differenza tra il modulo e l’approccio “leggi il file, dividilo, crea oggetti” che la maggior parte degli script fatti in casa usa — quell’approccio funziona bene su un campione da 5 MB ma fallisce su un DC reale.&lt;/p&gt;</description></item><item><title>Integrazione con Strumenti di Analisi</title><link>https://DNSServerDebugLogParser.andibellstedt.com/it/docs/05-integration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/it/docs/05-integration/</guid><description>&lt;p&gt;Il senso di convertire un log di debug DNS è ciò che succede dopo. CSV è stato scelto perché tutti lo leggono — ma &amp;ldquo;tutti leggono CSV&amp;rdquo; nasconde due impostazioni che decidono se l&amp;rsquo;importazione è indolore o un pomeriggio di tentativi.&lt;/p&gt;
&lt;h2 id="due-impostazioni-che-decidono-tutto"&gt;Due impostazioni che decidono tutto&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Delimitatore.&lt;/strong&gt; Il valore predefinito è &lt;code&gt;;&lt;/code&gt;. Lascialo così per Excel nelle località che usano la virgola come separatore decimale. Passa a &lt;code&gt;,&lt;/code&gt; per la maggior parte dei database e degli strumenti di data science. Qualunque cosa tu scelga, comunica la stessa cosa al lato importazione.&lt;/p&gt;</description></item><item><title>Pratiche Operative Consigliate</title><link>https://DNSServerDebugLogParser.andibellstedt.com/it/docs/06-operational-best-practices/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/it/docs/06-operational-best-practices/</guid><description>&lt;p&gt;Convertire un log manualmente è facile. Farlo ogni notte su ogni controller di dominio, per anni, senza che nessuno lo controlli, è la parte che richiede un po’ di progettazione. Questi sono i punti che contano nella pratica.&lt;/p&gt;
&lt;h2 id="1-converti-i-log-ruotati-non-quello-attivo"&gt;1. Converti i log ruotati, non quello attivo&lt;/h2&gt;
&lt;p&gt;Abilita il rollover dei log sul server DNS e converti solo i file chiusi. Il modulo &lt;em&gt;può&lt;/em&gt; leggere il log su cui il DNS Server sta attualmente scrivendo, ma quel file cambia durante la conversione: le voci più recenti potrebbero mancare e l’ultima riga potrebbe essere troncata. Due esecuzioni producono due risultati diversi.&lt;/p&gt;</description></item><item><title>Risoluzione dei problemi</title><link>https://DNSServerDebugLogParser.andibellstedt.com/it/docs/08-troubleshooting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/it/docs/08-troubleshooting/</guid><description>&lt;h2 id="il-file-non-è-un-file-di-log-di-debug-dns-valido"&gt;&amp;ldquo;Il file non è un file di log di debug DNS valido&amp;rdquo;&lt;/h2&gt;
&lt;p&gt;Il controllo dell&amp;rsquo;intestazione ha rifiutato l&amp;rsquo;input. Di solito il percorso è semplicemente errato — un file &lt;code&gt;.log&lt;/code&gt; nella stessa cartella che non è il log di debug DNS, o un file che contiene solo un&amp;rsquo;intestazione ruotata.&lt;/p&gt;
&lt;p&gt;Segui questi passaggi:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Apri il file. Un log di debug DNS inizia con una riga di intestazione come &lt;code&gt;Message logging started at …&lt;/code&gt; e continua con voci di query con timestamp.&lt;/p&gt;</description></item></channel></rss>