<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Acerca de esta documentación on Módulo PowerShell DNSServer.DebugLogParser</title><link>https://DNSServerDebugLogParser.andibellstedt.com/es/docs/</link><description>Recent content in Acerca de esta documentación on Módulo PowerShell DNSServer.DebugLogParser</description><generator>Hugo</generator><language>es</language><lastBuildDate>Mon, 01 Jan 0001 00:00:00 +0000</lastBuildDate><atom:link href="https://DNSServerDebugLogParser.andibellstedt.com/es/docs/index.xml" rel="self" type="application/rss+xml"/><item><title>Descripción general</title><link>https://DNSServerDebugLogParser.andibellstedt.com/es/docs/01-overview/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/es/docs/01-overview/</guid><description>&lt;p&gt;Windows DNS Server puede escribir un registro de depuración. Es un archivo de texto plano, está pensado para ser leído por un humano, y crece cientos de megabytes al día en un controlador de dominio ocupado. Esa combinación lo hace casi inútil en el momento en que quieres responder una pregunta como &lt;em&gt;&amp;quot;¿qué cliente pidió este dominio 40.000 veces anoche?&amp;quot;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;DNSServer.DebugLogParser&lt;/strong&gt; convierte ese archivo de texto en una tabla CSV. Una línea del registro se convierte en una fila con columnas nombradas, para que puedas abrirlo en Excel, cargarlo en Power BI, insertarlo masivamente en SQL Server o enviarlo a tu SIEM.&lt;/p&gt;</description></item><item><title>Formatos de salida</title><link>https://DNSServerDebugLogParser.andibellstedt.com/es/docs/02-output-formats/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/es/docs/02-output-formats/</guid><description>&lt;p&gt;&lt;code&gt;Convert-DNSDebugLogFile&lt;/code&gt; genera hasta tres archivos por cada registro de entrada:&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Archivo&lt;/th&gt;
					&lt;th&gt;Contiene&lt;/th&gt;
					&lt;th&gt;Se crea cuando&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 fila por cada entrada de registro analizada&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;Conteo diario de registros por contexto&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;Conteo diario de consultas por cliente, protocolo, dirección y tipo de registro&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; es el valor predeterminado. La salida se guarda junto al archivo de entrada a menos que configures &lt;code&gt;-OutputFile&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Parámetros y Opciones</title><link>https://DNSServerDebugLogParser.andibellstedt.com/es/docs/03-parameters-and-options/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/es/docs/03-parameters-and-options/</guid><description>&lt;p&gt;Esta página explica las opciones en lenguaje sencillo y en el orden en que normalmente las necesitarás. Es una guía, no una especificación: la lista autoritativa y siempre actualizada de parámetros está en la &lt;a href="../commands/convert-dnsdebuglogfile/"&gt;referencia del comando&lt;/a&gt; y en:&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-versión-corta"&gt;La versión corta&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;Esa sola línea ya te da un comportamiento sensato: archivos de datos y estadísticas, delimitador punto y coma, formato de fecha de tu máquina, validación de encabezado activada, registro fuente sin tocar. Todo lo que sigue es ajuste fino.&lt;/p&gt;</description></item><item><title>Rendimiento</title><link>https://DNSServerDebugLogParser.andibellstedt.com/es/docs/04-performance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/es/docs/04-performance/</guid><description>&lt;p&gt;Los logs de depuración DNS en un controlador de dominio ocupado son grandes. &lt;code&gt;Convert-DNSDebugLogFile&lt;/code&gt; está diseñado para ese caso: ha sido probado con logs de 100 MB y más, y los procesa en minutos en hardware de servidor común.&lt;/p&gt;
&lt;h2 id="por-qué-es-rápido"&gt;Por qué es rápido&lt;/h2&gt;
&lt;p&gt;No necesitas saber esto para usar el módulo, pero explica el comportamiento que observarás.&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Técnica&lt;/th&gt;
					&lt;th&gt;Efecto que notarás&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 buffers de 64 KB&lt;/td&gt;
					&lt;td&gt;El archivo se lee y escribe en fragmentos en lugar de un gran &lt;code&gt;Get-Content&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Transmisión, pasada única&lt;/td&gt;
					&lt;td&gt;El uso de memoria se mantiene aproximadamente constante sin importar el tamaño del log&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Operaciones con cadenas (&lt;code&gt;.Substring()&lt;/code&gt;, &lt;code&gt;.IndexOf()&lt;/code&gt;) en lugar de expresiones regulares&lt;/td&gt;
					&lt;td&gt;Mucho menos CPU por línea, y hay millones de líneas&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;CSV escrito a mano en lugar de &lt;code&gt;Export-Csv&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Sin sobrecarga de pipeline de objetos por registro&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Agregación basada en tabla hash para estadísticas&lt;/td&gt;
					&lt;td&gt;Los resúmenes cuestan casi nada extra durante la misma pasada&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;La consecuencia importante: &lt;strong&gt;el log completo nunca se mantiene en memoria.&lt;/strong&gt; Un log de 500 MB no necesita 500 MB de RAM. Esta es la diferencia entre el módulo y el enfoque de &amp;ldquo;leer el archivo, dividirlo, construir objetos&amp;rdquo; que la mayoría de los scripts caseros usan — ese enfoque funciona bien con una muestra de 5 MB y falla en un DC real.&lt;/p&gt;</description></item><item><title>Integración con Herramientas de Análisis</title><link>https://DNSServerDebugLogParser.andibellstedt.com/es/docs/05-integration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/es/docs/05-integration/</guid><description>&lt;p&gt;El objetivo de convertir un registro de depuración DNS es lo que sucede después. Se eligió CSV porque todo lo lee — pero &amp;ldquo;todo lee CSV&amp;rdquo; oculta dos configuraciones que deciden si una importación es sencilla o una tarde de ajustes.&lt;/p&gt;
&lt;h2 id="dos-configuraciones-que-lo-deciden-todo"&gt;Dos configuraciones que lo deciden todo&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Delimitador.&lt;/strong&gt; El valor predeterminado es &lt;code&gt;;&lt;/code&gt;. Mantenlo para Excel en configuraciones regionales que usan la coma como separador decimal. Cambia a &lt;code&gt;,&lt;/code&gt; para la mayoría de bases de datos y herramientas de ciencia de datos. Sea cual sea tu elección, informa lo mismo al lado que importa.&lt;/p&gt;</description></item><item><title>Mejores prácticas operativas</title><link>https://DNSServerDebugLogParser.andibellstedt.com/es/docs/06-operational-best-practices/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/es/docs/06-operational-best-practices/</guid><description>&lt;p&gt;Convertir un registro manualmente es fácil. Ejecutarlo cada noche en cada controlador de dominio, durante años, sin que nadie lo revise, es la parte que requiere un poco de diseño. Estos son los puntos que importan en la práctica.&lt;/p&gt;
&lt;h2 id="1-convierte-los-registros-rotados-no-el-activo"&gt;1. Convierte los registros rotados, no el activo&lt;/h2&gt;
&lt;p&gt;Habilita la rotación de registros en el servidor DNS y convierte solo los archivos cerrados. El módulo &lt;em&gt;puede&lt;/em&gt; leer el registro que el servidor DNS está escribiendo actualmente, pero ese archivo cambia durante la conversión: las entradas más recientes pueden faltar y el último registro puede estar truncado. Dos ejecuciones producen dos resultados diferentes.&lt;/p&gt;</description></item><item><title>Solución de problemas</title><link>https://DNSServerDebugLogParser.andibellstedt.com/es/docs/08-troubleshooting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://DNSServerDebugLogParser.andibellstedt.com/es/docs/08-troubleshooting/</guid><description>&lt;h2 id="el-archivo-no-es-un-archivo-válido-de-registro-de-depuración-dns"&gt;&amp;ldquo;El archivo no es un archivo válido de registro de depuración DNS&amp;rdquo;&lt;/h2&gt;
&lt;p&gt;La verificación del encabezado rechazó la entrada. Normalmente la ruta está simplemente equivocada: un archivo &lt;code&gt;.log&lt;/code&gt; en la misma carpeta que no es el registro de depuración DNS, o un archivo que solo contiene un encabezado rotado.&lt;/p&gt;
&lt;p&gt;Sigue estos pasos:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Abre el archivo. Un registro de depuración DNS comienza con una línea de encabezado como &lt;code&gt;Message logging started at …&lt;/code&gt; y continúa con entradas de consultas con marcas de tiempo.&lt;/p&gt;</description></item></channel></rss>