Introducción a la configuración y la recopilación de eventos de arranque

Se aplica a: Windows Server 2022, Windows Server 2019, Windows Server

Información general

La Recopilación de eventos de configuración y arranque es una nueva característica de Windows Server 2016 que le permite designar un equipo recopilador que puede recopilar una serie de eventos importantes que se producen en otros equipos cuando arrancan o pasan por el proceso de configuración. Puedes analizar, más adelante, los eventos recopilados con Visor de eventos, Analizador de mensajes, Wevtutil o cmdlets de Windows PowerShell.

Anteriormente, estos eventos han sido imposibles de supervisar porque la infraestructura necesaria para recopilarlos no existe hasta que un equipo ya está configurado. Los tipos de eventos de configuración y arranque que puede supervisar incluyen:

  • Carga de módulos y controladores kernel

  • Enumeración de dispositivos e inicialización de sus controladores (incluidos dispositivos como el tipo de CPU)

  • Comprobación y montaje de sistemas de archivos

  • Inicio de archivos ejecutables

  • Inicio y finalización de actualizaciones del sistema

  • Los puntos en los que el sistema está disponible para el inicio de sesión, establece la conexión con un controlador de dominio, la finalización de los inicios de servicio y la disponibilidad de los recursos compartidos de red

El equipo recopilador debe estar ejecutando Windows Server 2016 (puede estar en modo Servidor con Experiencia de Escritorio o Server Core). El equipo de destino debe ejecutar Windows 10 o Windows Server 2016. También puede ejecutar este servicio en una máquina virtual que esté alojada en un equipo que no ejecute Windows Server 2016. Se sabe que funcionan las siguientes combinaciones de recopilador virtualizado y equipos de destino:

Host de virtualización Máquina virtual del recopilador Máquina virtual de destino
Windows 8.1
Windows 10 Sí.
Windows Server 2016
Windows Server 2012 R2 no

Instalación del servicio de recopilador

A partir de Windows Server 2016, el servicio de recopilación de eventos está disponible como característica opcional. En esta versión, puede instalarlo usando DISM.exe con este comando en un indicador de Windows PowerShell elevado:

dism /online /enable-feature /featurename:SetupAndBootEventCollection

Este comando crea un servicio llamado BootEventCollector y lo inicia con un archivo de configuración vacío.

Confirme que la instalación se realiza correctamente comprobando get-service -displayname *boot*. El recopilador de eventos de arranque debe estar en ejecución. Se ejecuta en la cuenta de servicio de red y crea un archivo de configuración vacío (Active.xml) en %SystemDrive%\ProgramData\Microsoft\BootEventCollector\Config.

También puede instalar el servicio de Recopilación de eventos de configuración y arranque con el asistente para añadir roles y características del Administrador del servidor.

Configuración

Debe configurar dos elementos para recopilar los eventos de configuración y arranque.

  • En los equipos de destino que enviarán los eventos (es decir, los equipos cuya configuración y arranque quiere supervisar), active el transporte KDNET/EVENT-NET y active el reenvío de eventos.

  • En el equipo recopilador, especifique desde qué equipos aceptar eventos y dónde guardarlos.

Nota

No puede configurar un equipo para enviar los eventos de inicio o arranque a sí mismo. Pero si quiere supervisar dos equipos, puede configurarlos para que se envíen los eventos entre sí.

Configuración de un equipo de destino

En cada equipo de destino, habilite primero el transporte KDNET/EVENT-NET, habilite después el envío de eventos ETW a través del transporte y reinicie después el equipo de destino. EVENT-NET es un protocolo de transporte dentro del kernel similar a KDNET (el protocolo de depuración del kernel). EVENT-NET solo transmite eventos y no permite el acceso al depurador. Estos dos protocolos son mutuamente excluyentes; solo puede habilitar uno de ellos a la vez.

Puede habilitar el transporte de eventos de forma remota (con Windows PowerShell) o localmente.

Para habilitar el transporte de eventos de forma remota
  1. Si ya ha configurado la Comunicación remota de Windows PowerShell en el equipo de destino, vaya al paso 3. Si no es así, en el equipo de destino, abra un símbolo del sistema y ejecute el siguiente comando:

    winrm quickconfig

  2. Responda a las indicaciones y reinicie el equipo de destino. Si los equipos de destino no están en el mismo dominio que el equipo recopilador, es posible que tenga que definirlos como hosts de confianza. Para ello, siga estos pasos:

  3. En el equipo recopilador, ejecute cualquiera de estos comandos:

    • En un símbolo del sistema de Windows PowerShell: Set-Item -Force WSMan:\localhost\Client\TrustedHosts <target1>,<target2>,..., seguido de Set-Item -Force WSMan:\localhost\Client\AllowUnencrypted true donde <target1>, etc. son los nombres o direcciones IP de los equipos de destino.

    • O bien, en un símbolo del sistema: winrm set winrm/config/client @{TrustedHosts=<target1>,<target2>,...;AllowUnencrypted=true}

      Importante

      Esto establece una comunicación no cifrada, así que no lo haga fuera de un entorno de laboratorio.

  4. Pruebe la conexión remota yendo al equipo recopilador y ejecutando uno de estos comandos de Windows PowerShell:

    Si el equipo de destino se encuentra en el mismo dominio que el equipo recopilador, ejecute New-PSSession -Computer <target> | Remove-PSSession

    Si el equipo de destino no se encuentra en el mismo dominio, ejecute New-PSSession -Computer <target> -Credential Administrator | Remove-PSSession, que le pedirá las credenciales.

    Si el comando no devuelve nada, la comunicación remota se realizó correctamente.

  5. En el equipo de destino, abra un símbolo del sistema de Windows PowerShell con privilegios elevados y ejecute este comando:

    Enable-SbecBcd -ComputerName <target_name> -CollectorIP <ip> -CollectorPort <port> -Key <a.b.c.d>

    Aquí <target_name> es el nombre del equipo de destino, <ip> es la dirección IP del equipo recopilador. <port> es el número de puerto donde se ejecutará el recopilador. La clave <a.b.c.d> es una clave de cifrado necesaria para la comunicación, que consta de cuatro cadenas alfanuméricas separadas por puntos. Esta misma clave se usa en el equipo recopilador. Si no escribe una clave, el sistema genera una aleatoria; la necesitará para el equipo recopilador, así que anótela.

  6. Si ya tiene un equipo recopilador establecido, actualice el archivo de configuración del equipo recopilador con la información del nuevo equipo de destino. Consulte la sección Configuración del equipo recopilador para más información.

Para habilitar el transporte de eventos localmente en el equipo de destino
  1. Inicie un símbolo del sistema con privilegios elevados y ejecute estos comandos:

    bcdedit /event yes

    bcdedit /eventsettings net hostip:1.2.3.4 port:50000 key:a.b.c.d

    Aquí 1.2.3.4 es un ejemplo; reemplace esto por la dirección IP del equipo recopilador. Reemplace también 50000 por el número de puerto donde se ejecutará el recopilador y a.b.c.d por la clave de cifrado necesaria para la comunicación. Esta misma clave se usa en el equipo recopilador. Si no escribe una clave, el sistema genera una aleatoria; la necesitará para el equipo recopilador, así que anótela.

  2. Si ya tiene un equipo recopilador establecido, actualice el archivo de configuración del equipo recopilador con la información del nuevo equipo de destino. Consulte la sección Configuración del equipo recopilador para más información.

Ahora que el propio transporte de eventos está habilitado, debe permitir que el sistema envíe realmente eventos ETW a través de ese transporte.

Para habilitar el envío de eventos ETW a través del transporte de forma remota
  1. En el equipo recopilador, abra un símbolo del sistema de Windows PowerShell con privilegios elevados.

  2. Ejecute Enable-SbecAutologger -ComputerName <target_name>, donde <target_name> es el nombre del equipo de destino.

Si no puede configurar la Comunicación remota de Windows PowerShell, siempre puede habilitar el envío de eventos directamente en el equipo de destino.

Para permitir el envío de eventos ETW a través del transporte localmente
  1. En el equipo de destino, inicie Regedit.exe y busque esta clave del Registro:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\AutoLogger. Varias sesiones de registro se enumeran como sub-claves en esta clave. Setup Platform, NT Kernel Logger y Microsoft-Windows-Setup son opciones posibles para su uso con la Recopilación de eventos de configuración y arranque, pero la opción recomendada es EventLog-System. Estas claves se detallan en Configuración e inicio de una sesión de AutoLogger.

  2. En la clave EventLog-System, cambie el valor de LogFileMode de 0x10000180 a 0x10080180. Para más información sobre los detalles de estas configuraciones, consulte Constantes del modo de registro.

  3. Opcionalmente, también puede activar el reenvío de los datos de comprobación de errores al equipo recopilador. Para ello, busque la clave del registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager y cree la clave Debug Print Filter con un valor de 0x1.

  4. Reinicie el equipo de destino.

Elección del adaptador de red

Si el equipo de destino tiene más de un adaptador de red, el controlador KDNET elegirá el primero compatible de la lista. Puede especificar un adaptador de red concreto para usarlo en el reenvío de eventos de configuración con estos pasos:

Para especificar un adaptador de red
  1. En el equipo de destino, abra el Administrador de dispositivos, expanda Adaptadores de red, busque el adaptador de red que quiera usar y haga clic con el botón derecho.

  2. En el menú que se abre, haga clic en Propiedades y después en la pestaña Detalles. Despliegue el menú en el campo Propiedad, desplácese hasta encontrar Información de ubicación (es probable que la lista no esté en orden alfabético) y haga clic en ella. El valor será una cadena de la forma PCI bus X, dispositivo Y, función Z. Tome nota de X.Y.Z; son los parámetros del bus que necesita para el siguiente comando.

  3. Ejecute uno de estos comandos:

    Desde un símbolo del sistema de Windows PowerShell con privilegios elevados:Enable-SbecBcd -ComputerName <target_name> -CollectorIP <ip> -CollectorPort <port> -Key <a.b.c.d> -BusParams <X.Y.Z>

    Desde un símbolo del sistema con privilegios elevados: bcdedit /eventsettings net hostip:aaa port:50000 key:bbb busparams:X.Y.Z

Validación de la configuración del equipo de destino

Para comprobar la configuración en el equipo de destino, abra un símbolo del sistema con privilegios elevados y ejecute bcdedit /enum. Cuando termine, ejecute bcdedit /eventsettings. Puede volver a comprobar los siguientes valores:

  • Clave

  • Debugtype = NET

  • Hostip = <dirección IP del recopilador>

  • Port = <número de puerto que especificó para que el recopilador use>

  • DHCP = sí

Compruebe también que ha habilitado bcdedit /event, ya que /debug y /event son mutuamente excluyentes. Solo puede ejecutar uno o el otro. Del mismo modo, no se puede mezclar /eventsettings con /debug o /dbgsettings con /event.

Tenga en cuenta también que la colección de eventos no funciona si la establece en un puerto serie.

Configuración del equipo recopilador

El servicio recopilador recibe los eventos y los guarda en archivos ETL. Estos archivos ETL pueden ser leídos después por otras herramientas, como el Visor de eventos, el Analizador de mensajes, Wevtutil y los cmdlets de Windows PowerShell.

Dado que el formato ETW no permite especificar el nombre del equipo de destino, los eventos de cada equipo de destino deben guardarse en un archivo independiente. Las herramientas para mostrar pueden mostrar un nombre de equipo, pero será el nombre del equipo en el que se ejecuta la herramienta.

Más exactamente, a cada equipo de destino se le asigna un anillo de archivos ETL. Cada nombre de archivo incluye un índice de 000 a un valor máximo que configure (hasta 999). Cuando el archivo alcanza el tamaño máximo configurado, cambia la escritura de eventos al siguiente archivo. Después del archivo más alto posible, vuelve al índice de archivos 000. De este modo, los archivos se reciclan automáticamente, lo que limita el uso del espacio en disco. También puede establecer directivas de retención externas adicionales para limitar aún más el uso del disco; por ejemplo, puede eliminar archivos anteriores a un número establecido de días.

Los archivos ETL recopilados se conservan normalmente en el directorio c:\ProgramData\Microsoft\BootEventCollector\Etl (que podría tener subdirectorios adicionales). Puede encontrar el archivo de registro más reciente ordenándolos por el momento de la última modificación. También hay un registro de estado (normalmente en c:\ProgramData\Microsoft\BootEventCollector\Logs), que registra cada vez que el recopilador cambia la escritura a un nuevo archivo.

También hay un registro de recopilador, que registra información sobre el propio recopilador. Puede mantener este registro en el formato ETW (en el que los eventos se comunican al servicio de registro de Windows; es el predeterminado) o en un archivo (normalmente en c:\ProgramData\Microsoft\BootEventCollector\Logs). El uso de un archivo puede ser útil si quiere activar modos detallados que produzcan muchos datos. También puede establecer que el registro se escriba en una salida estándar ejecutando el recopilador desde la línea de comandos.

Creación del archivo de configuración del recopilador

Al habilitar el servicio, se crean tres archivos de configuración XML que se almacenan en c:\ProgramData\Microsoft\BootEventCollector\Config:

  • Active.xml Este archivo contiene la configuración activa actual del servicio recopilador. Justo después de la instalación, este archivo tiene el mismo contenido que Empty.xml. Al establecer una nueva configuración del recopilador, guárdela en este archivo.

  • Empty.xml Este archivo contiene los elementos de configuración mínimos necesarios con sus valores predeterminados establecidos. No habilita ninguna colección; solo permite que el servicio recopilador se inicie en modo inactivo.

  • Example.xml Este archivo proporciona ejemplos y explicaciones de los posibles elementos de configuración.

Elección de un límite de tamaño de archivo

Una de las decisiones que debe tomar es establecer un límite de tamaño de archivo. El mejor límite de tamaño de archivo depende del volumen esperado de eventos y del espacio disponible en disco. Los archivos más pequeños son más cómodos desde el punto de vista de la limpieza de los datos antiguos. Sin embargo, cada archivo conlleva la sobrecarga de un encabezado de 64 KB y la lectura de muchos archivos para obtener el historial combinado podría ser poco práctica. El límite mínimo absoluto de tamaño de archivo es de 256 KB. Un límite de tamaño de archivo práctico razonable debe ser superior a 1 MB y 10 MB probablemente es un buen valor típico. Un límite mayor podría ser razonable si espera muchos eventos.

Hay varios detalles que debe tener en cuenta con respecto al archivo de configuración:

  • Dirección del equipo de destino. Puede usar su dirección IPv4, una dirección MAC o un GUID SMBIOS. Tenga en cuenta estos factores al elegir la dirección que se va a usar:

    • La dirección IPv4 funciona mejor con la asignación estática de las direcciones IP. Sin embargo, incluso las direcciones IP estáticas deben estar disponibles a través de DHCP.

    • Una dirección MAC o GUID SMBIOS es conveniente cuando se conocen de antemano, pero las direcciones IP se asignan dinámicamente.

    • El protocolo EVENT-NET no admite direcciones IPv6.

    • Es posible especificar varias maneras de identificar el equipo. Por ejemplo, si el hardware físico está a punto de reemplazarse, puede escribir las direcciones MAC antiguas y nuevas, y se aceptarán.

  • Clave de cifrado usada para la comunicación con el equipo recopilador

  • Nombre del equipo de destino. Puede usar la dirección IP, el nombre de host o cualquier otro nombre como nombre de equipo.

  • Nombre del archivo ETL que se va a usar y la configuración del tamaño del anillo para él

Para crear el archivo de configuración
  1. Abra un símbolo del sistema de Windows PowerShell con privilegios elevados y cambie los directorios a %SystemDrive%\ProgramData\Microsoft\BootEventCollector\Config.

  2. Escriba notepad .\newconfig.xml y presione ENTRAR.

  3. Copie esta configuración de ejemplo en la ventana del Bloc de notas:

    <collector configVersionMajor=1 statuslog=c:\ProgramData\Microsoft\BootEventCollector\Logs\statuslog.xml>
      <common>
        <collectorport value=50000/>
        <forwarder type=etl>
          <set name=file value=c:\ProgramData\Microsoft\BootEventCollector\Etl\{computer}\{computer}_{#3}.etl/>
          <set name=size value=10mb/>
          <set name=nfiles value=10/>
          <set name=toxml value=none/>
        </forwarder>
        <target>
          <ipv4 value=192.168.1.1/>
          <key value=a.b.c.d/>
          <computer value=computer1/>
        </target>
        <target>
          <ipv4 value=192.168.1.2/>
          <key value=d1.e2.f3.g4/>
          <computer value=computer2/>
        </target>
      </common>
    </collector>
    

    Nota

    El nodo raíz es <recopilador>. Sus atributos especifican la versión de la sintaxis del archivo de configuración y el nombre del archivo de registro de estado.

    El elemento <common> agrupa varios objetivos especificando los elementos de configuración comunes para ellos, de forma muy parecida a como se puede usar un grupo de usuarios para especificar los permisos comunes para varios usuarios.

    El elemento <collectorport> define el número de puerto UDP en el que el recopilador escuchará los datos entrantes. Este es el mismo puerto que se especificó en el paso de configuración de destino para Bcdedit. El recopilador solo admite un puerto y todos los destinos deben conectarse al mismo puerto.

    El elemento <forwarder> especifica cómo se reenviarán los eventos ETW recibidos de los equipos de destino. Solo hay un tipo de reenviador, que los escribe en los archivos ETL. Los parámetros especifican el patrón de nombre de archivo, el límite de tamaño de cada archivo en el anillo y el tamaño del anillo para cada equipo. La configuración toxml establece que los eventos ETW se escribirán en el formato binario tal y como se recibieron, sin conversión a XML. Consulte la sección de conversión de eventos XML para obtener información sobre la decisión de conferir o no los eventos a XML. El patrón de nombre de archivo contiene estas sustituciones: {computer} para el nombre del equipo y {#3} para el índice de archivo en el anillo.

    En este archivo de ejemplo, se definen dos equipos de destino con el elemento <target>. Cada definición especifica la dirección IP con <ipv4>, pero también podría usar la dirección MAC (por ejemplo, <mac value=11:22:33:44:55:66/> o <mac value=11-22-33-44-55-66/>) o el GUID SMBIOS (por ejemplo, <guid value={269076F9-4B77-46E1-B03B-CA5003775B88}/>) para identificar el equipo de destino. Anote también la clave de cifrado (la misma que se especificó o generó con Bcdedit en el equipo de destino) y el nombre del equipo.

  4. Escriba los detalles de cada equipo de destino como un elemento <target> independiente en el archivo de configuración y, después, guarde Newconfig.xml y cierre el Bloc de notas.

  5. Aplique la nueva configuración con $result = (Get-Content .\newconfig.xml | Set-SbecActiveConfig); $result. La salida debería devolverse con el campo Success en true. Si obtiene otro resultado, consulte la sección Solución de problemas de este tema.

Siempre puede comprobar la configuración activa actual con (Get-SbecActiveConfig).text.

Puede realizar una comprobación de validez en el archivo de configuración con $result = (Get-Content .\newconfig.xml | Check-SbecConfig); $result.

Aunque el comando de Windows PowerShell para aplicar una nueva configuración actualiza automáticamente el servicio sin necesidad de reiniciarlo, siempre puede reiniciarlo usted mismo con cualquiera de estos comandos:

  • Con Windows PowerShell: Restart-Service BootEventCollector

  • En un símbolo del sistema normal: sc stop BootEventCollector; sc start BootEventCollector

Configuración de Nano Server como equipo de destino

La interfaz mínima que ofrece Nano Server a veces puede dificultar el diagnóstico de problemas con él. Puede configurar la imagen de su Nano Server para que participe en la Recopilación de eventos de configuración y arranque de forma automática, enviando los datos de diagnóstico a un equipo recopilador sin más intervención por su parte. Para ello, realice los pasos siguientes:

Para configurar Nano Server como equipo de destino

  1. Cree la imagen básica de Nano Server. Consulte Introducción a Nano Server para más detalles.

  2. Configure un equipo recopilador como en la sección Configuración del equipo recopilador de este tema.

  3. Agregue claves de registro de AutoLogger para habilitar el envío de mensajes de diagnóstico. Para ello, debe montar el VHD del Nano Server creado en el paso 1, cargar la colmena del registro y después agregar ciertas claves del registro. En este ejemplo, la imagen de Nano Server está en C:\NanoServer; la ruta de acceso puede ser diferente, por lo que debe ajustar los pasos en consecuencia.

    1. En el equipo recopilador, copie la carpeta ..\Windows\System32\WindowsPowerShell\v1.0\Modules\BootEventCollector y péguela en el directorio ..\Windows\System32\WindowsPowerShell\v1.0\Modules del equipo que está usando para modificar el VHD del Nano Server.

    2. Inicie una consola de Windows PowerShell con permisos elevados y ejecute Import-Module BootEventCollector.

    3. Actualice el registro de VHD de Nano Server para habilitar los registradores automáticos. Para ello, ejecute Enable-SbecAutoLogger -Path C:\NanoServer\Workloads\IncludingWorkloads.vhd. Esto agrega una lista básica de los eventos de configuración y arranque más típicos; puede investigar otros en Control de sesiones de seguimiento de eventos.

  4. Actualice la configuración del BCD en la imagen del Nano Server para activar el indicador de Eventos y establezca el equipo recopilador para garantizar que los eventos de diagnóstico se envían al servidor correcto. Anote la dirección IPv4 del equipo recopilador, el puerto TCP y la clave de cifrado que configuró en el archivo Active.XML del recopilador (descrito en otro apartado de este tema). Use este comando en una consola de Windows PowerShell con permisos elevados: Enable-SbecBcd -Path C:\NanoServer\Workloads\IncludingWorkloads.vhd -CollectorIp 192.168.100.1 -CollectorPort 50000 -Key a.b.c.d

  5. Actualice el equipo recopilador para que reciba los eventos enviados por el equipo Nano Server añadiendo el intervalo de direcciones IPv4, la dirección IPv4 específica o la dirección MAC del Nano Server al archivo Active.XML del equipo recopilador (consulte la sección Configuración del equipo recopilador de este tema).

Inicio del servicio del recopilador de eventos

Una vez guardado un archivo de configuración válido en el equipo recopilador y configurado un equipo de destino, en cuanto se reinicie el equipo de destino, se establecerá la conexión con el recopilador y se recopilarán los eventos.

El registro del propio servicio recopilador (que es distinto de los datos de configuración y arranque recopilados por el servicio) puede encontrarse en Microsoft-Windows-BootEvent-Collector/Admin . Para una interfaz gráfica para los eventos, use Visor de eventos. Cree una nueva vista; expanda Registros de aplicaciones y servicios, después expanda Microsoft y después Windows. Busque BootEvent-Collector, expándalo y busque Admin.

  • Con Windows PowerShell: Get-WinEvent -LogName Microsoft-Windows-BootEvent-Collector/Admin

  • En un símbolo del sistema normal: wevtutil qe Microsoft-Windows-BootEvent-Collector/Admin

Solución de problemas

Solución de problemas de instalación de la característica

Error Descripción del error Síntoma Posible problema
Dism.exe 87 La opción feature-name no se reconoce en este contexto Esto puede ocurrir si escribe mal el nombre de la característica. Compruebe que esté correctamente escrito e inténtelo de nuevo. Confirme que esta característica está disponible en la versión del sistema operativo que está usando. En Windows PowerShell, ejecute dism /online /get-features &#124; ?{$_ -match boot}. Si no se devuelve ninguna coincidencia, es probable que ejecute una versión que no admita esta característica.
Dism.exe 0x800f080c La característica <name> es desconocida. Lo mismo que antes.

Solución de problemas del recopilador

Registro: El recopilador registra sus propios eventos como proveedor ETW Microsoft-Windows-BootEvent-Collector. Es el primer lugar en el que debe buscar la solución de problemas con el recopilador. Puede encontrarlos en el Visor de eventos en Registros de aplicaciones y servicios > Microsoft > Windows > BootEvent-Collector > Admin, o puede leerlos en una ventana de comandos con cualquiera de estos comandos:

En un símbolo del sistema normal: wevtutil qe Microsoft-Windows-BootEvent-Collector/Admin

En un símbolo del sistema de Windows PowerShell: Get-WinEvent -LogName Microsoft-Windows-BootEvent-Collector/Admin (puede anexar -Oldest para devolver la lista en orden cronológico con los eventos más antiguos primero)

Puede ajustar el nivel de detalle en los registros del error, mediante warning, info (valor predeterminado), verbose y debug. Los niveles más detallados que la información son útiles para diagnosticar problemas con equipos de destino que no se conectan, pero pueden generar una gran cantidad de datos, así que úselos con cuidado.

El nivel mínimo de registro se establece en el elemento <collector> del archivo de configuración. Por ejemplo: <collector configVersionMajor=1 minlog=verbose>.

El nivel verbose realiza un registro de cada paquete recibido a medida que se procesa. El nivel debug agrega más detalles de procesamiento y vuelca también el contenido de todos los paquetes ETW recibidos.

En el nivel debug, puede resultar útil escribir el registro en un archivo en lugar de intentar visualizarlo en el sistema de registro habitual. Para ello, agregue un elemento adicional en el elemento <collector> del archivo de configuración:

<collector configVersionMajor=1 minlog=debug log=c:\ProgramData\Microsoft\BootEventCollector\Logs\log.txt>

Un enfoque sugerido para solucionar problemas del recopilador:

  1. En primer lugar, compruebe que el recopilador ha recibido la conexión del destino (solo creará el archivo cuando el destino empiece a enviar los mensajes) con

    Get-SbecForwarding
    

    Si devuelve que existe una conexión desde este destino, el problema podría estar en la configuración del autologger. Si no devuelve nada, el problema está en la conexión KDNET para empezar. Para diagnosticar problemas de conexión de KDNET, intente comprobar la conexión desde ambos extremos (es decir, desde el recopilador y desde el destino).

  2. Para ver diagnósticos ampliados del recopilador, agregue esto al elemento <collector> del archivo de configuración: <collector ... minlog=verbose> Esto habilitará los mensajes sobre cada paquete recibido.

  3. Compruebe si se reciben paquetes. Opcionalmente, puede escribir el registro en modo detallado directamente en un archivo en lugar de a través de ETW. Para ello, agregue esto al elemento <collector> del archivo de configuración: <collector ... minlog=verbose log=c:\ProgramData\Microsoft\BootEventCollector\Logs\log.txt>

  4. Compruebe los registros de eventos para ver los mensajes sobre los paquetes recibidos. Compruebe si se reciben paquetes. Si los paquetes se reciben pero son incorrectos, compruebe los mensajes de evento para más información.

  5. Desde el lado del destino, KDNET escribe cierta información de diagnóstico en el registro. Busque mensajes en HKLM\SYSTEM\CurrentControlSet\Services\kdnet. KdInitStatus (DWORD) será = 0 en caso de éxito y mostrará un código de error en caso de error KdInitErrorString = explicación del error (también contiene mensajes informativos si no hay error)

  6. Ejecute Ipconfig.exe en el destino y compruebe el nombre del dispositivo que notifica. Si KDNET se ha cargado correctamente, el nombre del dispositivo debe ser algo como kdnic en lugar del nombre de la tarjeta del proveedor original.

  7. Compruebe si DHCP está configurado para el destino. KDNET requiere absolutamente DHCP.

  8. Confirme que el recopilador está en la misma red que el destino. Si no es así, compruebe si el enrutamiento está configurado correctamente, especialmente la configuración de puerta de enlace predeterminada para DHCP.

Estado de conexión

Puede comprobar la lista actual de conexiones establecidas y la información sobre a dónde se están reenviando los datos con Get-SbecForwarding.

También puede obtener el historial reciente de cambios de estado en las conexiones con Get-SbecHistory.

Solución de problemas de configuración de una nueva configuración

Si aplicó la configuración con el comando $result = (Get-Content .\newconfig.xml | Set-SbecActiveConfig); $result de Windows PowerShell, la variable $result contendrá información sobre la implementación. Puede consultar esta variable para obtener información diferente de ella:

Obtenga información sobre los errores con $result.ErrorString. Si se notifican errores aquí, la nueva configuración no se habrá aplicado y la configuración anterior no se modificará.

Obtenga advertencias con $result.WarningString.

Obtenga información sobre los detalles de la configuración con $result.InfoString.

Puede obtener el resultado completo con $result | fl *. Como alternativa, si no quiere guardar el resultado en una variable, puede usar Get-Content .\newconfig.xml | Set-SbecActiveConfig | fl *.

Solución de problemas de equipos de destino

Error Descripción del error Posible problema
Equipo de destino El destino no se conecta al recopilador El equipo de destino no se reinició después de configurarlo. Reinicie el equipo de destino. El equipo de destino tiene una configuración de BCD incorrecta. Compruebe la configuración en la sección Validar la configuración del equipo de destino. Corrija según sea necesario y reinicie el equipo de destino.

El controlador KDNET/EVENT-NET no ha podido conectarse a un adaptador de red o se ha conectado a un adaptador de red incorrecto. En Windows PowerShell, ejecute gwmi Win32_NetworkAdapter y compruebe la salida para uno con el ServiceName kdnic. Si se selecciona un adaptador de red incorrecto, vuelva a realizar los pasos descritos en Para especificar un adaptador de red. Si el adaptador de red no aparece en absoluto, podría ser que el controlador no admita ninguno de los adaptadores de red.

Consulte también: Un enfoque sugerido para solucionar problemas del recopilador anterior, especialmente los pasos del 5 al 8.

Recopilador Ya no veo eventos después de migrar la máquina virtual en la que se hospeda el recopilador. Compruebe que la dirección IP del equipo recopilador no ha cambiado. Si lo ha hecho, revise Para habilitar el envío de eventos ETW a través del transporte de forma remota.
Recopilador No se crean los archivos ETL. Get-SbecForwarding muestra que el destino se ha conectado, sin errores, pero no se crean los archivos ETL.

Es probable que el equipo de destino aún no haya enviado ningún dato; los archivos ETL solo se crean cuando se reciben los datos.

Recopilador Un evento no se muestra en el archivo ETL. El equipo de destino ha enviado un evento, pero cuando se lee el archivo ETL con Visor de eventos del Analizador de mensajes, el evento no está presente. El evento podría estar aún en el búfer. Los eventos no se escriben en el archivo ETL hasta que se ha recopilado un búfer completo de 64 KB o se ha producido un tiempo de espera de unos 10-15 segundos sin nuevos eventos. Espere a que expire el tiempo de espera o vacíe los búferes con Save-SbecInstance.

El manifiesto de evento no está disponible en el equipo recopilador o en el equipo donde se ejecuta el Visor de eventos o el Analizador de mensajes. En este caso, es posible que el recopilador no pueda procesar el evento (compruebe el registro del recopilador) o que el visor no pueda mostrarlo. Es recomendable tener todos los manifiestos instalados en el equipo recopilador e instalar las actualizaciones en el equipo recopilador antes de instalarlas en los equipos de destino.