Condividi tramite


Inizia con la raccolta eventi di configurazione e avvio del sistema

Overview

"La 'Raccolta eventi di configurazione e avvio' è una nuova funzionalità di Windows Server 2016 che consente di designare un computer di raccolta che può raccogliere un'ampia gamma di eventi importanti che si verificano in altri computer quando vengono avviati o passano attraverso il processo di configurazione." Quindi è possibile analizzare gli eventi raccolti con i cmdlet di Windows PowerShell, Message Analyzer, Wevtutil o il Visualizzatore eventi in un secondo momento.

In precedenza, questi eventi sono stati impossibili da monitorare, poiché l'infrastruttura necessaria per raccogliere tali informazioni non esiste fino a quando non è già stato configurato un computer. I tipi di eventi di avvio e l'installazione che è possibile monitorare includono:

  • Caricamento dei moduli del kernel e dei driver

  • Enumerazione dei dispositivi e inizializzazione dei relativi driver, inclusi dispositivi come il tipo di CPU

  • Verifica e montaggio dei file system

  • Avvio di file eseguibili

  • Data di inizio e completamento degli aggiornamenti del sistema

  • I punti in cui il sistema diventa disponibile per l'accesso, stabilisce la connessione con un controller di dominio, il completamento dell'avvio del servizio e la disponibilità delle condivisioni di rete.

Il computer di raccolta deve eseguire Windows Server 2016 (può trovarsi in modalità Server con Esperienza Desktop o Server Core). Il computer di destinazione deve essere in esecuzione Windows 10 o Windows Server 2016. È anche possibile eseguire questo servizio in una macchina virtuale ospitata in un computer che non esegue Windows Server 2016. Le seguenti combinazioni di agente di raccolta dati virtualizzati e computer di destinazione sono note per funzionare.

Host di virtualizzazione Macchina virtuale di raccolta Macchina virtuale di destinazione
Windows 8.1 yes yes
Windows 10 yes yes
Windows Server 2016 yes yes
Windows Server 2012 R2 yes no

L'installazione del servizio di raccolta

A partire da Windows Server 2016, il servizio agente di raccolta di eventi è disponibile come funzionalità facoltativa. In questa versione, è possibile installarlo tramite DISM.exe con questo comando al prompt di Windows PowerShell con privilegi elevati:

dism /online /enable-feature /featurename:SetupAndBootEventCollection

Questo comando crea un servizio denominato BootEventCollector e viene avviata con un file di configurazione vuoto.

Confermare che l'installazione sia riuscita controllando il get-service -displayname *boot*. Il collettore di eventi di avvio dovrebbe essere in esecuzione. Viene eseguito con l'account del servizio di rete e crea un file di configurazione vuoto (Active.xml) in %SystemDrive%\ProgramData\Microsoft\BootEventCollector\Config.

È inoltre possibile installare il servizio di raccolta eventi di configurazione e avvio utilizzando la procedura guidata Aggiungi ruoli e funzionalità in Server Manager.

Configuration

È necessario configurare due elementi per raccogliere gli eventi di avvio e l'installazione.

  • Nei computer di destinazione che inviano gli eventi (ovvero, i computer la cui installazione e avvio si desidera monitorare), abilitare il trasporto KDNET/EVENT-NET e abilitare l'inoltro di eventi.

  • Sul computer di raccolta, specificare da quali computer accettare eventi e dove salvarli.

Note

Non è possibile configurare un computer per inviare a se stesso gli eventi di avvio. Ma se si desidera monitorare due computer, è possibile configurare in modo da inviare gli eventi tra loro.

Configurazione di un computer di destinazione

In ogni computer di destinazione, è necessario abilitare prima il trasporto KDNET/EVENT-NET, quindi abilitare l'invio di eventi ETW attraverso il trasporto, e poi riavviare il computer di destinazione. EVENTO-NET è un protocollo di trasporto nel kernel che è simile a KDNET (il protocollo del debugger del kernel). EVENT-NET trasmette solo gli eventi e non consente l'accesso del debugger. Questi due protocolli si escludono a vicenda; è possibile abilitare solo uno di essi alla volta.

È possibile abilitare eventi di trasporto in modalità remota (con Windows PowerShell) o in locale.

Per abilitare il trasporto di eventi in modalità remota
  1. Se hai già configurato Windows PowerShell Remoting nel computer di destinazione, puoi passare al passaggio 3. In caso contrario, quindi sul computer di destinazione, aprire un prompt dei comandi ed eseguire il comando seguente:

    winrm quickconfig

  2. Rispondere alle richieste e quindi riavviare il computer di destinazione. Se i computer di destinazione non sono nello stesso dominio del computer del raccoglitore, potrebbe essere necessario definirli come host attendibili. Per eseguire questa operazione:

  3. Sul computer di raccolta, eseguire uno dei seguenti comandi:

    • Nel prompt di Windows PowerShell: Set-Item -Force WSMan:\localhost\Client\TrustedHosts <target1>,<target2>,..., seguito da Set-Item -Force WSMan:\localhost\Client\AllowUnencrypted true dove <target1> e così via sono nomi o indirizzi IP dei computer di destinazione.

    • O in un prompt dei comandi di Windows: winrm set winrm/config/client @{TrustedHosts=<target1>,<target2>,...;AllowUnencrypted=true}

      Important

      Consente di impostare la comunicazione non crittografata, pertanto, non farlo al di fuori di un ambiente di laboratorio.

  4. Verificare la connessione remota accedendo al computer del collettore ed eseguendo uno di questi comandi di Windows PowerShell:

    Se il computer di destinazione si trova nello stesso dominio del computer dell'agente di raccolta, eseguire New-PSSession -Computer <target> | Remove-PSSession

    Se il computer di destinazione non è nello stesso dominio, esegui New-PSSession -Computer <target> -Credential Administrator | Remove-PSSession, dopodiché ti verranno richieste le credenziali.

    Se il comando non restituisce alcun valore, .NET Remoting ha avuto successo.

  5. Nel computer di destinazione, aprire un prompt di Windows PowerShell con privilegi elevato ed eseguire questo comando:

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

    Qui <target_name> è il nome del computer di destinazione, <ip> è l'indirizzo IP del computer dell'agente di raccolta. <port> è il numero di porta su cui verrà eseguito il collettore. La chiave <a.b.c.d> è una chiave di crittografia necessaria per la comunicazione, che comprende quattro stringhe alfanumeriche separate da punti. La stessa chiave viene utilizzata sul computer di raccolta. Se non si immette una chiave, il sistema genera una chiave casuale. Sarà necessaria per il computer dell'agente di raccolta, quindi annotarla.

  6. Se si dispone già di un computer di raccolta configurato, aggiornare il file di configurazione sul computer di raccolta con le informazioni per il nuovo computer di destinazione. Per informazioni dettagliate, vedere la sezione Configurazione del computer dell'agente di raccolta.

Per abilitare il trasporto di eventi in locale nel computer di destinazione
  1. Avviare un prompt dei comandi con privilegi elevati e quindi eseguire questi comandi:

    bcdedit /event sì

    bcdedit /eventsettings net hostip:1.2.3.4 porta:50000 chiave:a.b.c.d

    Qui 1.2.3.4 è un esempio. Sostituirlo con l'indirizzo IP del computer dell'agente di raccolta. Sostituire anche 50000 con il numero di porta su cui funzionerà il collector e a.b.c.d con la chiave di crittografia necessaria per la comunicazione. La stessa chiave viene utilizzata sul computer di raccolta. Se non si immette una chiave, il sistema genera una chiave casuale. Sarà necessaria per il computer dell'agente di raccolta, quindi annotarla.

  2. Se si dispone già di un computer di raccolta configurato, aggiornare il file di configurazione sul computer di raccolta con le informazioni per il nuovo computer di destinazione. Per informazioni dettagliate, vedere la sezione Configurazione del computer dell'agente di raccolta.

Ora che il trasporto eventi stesso è abilitato, è necessario abilitare il sistema per inviare effettivamente eventi ETW tramite tale trasporto.

Per consentire l'invio di eventi ETW tramite trasporto remoto
  1. Sul computer di raccolta, aprire un prompt di Windows PowerShell con privilegi elevati.

  2. Eseguire Enable-SbecAutologger -ComputerName <target_name>, dove <target_name> è il nome del computer di destinazione.

Se non è in grado di configurare la gestione remota di Windows PowerShell, è sempre possibile abilitare l'invio di eventi direttamente nel computer di destinazione.

Per consentire l'invio di eventi ETW tramite il trasporto locale
  1. Nel computer di destinazione, avviare Regedit.exe e trovare questa chiave del Registro di sistema:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\AutoLogger. Varie sessioni del log vengono elencate come sottochiavi di questa chiave. La piattaforma di installazione, il logger del kernel NT e l'installazione di Microsoft-Windows sono opzioni possibili per l'uso con l'installazione e la raccolta di eventi di avvio, ma l'opzione consigliata è EventLog-System. Queste chiavi vengono descritte in dettaglio in Configurazione e Avvio di una Sessione AutoLogger.

  2. Nella chiave di EventLog-System modificare il valore di LogFileMode da 0x10000180 a 0x10080180. Per ulteriori informazioni sui dettagli di queste impostazioni, vedere costanti della modalità di registrazione.

  3. Opzionalmente, è anche possibile attivare l'inoltro dei dati di controllo dei bug al computer di raccolta. A tale scopo, individuare la chiave di registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager e creare la chiave Debug Print Filter con un valore di 0x1.

  4. Riavviare il computer di destinazione.

Scegliere la scheda di rete

Se il computer di destinazione ha più di una scheda di rete, il driver KDNET sceglierà la prima supportata elencata. È possibile specificare una scheda di rete da utilizzare per l'inoltro di eventi di installazione eseguendo i passaggi seguenti:

Per specificare una scheda di rete
  1. Nel computer di destinazione aprire Gestione dispositivi, espandere Schede di rete, trovare la scheda di rete da usare e fare clic con il pulsante destro del mouse.

  2. Scegliere Proprietà dal menu visualizzato e quindi fare clic sulla scheda Dettagli . Espandere il menu nel campo Proprietà , scorrere per trovare le informazioni sulla posizione (probabilmente l'elenco non è in ordine alfabetico) e quindi fare clic su di esso. Il valore sarà una stringa nel formato bus PCI X, dispositivo Y, Z funzione. Prendere nota del X.Y.Z; Questi sono i parametri bus, che è necessario per il comando seguente.

  3. Eseguire uno dei seguenti comandi:

    Da un prompt di Windows PowerShell con privilegi elevati: Enable-SbecBcd -ComputerName <target_name> -CollectorIP <ip> -CollectorPort <port> -Key <a.b.c.d> -BusParams <X.Y.Z>

    Da un prompt dei comandi con privilegi elevati: /eventsettings bcdedit net hostip:aaa porta: 50000 chiave: bbb busparams:X.Y.Z

Confermare la configurazione del computer di destinazione

Per controllare le impostazioni nel computer di destinazione, aprire un prompt dei comandi con privilegi elevati ed eseguire bcdedit /enum. Al termine, eseguire bcdedit /eventsettings. È possibile verificare i valori seguenti:

  • Key

  • DEBUGTYPE = NET

  • Hostip = <indirizzo IP dell'agente di raccolta>

  • Porta = <numero di porta specificato per il collector da utilizzare>

  • DHCP = Sì

Verificare inoltre di aver abilitato bcdedit /event, poiché /debug e /event si escludono a vicenda. È possibile eseguire solo uno o l'altro. Analogamente, non è possibile combinare /eventsettings con /debug o /dbgsettings con /event.

Si noti inoltre che la raccolta degli eventi non funziona se è impostato su una porta seriale.

Configurazione del computer dell'agente di raccolta

Il servizio di raccolta riceve gli eventi e li salva nei file ETL. Questi file ETL possono essere letti da altri strumenti, ad esempio il Visualizzatore eventi, i cmdlet di Windows PowerShell, Wevtutil e Message Analyzer.

Poiché il formato ETW non consente di specificare il nome di computer di destinazione, gli eventi per ogni computer di destinazione devono essere salvati in un file separato. Gli strumenti di visualizzazione potrebbero mostrare un nome di computer, ma sarà il nome del computer in cui viene eseguito lo strumento.

Più precisamente, ogni computer di destinazione viene assegnato un anello di file ETL. Ogni nome di file include un indice da 000 a un valore massimo che si configura (fino a 999). Quando il file raggiunge la dimensione massima configurata, si passa gli eventi di scrittura al file successivo. Dopo aver raggiunto il file più alto possibile, ritorna all'indice di file 000. In questo modo, i file vengono automaticamente riciclati, limitare l'utilizzo di spazio su disco. È inoltre possibile impostare criteri di conservazione esterni aggiuntivi per limitare ulteriormente l'utilizzo del disco; ad esempio, è possibile eliminare i file più vecchi di un determinato numero di giorni.

I file ETL raccolti vengono in genere conservati nella directory c:\ProgramData\Microsoft\BootEventCollector\Etl (che potrebbe avere sottodirectory aggiuntive). È possibile trovare il file di log più recente tramite l'ordinamento per l'ora dell'ultima modifica. Esiste anche un log di stato (in genere in c:\ProgramData\Microsoft\BootEventCollector\Logs), che registra ogni volta che l'agente di raccolta passa alla scrittura in un nuovo file.

È inoltre disponibile un registro del collettore, che registra le informazioni sul collettore stesso. È possibile mantenere questo log nel formato ETW (in cui gli eventi vengono segnalati al servizio di log di Windows; questa è l'impostazione predefinita) o in un file (in genere in c:\ProgramData\Microsoft\BootEventCollector\Logs). L'uso di un file potrebbe essere utile se si desidera abilitare modalità verbose che genera una quantità significativa di dati. È inoltre possibile impostare il log per scrivere un output standard eseguendo l'agente di raccolta dalla riga di comando.

Creazione del file di configurazione del collettore

Quando si abilita il servizio, vengono creati e archiviati tre file di configurazione XML in c:\ProgramData\Microsoft\BootEventCollector\Config:

  • Active.xml Questo file contiene la configurazione attiva corrente del servizio agente di raccolta. Subito dopo l'installazione, questo file è lo stesso contenuto di Empty.xml. Impostando una nuova configurazione del collettore, lo salvi in questo file.

  • Empty.xml Questo file contiene gli elementi di configurazione minimi necessari con i valori predefiniti impostati. Non abilita alcuna raccolta, consente solo al servizio di raccolta di avviarsi in modalità inattiva.

  • Example.xml Questo file fornisce esempi e spiegazioni dei possibili elementi di configurazione.

Scelta di un limite di dimensioni file

Una delle decisioni che è necessario apportare consiste nell'impostare un limite di dimensioni del file. Il limite delle dimensioni file migliore dipende dal volume previsto di eventi e spazio disponibile su disco. I file più piccoli sono più pratico dal punto di vista della pulizia dei dati precedenti. Ogni file comporta tuttavia il sovraccarico di un'intestazione di 64 KB e la lettura di molti file per ottenere la cronologia combinata risultare essere scomoda. Il limite minimo assoluto per le dimensioni dei file è 256 KB. Un limite pratico di dimensioni ragionevoli dovrebbe essere superiore di 1 MB e 10 MB è probabilmente un buon valore tipico. Un limite superiore potrebbe essere ragionevole se si prevedono molti eventi.

Esistono diversi aspetti da tenere in mente riguardo il file di configurazione:

  • L'indirizzo di computer di destinazione. È possibile utilizzare l'indirizzo IPv4, un indirizzo MAC o un GUID SMBIOS. Tenere presente questi fattori quando si sceglie l'indirizzo da utilizzare:

    • L'indirizzo IPv4 funziona meglio con l'assegnazione degli indirizzi IP statico. Tuttavia, gli indirizzi IP anche statici devono essere disponibili tramite il protocollo DHCP.

    • Gli indirizzi MAC o i GUID SMBIOS sono utili quando sono noti in anticipo, ma gli indirizzi IP vengono assegnati dinamicamente.

    • Gli indirizzi IPv6 non sono supportati dal protocollo di rete EVENTO.

    • È possibile specificare diversi modi per identificare il computer. Ad esempio, se l'hardware fisico sta per essere sostituito, è possibile immettere sia il vecchio che il nuovo indirizzo MAC, e verranno accettati entrambi.

  • La chiave di crittografia utilizzata per la comunicazione con il computer dell'agente di raccolta

  • Il nome del computer di destinazione. È possibile utilizzare l'indirizzo IP, nome host o un altro nome come nome del computer.

  • Il nome del file ETL da utilizzare e la configurazione della dimensione dell'anello.

Per creare il file di configurazione
  1. Aprire un prompt di Windows PowerShell con privilegi elevati e passare alla cartella %SystemDrive%\ProgramData\Microsoft\BootEventCollector\Config.

  2. Tipo notepad .\newconfig.xml e premere INVIO.

  3. Copiare questa configurazione di esempio nella finestra del Blocco Note.

    <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>
    

    Note

    Il nodo radice è <collector>. Gli attributi specificano la versione della sintassi del file di configurazione e il nome del file di log di stato.

    L'elemento <common> raggruppa più destinazioni specificando gli elementi di configurazione comuni per tali destinazioni, analogamente al modo in cui un gruppo di utenti può essere usato per specificare le autorizzazioni comuni per più utenti.

    L'elemento <collectorport> definisce il numero di porta UDP in cui l'agente di raccolta rimarrà in ascolto dei dati in ingresso. Questa è la stessa porta, come specificato nel passaggio di configurazione di destinazione per Bcdedit. Il collettore supporta solo una porta e tutti gli obiettivi devono connettersi alla stessa porta.

    L'elemento <forwarder> specifica la modalità di inoltro degli eventi ETW ricevuti dai computer di destinazione. Esiste un solo tipo di inoltratore, che scrive nei file ETL. I parametri specificano il modello di nome file, il limite delle dimensioni di ogni file dell'anello e la dimensione dell'anello per ogni computer. L'impostazione toxml specifica che gli eventi ETW verranno scritti nel formato binario non appena ricevuti, senza conversione in XML. Vedere la sezione Conversione di eventi XML per informazioni su come decidere se conferire gli eventi a XML o meno. Il modello di nome file contiene queste sostituzioni: {computer} per il nome del computer e {#3} per l'indice del file nella sequenza.

    In questo file di esempio vengono definiti due computer di destinazione con l'elemento <target>. Ogni definizione specifica l'indirizzo IP con <ipv4>, ma è anche possibile usare l'indirizzo MAC (ad esempio, <mac value=11:22:33:44:55:66/> o <mac value=11-22-33-44-55-66/>) o il GUID SMBIOS (ad esempio, <guid value={269076F9-4B77-46E1-B03B-CA5003775B88}/>) per identificare il computer di destinazione. Si noti inoltre la chiave di crittografia (la stessa specificata o generata con Bcdedit sul computer di destinazione) e il nome del computer.

  4. Immettere i dettagli per ogni computer di destinazione come elemento <target> separato nel file di configurazione, e poi salvare *Newconfig.xml* e chiudere il Blocco note.

  5. Applicare la nuova configurazione con $result = (Get-Content .\newconfig.xml | Set-SbecActiveConfig); $result. L'output dovrebbe essere restituito con il campo Operazione riuscita impostato su true. Se viene visualizzato un altro risultato, vedere la sezione Risoluzione dei problemi di questo argomento.

È sempre possibile controllare la configurazione attiva corrente con (Get-SbecActiveConfig).text.

È possibile eseguire un controllo di validità nel file di configurazione con $result = (Get-Content .\newconfig.xml | Check-SbecConfig); $result.

Se il comando di Windows PowerShell per applicare automaticamente una nuova configurazione aggiorna il servizio senza che sia necessario riavviarlo, è possibile sempre riavviare il servizio manualmente con uno di questi comandi:

  • Con Windows PowerShell: Restart-Service BootEventCollector

  • In un prompt dei comandi comuni: sc stop BootEventCollector; sc start BootEventCollector

Configurazione di Nano Server in qualità di computer di destinazione

L'interfaccia minima offerta da Nano Server può talvolta rendere difficile la diagnosi dei problemi. È possibile configurare l'immagine di Nano Server per partecipare automaticamente alla raccolta degli eventi di installazione e avvio, inviando dati diagnostici a un computer agente di raccolta senza ulteriori interventi da parte dell'utente. A tal fine, attenersi alla seguente procedura:

Per configurare Nano Server come un computer di destinazione

  1. Crea la tua immagine di base di Nano Server. Vedere Introduzione Nano Server per informazioni dettagliate.

  2. Configurare un computer dell'agente di raccolta come illustrato nella sezione Configurazione del computer dell'agente di raccolta di questo argomento.

  3. Aggiungere le chiavi del Registro di sistema AutoLogger per consentire l'invio di messaggi diagnostici. A tale scopo, montare il disco rigido virtuale Nano Server creato nel passaggio 1, caricare l'hive del Registro di sistema e quindi aggiungere alcune chiavi del Registro di sistema. In questo esempio, l'immagine di Nano Server è in C:\NanoServer; il percorso potrebbe essere diverso, quindi modificare di conseguenza i passaggi.

    1. Nel computer dell'agente di raccolta copiare . . \Windows\System32\WindowsPowerShell\v1.0\Modules\BootEventCollector e incollarlo nella cartella .. \Windows\System32\WindowsPowerShell\v1.0\Modules nel computer in uso per modificare il disco rigido virtuale di Nano Server.

    2. Avviare una console di Windows PowerShell con autorizzazioni elevate ed eseguire Import-Module BootEventCollector .

    3. Aggiornare il Registro di sistema di Nano Server VHD per abilitare AutoLoggers. A tale scopo, eseguire Enable-SbecAutoLogger -Path C:\NanoServer\Workloads\IncludingWorkloads.vhd. Aggiunge un elenco di base delle impostazioni e degli eventi di avvio più comuni; puoi ricercare altri a Controllo delle Sessioni di Traccia degli Eventi.

  4. Aggiornare le impostazioni del BCD nell'immagine di Nano Server per abilitare il flag Eventi e impostare il computer collettore per garantire che gli eventi diagnostici siano inviati al server appropriato. Si noti l'indirizzo IPv4 del computer dell'agente di raccolta, la porta TCP e la chiave di crittografia configurato nel file Active.XML dell'agente di raccolta (descritto altrove in questo argomento). Usare questo comando in una console di Windows PowerShell con autorizzazioni elevate: Enable-SbecBcd -Path C:\NanoServer\Workloads\IncludingWorkloads.vhd -CollectorIp 192.168.100.1 -CollectorPort 50000 -Key a.b.c.d

  5. Aggiornare il computer dell'agente di raccolta per ricevere l'evento inviato dal computer Nano Server aggiungendo l'intervallo di indirizzi IPv4, l'indirizzo IPv4 specifico o l'indirizzo MAC di Nano Server al file Active.XML nel computer dell'agente di raccolta. Vedere la sezione Configurazione del computer dell'agente di raccolta di questo argomento.

Avvio del servizio agente di raccolta eventi

Una volta che viene salvato un file di configurazione valido sul computer agente e un computer di destinazione è configurato, non appena il computer di destinazione viene riavviato, viene stabilita la connessione all'agente di raccolta e verranno raccolti gli eventi.

Il log per il servizio di raccolta stesso (che è distinto dai dati di installazione e dati di avvio raccolti dal servizio) può trovarsi in Microsoft-Windows-BootEvent-Collector/Admin. Per un'interfaccia grafica per gli eventi, utilizzare il Visualizzatore eventi. Creare una nuova vista; Espandere registri applicazioni e servizi, quindi espandere Microsoft e quindi Windows. Trovare BootEvent-Collector, espanderlo e trovare Admin.

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

  • In un prompt dei comandi comuni: wevtutil qe Microsoft-Windows-BootEvent-agente di raccolta/Admin

Troubleshooting

Risoluzione dei problemi di installazione della funzionalità

Error Descrizione dell'errore Symptom Potenziale problema
Dism.exe 87 L'opzione feature-name non è riconosciuta in questo contesto Questo problema può verificarsi se si digita in modo errato il nome della funzionalità. Verificare di aver la versione corretta e riprovare. Verificare che questa funzionalità sia disponibile nella versione del sistema operativo in uso. In Windows PowerShell, eseguire dism /online /get-features &#124; ?{$_ -match boot}. Se non viene restituita alcuna corrispondenza, è probabile che tu stia eseguendo una versione che non supporta questa funzionalità.
Dism.exe 0x800f080c La funzionalità <name> è sconosciuta. Vedere sopra.

Risoluzione dei problemi del collettore

Registrazione: L'agente di raccolta registra i propri eventi come provider ETW Microsoft-Windows-BootEvent-Collector. È il primo punto che è possibile cercare la risoluzione dei problemi con l'agente di raccolta. È possibile trovarli nel Visualizzatore eventi in Registri applicazioni e servizi > Microsoft > Windows > BootEvent-Collector > Admin oppure è possibile leggerli in una finestra di comando con uno di questi comandi:

In un prompt dei comandi comuni: wevtutil qe Microsoft-Windows-BootEvent-agente di raccolta/Admin

Nel prompt di Windows PowerShell: Get-WinEvent -LogName Microsoft-Windows-BootEvent-Collector/Admin (è possibile aggiungere -Oldest per restituire l'elenco in ordine cronologico con gli eventi meno recenti prima)

È possibile modificare il livello di dettaglio nei log da errore, tramite avviso, info (impostazione predefinita), verboso e debug. Livelli più dettagliati delle informazioni sono utili per diagnosticare i problemi relativi ai computer di destinazione che non si connettono, ma potrebbero generare una grande quantità di dati, quindi occorre usarli con attenzione.

Impostare il livello di log minimo nell'elemento <collector> del file di configurazione. Ad esempio: <collector configVersionMajor=1 minlog=verbose>.

Il livello di dettaglio registra un record per ogni pacchetto ricevuto man mano che viene elaborato. Il livello di debug aggiunge ulteriori dettagli sull'elaborazione e il dump di tutti i pacchetti ETW ricevuti, oltre a.

A livello di debug, potrebbe essere utile scrivere il log in un file anziché tentare di visualizzarla nel sistema di registrazione normale. A tale scopo, aggiungere un altro elemento nell'elemento <collector> del file di configurazione:

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

Un approccio suggerito per la risoluzione dei problemi del Collector:

  1. In primo luogo, verificare che il collector ha ricevuto la connessione dalla destinazione (creerà il file solo quando la destinazione inizia a inviare i messaggi) con

    Get-SbecForwarding
    

    Se viene restituito che esiste una connessione da questo target, allora il problema potrebbe essere nelle impostazioni di autologger. Se restituisce null, il problema riguarda la connessione KDNET dall'inizio. Per diagnosticare problemi di connessione KDNET, provare a controllare la connessione da entrambe le estremità (cioè, dal collettore e dal target).

  2. Per visualizzare la diagnostica estesa dall'agente di raccolta, aggiungere quanto segue all'elemento <collector> del file di configurazione: <ollector ... minlog=verbose> Ciò consente di abilitare i messaggi relativi a ogni pacchetto ricevuto.

  3. Controllare se i pacchetti vengono ricevuti affatto. Opzionalmente, è possibile scrivere il log in modalità dettagliata direttamente in un file anziché tramite ETW. A tale scopo, aggiungere quanto segue all'elemento <collector> del file di configurazione: <collector ... minlog=verbose log=c:\ProgramData\Microsoft\BootEventCollector\Logs\log.txt>

  4. Controllare i registri eventi per tutti i messaggi sui pacchetti ricevuti. Controllare se i pacchetti vengono ricevuti affatto. Se i pacchetti sono ricevuti ma non corretti, controllare i messaggi di eventi per i dettagli.

  5. Dal lato di destinazione, KDNET scrive alcune informazioni diagnostiche nel Registro di sistema. Cercare i messaggi in HKLM\SYSTEM\CurrentControlSet\Services\kdnet . KdInitStatus (DWORD) sarà = 0 in caso di esito positivo e mostrerà un codice di errore in caso di errore KdInitErrorString = spiegazione dell'errore (contiene anche messaggi informativi se non si verifica alcun errore)

  6. Eseguire Ipconfig.exe sulla destinazione e controllare il nome del dispositivo che riporta. Se KDNET è stato caricato correttamente, il nome del dispositivo dovrebbe essere simile a kdnic anziché al nome della scheda del fornitore originale.

  7. Controlla se DHCP è configurato per la destinazione. KDNET richiede assolutamente DHCP.

  8. Confermare che il collettore è sulla stessa rete dell'obiettivo. In caso contrario, controllare se il routing è configurato correttamente, in particolare l'impostazione del gateway predefinito per DHCP.

Stato connessione

È possibile controllare l'elenco corrente di connessioni stabilite e informazioni su dove sono diretti i dati con Get-SbecForwarding.

È inoltre possibile ottenere la cronologia delle modifiche dello stato delle connessioni con Get-SbecHistory.

Risoluzione dei problemi di impostazione di una nuova configurazione

Se è applicata la configurazione con il comando Windows PowerShell $result = (Get-Content .\newconfig.xml | Set-SbecActiveConfig); $result, quindi la variabile $result conterrà informazioni sulla distribuzione. È possibile interrogare questa variabile per ottenere informazioni diverse da essa.

Ottenere informazioni sugli errori con $result.ErrorString. Se vengono rilevati errori in questo caso, sarà la nuova configurazione non sia stata applicata e la configurazione precedente sarà invariata.

Ottenere avvisi con $result.WarningString.

Ottenere informazioni sui dettagli di configurazione con $result.InfoString.

È possibile ottenere il risultato completo con $result | fl *. In alternativa, se non si desidera salvare il risultato in una variabile, è possibile utilizzare Get-Content .\newconfig.xml | Set-SbecActiveConfig | fl *.

Risoluzione dei problemi relativi a computer di destinazione

Error Descrizione dell'errore Potenziale problema
Computer di destinazione La destinazione non è connessa al collettore. Il computer di destinazione non è stato riavviato dopo la configurazione. Riavviare il computer di destinazione. Il computer di destinazione ha impostazioni BCD non corrette. Controllare le impostazioni nella sezione Convalidare le impostazioni del computer di destinazione. Correggere se necessario e quindi riavviare il computer di destinazione.

Il driver KDNET/EVENT-NET non è riuscito a connettersi a una scheda di rete o si è connesso a una scheda di rete non corretta. In Windows PowerShell eseguire gwmi Win32_NetworkAdapter e controllare l'output per uno con la kdnic ServiceName. Se è selezionata la scheda di rete errata, eseguire nuovamente i passaggi in Per specificare una scheda di rete. Se la scheda di rete non viene visualizzata affatto, è possibile che il driver non supporti nessuna delle tue schede di rete.

Vedere anche: Un approccio consigliato per la risoluzione dei problemi dell'agente di raccolta precedente, in particolare i passaggi da 5 a 8.

Collector Dopo aver migrato la macchina virtuale su cui è ospitato il mio agente di raccolta dati, non vedo più eventi. Verificare che l'indirizzo IP del computer di raccolta non è stato modificato. Se lo fosse, rivedi per abilitare l'invio di eventi ETW tramite il trasporto remoto.
Collector Non vengono creati i file ETL. Get-SbecForwarding mostra che la destinazione è connessa, senza errori, ma i file ETL non vengono creati.

Il computer di destinazione probabilmente non ha ancora inviato dati; i file ETL vengono creati solo quando i dati vengono ricevuti.

Collector Un evento non viene visualizzato nel file con estensione ETL. Il computer di destinazione ha inviato un evento, ma quando viene letto il file ETL con Visualizzatore eventi di Message Analyzer, l'evento non è presente. L'evento potrebbe trovarsi ancora nel buffer. Gli eventi non vengono scritti nel file ETL fino a quando non viene raccolto un buffer pieno di 64 KB o si è verificato un timeout di circa 10-15 secondi con nessun nuovo evento. Attendere il timeout di scadenza o scaricare il buffer con Save-SbecInstance.

Il manifesto dell'evento non è disponibile sul computer di raccolta dati o sul computer in cui viene eseguito il Visualizzatore eventi o il Message Analyzer. In questo caso, l'agente di raccolta potrebbe non essere in grado di elaborare l'evento (controllare il registro del Collector) o il visualizzatore potrebbe non essere in grado di mostrarlo. È buona norma disporre di tutti i manifesti installati sul computer di raccolta e installare gli aggiornamenti sul computer di raccolta prima di eseguirne l'installazione sui computer di destinazione.