Citrix Virtual Apps and Desktops

Registrazione della configurazione

La registrazione della configurazione è una funzionalità che acquisisce le modifiche alla configurazione del sito e le attività amministrative nel database. La funzionalità è abilitata per impostazione predefinita. È possibile utilizzare il contenuto registrato per:

  • Diagnosticare e risolvere i problemi dopo che sono state apportate modifiche alla configurazione. Il log fornisce una traccia di navigazione.
  • Assistere la gestione delle modifiche e tenere traccia delle configurazioni.
  • Generare report sull’attività di amministrazione.

È possibile impostare le preferenze di registrazione della configurazione, visualizzare i log di configurazione e generare report HTML e CSV da Citrix Studio. È possibile filtrare le visualizzazioni dei log di configurazione in base a intervalli di date e risultati di ricerca full-text. La registrazione obbligatoria, se abilitata, impedisce l’applicazione di modifiche alla configurazione a meno che non possano essere registrate. Con l’autorizzazione appropriata, è possibile eliminare voci dal log di configurazione. Non è possibile utilizzare la funzionalità di registrazione della configurazione per modificare il contenuto del log.

La registrazione della configurazione utilizza un SDK PowerShell e il servizio di registrazione della configurazione. Il servizio di registrazione della configurazione viene eseguito su ogni Controller nel sito. Se un Controller si guasta, il servizio su un altro Controller gestisce automaticamente le richieste di registrazione.

Per impostazione predefinita, la funzionalità di registrazione della configurazione è abilitata e utilizza il database creato al momento della creazione del sito (il database di configurazione del sito). È possibile specificare una posizione diversa per il database. Il database di registrazione della configurazione supporta le stesse funzionalità di alta disponibilità del database di configurazione del sito.

L’accesso alla registrazione della configurazione è controllato tramite amministrazione delegata, con le autorizzazioni Modifica preferenze di registrazione e Visualizza log di configurazione.

I log di configurazione vengono localizzati al momento della loro creazione. Ad esempio, un log creato in inglese viene letto in inglese, indipendentemente dalle impostazioni locali del lettore.

Cosa viene registrato

Le modifiche alla configurazione e le attività amministrative avviate da Studio, Director e script PowerShell vengono registrate. Esempi di modifiche alla configurazione registrate includono l’utilizzo di (creazione, modifica, eliminazione, assegnazione di):

  • Cataloghi macchine
  • Gruppi di consegna (inclusa la modifica delle impostazioni di gestione dell’alimentazione)
  • Ruoli e ambiti di amministratore
  • Risorse e connessioni host
  • Criteri Citrix tramite Studio

Esempi di modifiche amministrative registrate includono:

  • Gestione dell’alimentazione di una macchina virtuale o di un desktop utente
  • Studio o Director che inviano un messaggio a un utente

Le seguenti operazioni non vengono registrate:

  • Operazioni autonome come l’accensione di macchine virtuali per la gestione del pool.
  • Azioni dei criteri implementate tramite la Group Policy Management Console (GPMC); utilizzare gli strumenti Microsoft per visualizzare i log di tali azioni.
  • Modifiche apportate tramite il registro, l’accesso diretto al database o da fonti diverse da Studio, Director o PowerShell.
  • Quando la distribuzione viene inizializzata, la registrazione della configurazione diventa disponibile quando la prima istanza del servizio di registrazione della configurazione si registra con il servizio di configurazione. Pertanto, le prime fasi della configurazione non vengono registrate (ad esempio, quando lo schema del database viene ottenuto e applicato, quando un hypervisor viene inizializzato).

Gestire la registrazione della configurazione

Per impostazione predefinita, la registrazione della configurazione utilizza il database creato al momento della creazione di un sito (noto anche come database di configurazione del sito). Citrix consiglia di utilizzare una posizione separata per il database di registrazione della configurazione (e il database di monitoraggio) per i seguenti motivi:

  • La strategia di backup per il database di registrazione della configurazione è probabilmente diversa dalla strategia di backup per il database di configurazione del sito.
  • Il volume di dati raccolti per la registrazione della configurazione (e il servizio di monitoraggio) potrebbe influire negativamente sullo spazio disponibile per il database di configurazione del sito.
  • Divide il singolo punto di errore per i tre database.

Le edizioni del prodotto che non supportano la registrazione della configurazione non dispongono di un nodo di Registrazione in Studio.

Abilitare e disabilitare la registrazione della configurazione e la registrazione obbligatoria

Per impostazione predefinita, la registrazione della configurazione è abilitata e la registrazione obbligatoria è disabilitata.

  1. Accedere a Web Studio e selezionare Registrazione nel riquadro sinistro.
  2. Selezionare Preferenze nella barra delle azioni. La finestra di dialogo della registrazione della configurazione contiene informazioni sul database e indica se la registrazione della configurazione e la registrazione obbligatoria sono abilitate o disabilitate.
  3. Selezionare l’azione desiderata:

    Per abilitare la registrazione della configurazione, selezionare Abilita. Questa è l’impostazione predefinita. Se non è possibile scrivere nel database, le informazioni di registrazione vengono eliminate, ma l’operazione continua.

    Per disabilitare la registrazione della configurazione, selezionare Disabilita. Se la registrazione era stata precedentemente abilitata, i log esistenti rimangono leggibili con l’SDK PowerShell.

    Per abilitare la registrazione obbligatoria, selezionare Impedisci modifiche alla configurazione del sito quando il database non è disponibile. Nessuna modifica della configurazione o attività amministrativa che viene normalmente registrata è consentita a meno che non possa essere scritta nel database di registrazione della configurazione. È possibile abilitare la registrazione obbligatoria solo quando la registrazione della configurazione è abilitata (quando è selezionato Abilita). Se il servizio di registrazione della configurazione fallisce e l’alta disponibilità non è in uso, si presume la registrazione obbligatoria. In questi casi, le operazioni che normalmente verrebbero registrate non vengono eseguite.

    Per disabilitare la registrazione obbligatoria, selezionare Consenti modifiche alla configurazione del sito quando il database non è disponibile. Le modifiche alla configurazione e le attività amministrative sono consentite, anche se il database di registrazione della configurazione non è accessibile. Questa è l’impostazione predefinita.

Modificare la posizione del database di registrazione della configurazione

Non è possibile modificare la posizione del database quando la registrazione obbligatoria è abilitata, perché la modifica della posizione include un breve intervallo di disconnessione che non può essere registrato.

  1. Creare un server di database, utilizzando una versione supportata di SQL Server.
  2. Accedere a Web Studio e selezionare Registrazione nel riquadro sinistro.
  3. Selezionare Preferenze nella barra delle azioni.
  4. Nella finestra di dialogo Preferenze di registrazione, selezionare Cambia database di registrazione.
  5. Nella finestra di dialogo Cambia database di registrazione, specificare la posizione del server che contiene il nuovo server di database. Vedere Formati degli indirizzi di database per i formati validi.
  6. Per consentire a Studio di creare il database, fare clic su OK. Quando richiesto, fare clic su OK e il database verrà creato automaticamente. Studio tenta di accedere al database utilizzando le credenziali dell’utente Studio corrente. Se l’operazione non riesce, vengono richieste le credenziali dell’utente del database. Studio carica quindi lo schema del database nel database. (Le credenziali vengono mantenute solo durante la creazione del database.)
  7. Per creare il database manualmente, fare clic su Genera script del database. Lo script generato include le istruzioni per la creazione manuale del database. Assicurarsi che il database sia vuoto e che almeno un utente abbia l’autorizzazione ad accedere e modificare il database prima di caricare lo schema.

I dati di registrazione della configurazione nel database precedente non vengono importati nel nuovo database. I log non possono essere aggregati da entrambi i database durante il recupero dei log. La prima voce di log nel nuovo database di registrazione della configurazione indica che si è verificata una modifica del database, ma non identifica il database precedente.

Visualizzare il contenuto del log di configurazione

Per visualizzare il contenuto del log di configurazione, selezionare Registrazione nel riquadro sinistro, quindi selezionare la scheda Eventi.

Per impostazione predefinita, i log eventi sono elencati in base ai nomi degli amministratori. È possibile eseguire le seguenti attività, se necessario:

  • Visualizzare i dettagli del log. Un’operazione di alto livello comporta una o più chiamate di servizio e SDK, che sono operazioni di basso livello. Quando si seleziona un’operazione di alto livello nel riquadro superiore, il riquadro inferiore visualizza le operazioni di basso livello.
  • Ordinare la visualizzazione. Ordinare la visualizzazione facendo clic su un’intestazione di colonna.
  • Filtrare i log. Per perfezionare la visualizzazione, impostare le condizioni di filtro, ad esempio intervalli di giorni o periodi personalizzati, oppure immettere nomi di attività principali completi o parziali nella casella di ricerca. Per tornare alla visualizzazione standard dopo aver utilizzato la ricerca, cancellare il testo nella casella di ricerca.
  • Esportare i log. Esportare i log selezionati o tutti i log in un file CSV per l’archiviazione o ulteriori analisi.
  • Personalizzare le colonne. Adattare la visualizzazione alle proprie esigenze aggiungendo colonne non predefinite come IP client ed Etichette.
  • Gestire le etichette. Aggiungere, modificare e rimuovere etichette per i log eventi per migliorare l’organizzazione e il tracciamento dei log.

Caratteristiche di visualizzazione:

  • Se un’operazione fallisce prima del completamento, l’operazione di log potrebbe non essere completata nel database. Ad esempio, un record di avvio non ha un record di arresto corrispondente. In questi casi, il log indica che mancano informazioni. Quando si visualizzano i log in base agli intervalli di tempo, i log incompleti vengono mostrati se i dati corrispondono ai criteri.

    Ad esempio, se si richiedono i log degli ultimi cinque giorni e un log con un’ora di inizio negli ultimi cinque giorni non ha un’ora di fine, viene incluso.

  • Quando si utilizza uno script che chiama i cmdlet di PowerShell, se si crea un’operazione di basso livello senza specificare un’operazione di alto livello padre, la registrazione della configurazione crea un’operazione di alto livello surrogata.

Generare report

È possibile generare report CSV e HTML contenenti i dati di log della configurazione.

  • Il report CSV contiene tutti i dati di registrazione da un intervallo di tempo specificato. I dati gerarchici nel database vengono appiattiti in una singola tabella CSV. Nessun aspetto dei dati ha precedenza nel file. Non viene utilizzata alcuna formattazione e non si presume alcuna leggibilità umana. Il file (denominato MyReport) contiene i dati in un formato universalmente utilizzabile. I file CSV sono spesso utilizzati per archiviare dati o come origine dati per uno strumento di reporting o manipolazione dati come Microsoft Excel.
  • Il report HTML fornisce una forma leggibile dall’uomo dei dati di registrazione per un intervallo di tempo specificato. Fornisce una vista strutturata e navigabile per la revisione delle modifiche. Un report HTML comprende due file, denominati Summary e Details. Summary elenca le operazioni di alto livello: quando si è verificata ogni operazione, da chi e il risultato. Cliccando su un link Details accanto a ogni operazione si accede alle operazioni di basso livello nel file Details, che fornisce informazioni aggiuntive.

Per generare un report di log della configurazione, selezionare Registrazione nel riquadro di navigazione di Studio, quindi selezionare Crea report personalizzato nella barra delle azioni.

  • Selezionare l’intervallo di date per il report.
  • Selezionare il formato del report: CSV, HTML o entrambi.
  • Sfogliare fino alla posizione in cui si desidera salvare il report.

Eliminare il contenuto del log di configurazione

Per eliminare il log di configurazione, è necessario disporre di determinate autorizzazioni di amministrazione delegata e del database SQL Server.

  • Amministrazione delegata: È necessario disporre di un ruolo di amministrazione delegata che consenta la lettura della configurazione della distribuzione. Il ruolo di amministratore completo dispone di questa autorizzazione. Un ruolo personalizzato deve avere l’opzione Sola lettura o Gestisci selezionata nella categoria Altre autorizzazioni.

    Per creare un backup dei dati di registrazione della configurazione prima di eliminarli, il ruolo personalizzato deve avere anche l’opzione Sola lettura o Gestisci selezionata nella categoria Autorizzazioni di registrazione.

  • Database SQL Server: È necessario disporre di un login al server SQL con l’autorizzazione per eliminare i record dal database. Ci sono due modi per farlo:

    • Utilizzare un login al database SQL Server con un ruolo server sysadmin, che consente di eseguire qualsiasi attività sul server di database. In alternativa, i ruoli server serveradmin o setupadmin consentono di eseguire operazioni di eliminazione.

    • Se la distribuzione richiede maggiore sicurezza, utilizzare un login al database non sysadmin mappato a un utente del database che dispone dell’autorizzazione per eliminare i record dal database.

      1. In SQL Server Management Studio, creare un login SQL Server con un ruolo server diverso da ‘sysadmin’.
      2. Mappare il login a un utente nel database. SQL Server crea automaticamente un utente nel database con lo stesso nome del login.
      3. In Appartenenza al ruolo del database, specificare almeno uno dei membri del ruolo per l’utente del database: ConfigurationLoggingSchema_ROLE o dbowner.

      Per maggiori informazioni, consultare la documentazione di SQL Server Management Studio.

Per eliminare i log di configurazione:

  1. Accedere a Web Studio e selezionare Registrazione nel riquadro sinistro.
  2. Selezionare Elimina log nella barra delle azioni.
  3. Viene chiesto se si desidera creare un backup dei log prima che vengano eliminati. Se si sceglie di creare un backup, accedere alla posizione in cui viene salvato l’archivio di backup. Il backup viene creato come file CSV.

Dopo che i log di configurazione sono stati cancellati, l’eliminazione del log è la prima attività registrata nel log vuoto. Tale voce fornisce dettagli su chi ha eliminato i log e quando.

Visualizzare i log API e PowerShell

Per monitorare le richieste API effettuate durante la sessione corrente, fare clic sulla scheda API. I log API vengono cancellati dopo la disconnessione da Web Studio.

Per visualizzare i comandi PowerShell corrispondenti alle azioni dell’interfaccia utente eseguite durante il giorno, fare clic sulla scheda PowerShell.

Associare metadati ai log di configurazione

È possibile allegare metadati ai log di configurazione associando una coppia name-value denominata MetadataMap ai record di log.

Nota:

  • È possibile allegare metadati solo a oggetti operativi di alto livello.
  • I metadati sono associati ai record esistenti al momento dell’esecuzione.

Impostare i metadati

Eseguire il comando PowerShell Set-LogHighLevelOperationMetadata per associare un record di log a MetadataMap. Set-LogHighLevelOperationMetadata accetta i seguenti parametri:

  • Id: ID dell’operazione di alto livello.
  • InputObject: le operazioni di alto livello a cui si aggiungono i metadati. Questa è un’alternativa al parametro Id in cui un oggetto operazione di alto livello o un elenco di oggetti viene passato al comando PowerShell.
  • Name: nome della proprietà dei metadati da aggiungere. La proprietà deve essere univoca per l’operazione di alto livello specificata. La proprietà non può contenere nessuno dei seguenti caratteri ()\/;:#.*?=<> []”’.
  • Value: valore per la proprietà.
  • Map: dizionario di coppie (nome, valore) per le proprietà. Questa è un’alternativa all’impostazione dei metadati utilizzando i parametri -Name e -Value.

Ad esempio, per allegare i metadati a tutti i record di log di alto livello con ID 40, eseguire il seguente comando PowerShell:

Get-LogHighLevelOperation – Id 40 | Set-LogHighLevelOperationMetadata -Name A -Value B

Per allegare i metadati al record di alto livello con l’utente abc@example.com, eseguire il seguente comando PowerShell:

Get-LogHighLevelOperation – User `abc@example.com` | Set-LogHighLevelOperationMetadata -Name C -Value D

Recupero tramite i metadati

Eseguire i seguenti comandi PowerShell per utilizzare i metadati associati e recuperare i record di log:

  • Cerca per chiave e valore:

    Get-LogHighLevelOperation -Metadata "Key:Value"

  • Cerca per valore qualsiasi chiave:

    Get-LogHighLevelOperation -Metadata "*:Value"

  • Cerca per chiave e qualsiasi valore:

    Get-LogHighLevelOperation -Metadata "Key:*"

Rimuovi i metadati

Eseguire il comando PowerShell Remove-LogHighLevelOperationMetadata per rimuovere i metadati associati. Remove-LogHighLevelOperationMetadata accetta i seguenti parametri:

  • Id: ID dell’operazione di alto livello.
  • InputObject: Le operazioni di alto livello a cui si aggiungono i metadati. Questa è un’alternativa al parametro Id in cui un oggetto operazione di alto livello o un elenco di oggetti viene passato al comando PowerShell.
  • Name: Nome della proprietà dei metadati da rimuovere. Impostare su $null per rimuovere tutti i metadati per l’oggetto specificato.
  • Map: Dizionario di coppie (nome, valore) per le proprietà. Può essere una tabella hash (creata con @{“name1” = “val1”; “name2” = “val2”}) o un dizionario di stringhe (creato con new-object “System.Collections.Generic.Dictionary[String, String]”). Le proprietà i cui nomi corrispondono alle chiavi nella mappa vengono rimosse.