Monitoraggio

Granularità e conservazione dei dati

Aggregazione dei valori dei dati

  • Il Servizio Monitor raccoglie vari dati, inclusi l’utilizzo delle sessioni utente, i dettagli sulle prestazioni di accesso utente, i dettagli sul bilanciamento del carico delle sessioni e le informazioni sui guasti di connessione e macchina. I dati vengono aggregati in modo diverso a seconda della loro categoria. Comprendere l’aggregazione dei valori dei dati presentati utilizzando le API del metodo OData è fondamentale per interpretare i dati. Ad esempio:

  • Le sessioni connesse e i guasti macchina si verificano in un determinato periodo. Pertanto, vengono esposti come massimi su un periodo di tempo.
  • La durata dell’accesso è una misura della lunghezza del tempo, pertanto viene esposta come media su un periodo di tempo.
  • Il conteggio degli accessi e i guasti di connessione sono conteggi di occorrenze su un periodo, pertanto vengono esposti come somme su un periodo di tempo.

  • Valutazione dei dati concorrenti

Le sessioni devono essere sovrapposte per essere considerate concorrenti. Tuttavia, quando l’intervallo di tempo è di 1 minuto, tutte le sessioni in quel minuto (indipendentemente dal fatto che si sovrappongano) sono considerate concorrenti. La dimensione dell’intervallo è così piccola che l’overhead di prestazioni coinvolto nel calcolo della precisione non giustifica il valore aggiunto. Se le sessioni si verificano nella stessa ora, ma non nello stesso minuto, non sono considerate sovrapposte.

  • Correlazione delle tabelle di riepilogo con i dati non elaborati

  • Il modello di dati rappresenta le metriche in due modi diversi:

  • Le tabelle di riepilogo rappresentano viste aggregate delle metriche con granularità temporali per minuto, ora e giorno.
  • I dati non elaborati rappresentano singoli eventi o lo stato corrente tracciato nella sessione, nella connessione, nell’applicazione e in altri oggetti.

  • Quando si tenta di correlare i dati tra le chiamate API o all’interno del modello di dati stesso, è importante comprendere i seguenti concetti e limitazioni:

  • Nessun dato di riepilogo per intervalli parziali. I riepiloghi delle metriche sono progettati per soddisfare le esigenze delle tendenze storiche su lunghi periodi. Queste metriche vengono aggregate nella tabella di riepilogo per intervalli completi. Non ci sono dati di riepilogo per un intervallo parziale all’inizio (dati più vecchi disponibili) della raccolta dati né alla fine. Quando si visualizzano aggregazioni di un giorno (Intervallo=1440), ciò significa che i primi e i più recenti giorni incompleti non hanno dati. Sebbene i dati non elaborati possano esistere per tali intervalli parziali, non vengono mai riepilogati. Estrarre i valori min e max di SummaryDate da una particolare tabella di riepilogo per determinare l’intervallo aggregato più vecchio e più recente per una particolare granularità dei dati. La colonna SummaryDate rappresenta l’inizio dell’intervallo. La colonna Granularity rappresenta la lunghezza dell’intervallo per i dati aggregati.
  • Correlazione per tempo. Le metriche vengono aggregate nella tabella di riepilogo per intervalli completi come descritto nella sezione precedente. Possono essere utilizzate per le tendenze storiche, ma gli eventi non elaborati potrebbero essere più attuali nello stato rispetto a quanto è stato riepilogato per l’analisi delle tendenze. Qualsiasi confronto basato sul tempo tra dati di riepilogo e dati non elaborati deve tenere conto del fatto che non ci sono dati di riepilogo per intervalli parziali che potrebbero verificarsi o per l’inizio e la fine del periodo di tempo.
  • Eventi persi e latenti. Le metriche aggregate nella tabella di riepilogo potrebbero essere leggermente imprecise se gli eventi vengono persi o sono latenti rispetto al periodo di aggregazione. Sebbene il Servizio Monitor tenti di mantenere uno stato corrente accurato, non torna indietro nel tempo per ricalcolare l’aggregazione nelle tabelle di riepilogo per eventi persi o latenti.
  • Alta disponibilità della connessione. Durante l’HA della connessione, ci sono lacune nei conteggi dei dati di riepilogo delle connessioni correnti, ma le istanze di sessione sono ancora in esecuzione nei dati non elaborati.
  • Periodi di conservazione dei dati. I dati nelle tabelle di riepilogo vengono conservati con un programma di pulizia diverso da quello per i dati degli eventi non elaborati. I dati potrebbero mancare perché sono stati rimossi dalle tabelle di riepilogo o non elaborate. I periodi di conservazione potrebbero anche differire per diverse granularità dei dati di riepilogo. I dati a granularità inferiore (minuti) vengono puliti più rapidamente dei dati a granularità superiore (giorni). Se i dati mancano da una granularità a causa della pulizia, potrebbero essere trovati in una granularità superiore. Poiché le chiamate API restituiscono solo la granularità specifica richiesta, la ricezione di nessun dato per una granularità non significa che i dati non esistano per una granularità superiore per lo stesso periodo di tempo.
  • Fusi orari. Le metriche vengono archiviate con timestamp UTC. Le tabelle di riepilogo vengono aggregate sui confini orari dei fusi orari. Per i fusi orari che non rientrano nei confini orari, potrebbe esserci una discrepanza su dove i dati vengono aggregati.

Granularità e conservazione

La granularità dei dati aggregati recuperati da Monitor è una funzione dell’intervallo di tempo (T) richiesto. Le regole sono le seguenti:

  • 0 < T <= 30 giorni: granularità oraria
  • T > 31 giorni: granularità giornaliera

I dati richiesti che non provengono da dati aggregati derivano dalle informazioni grezze di Sessione e Connessione. Questi dati tendono a crescere rapidamente e, pertanto, hanno una propria impostazione di pulizia (grooming). La pulizia garantisce che solo i dati rilevanti vengano conservati a lungo termine. Ciò assicura prestazioni migliori mantenendo la granularità richiesta per la reportistica.

# Nome impostazione Tabella dello schema interessata Tabelle e grafici interessati nelle pagine di Monitor Giorni di conservazione per Premium Giorni di conservazione per Advanced
1 GroomSessionsRetentionDays Tabelle MonitorData.Session e Monitordata.Connection Questa impostazione influisce sui dettagli della sessione, sulla durata del logon per sessione utente, sulle tabelle di utilizzo basato sull’applicazione nella pagina Tendenze. 90 31
2 GroomFailuresRetentionDays MonitorData.MachineFailureLog e MonitorData.ConnectionFailureLog Pagina Tendenze: Questa impostazione influisce sui grafici e sulle tabelle nella scheda errori. 90 31
3 GroomLoadIndexesRetentionDays MonitorData.LoadIndex Questa impostazione influisce sui dati visualizzati nella scheda “Indice valutatore di carico” nella pagina Tendenze. 3 3
4 GroomDeletedRetentionDays Entità MonitorData.Machine, MonitorData.Catalog, MonitorData.DesktopGroup e MonitorData.Hypervisor con LifecycleState “Deleted”. Questa impostazione elimina anche tutti i record correlati di Sessione, SessionDetail, Riepilogo, Errore o LoadIndex. Entità Machine, Catalog, DesktopGroup e Hypervisor con LifecycleState “Deleted”. Questa impostazione elimina anche tutti i record correlati di Sessione, SessionDetail, Riepilogo, Errore o LoadIndex. 90 31
5 GroomSummariesRetentionDays MonitorData.DesktopGroupSummary, MonitorData.FailureLogSummary e MonitorData.LoadIndexSummary Questa impostazione influisce su tutti i dati dei grafici nella pagina Tendenze. 365 31
6 GroomMachineHotfixLogRetentionDays MonitorData.Hotfix Questa impostazione influisce sui dati degli hotfix VDA mostrati nella pagina Dettagli macchina. 90 31
7 GroomHourlyRetentionDays tutte le tabelle di riepilogo Ciò influisce sui grafici settimanali mostrati nella pagina Tendenze. 32 31
8 GroomApplicationInstanceRetentionDays MonitorData.ApplicationInstance Questa impostazione influisce sul grafico e sulle tabelle nella scheda Gestione capacità e sulle tabelle di utilizzo dell’applicazione nella pagina Tendenze. 90 Non applicabile
9 GroomNotificationLogRetentionDays MonitorData.NotificationLog Questa impostazione influisce sugli avvisi mostrati su Monitor. 90 Non applicabile
  • 10 GroomResourceUsageRawDataRetentionDays MonitorData.Resourceutilization Questa impostazione influisce sui grafici CPU e Memoria visualizzati nella pagina Dettagli macchina “Utilizzo storico macchina” e sul calcolo dei dati nell’area Ottimizzazione costi “Scheda dimensionamento del carico di lavoro”. 3 3
    11 GroomResourceUsageHourDataRetentionDays MonitorData.Resourceutilizationsummary Questa impostazione influisce sui grafici CPU e Memoria visualizzati nella pagina Dettagli macchina “Utilizzo storico macchina” e sul calcolo dei dati nell’area Ottimizzazione costi “Scheda dimensionamento del carico di lavoro”. 30 30
  • 12 GroomResourceUsageDayDataRetentionDays MonitorData.Resourceutilizationsummary Questa impostazione influisce sul grafico CPU e Memoria visualizzato in “Utilizzo risorse” della macchina nella pagina Tendenze e nella pagina “Utilizzo macchina” per una macchina specifica. 365 31
    13 GroomProcessUsageRawDataRetentionDays MonitorData.ProcessUtilization Questa impostazione influisce sulle informazioni sulla tendenza delle risorse per processo mostrate nella pagina di utilizzo storico della macchina. 1 1
    14 GroomProcessUsageHourDataRetentionDays MonitorData.ProcessUtilizationHourSummary Questa impostazione influisce sulla tendenza di utilizzo di CPU e Memoria per processo mostrata nella pagina di utilizzo storico della macchina. 7 7
    15 GroomProcessUsageDayDataRetentionDays MonitorData.ProcessUtilizationDaySummary Questa impostazione influisce sulla tendenza di utilizzo di CPU e Memoria per processo mostrata nella pagina di utilizzo storico della macchina. 30 30
    16 GroomSessionMetricsDataRetentionDays MonitorData.Sessionmetrics Questa impostazione influisce su tutti i grafici visualizzati nella scheda “Prestazioni sessione” della pagina dei dettagli utente. 1 1
    17 GroomMachineMetricDataRetentionDays MonitorData.Machinemetrics Questa impostazione influisce sul grafico e sulla tabella nella scheda “Utilizzo risorse” nella pagina Tendenze. 3 3
    18 GroomMachineMetricDaySummaryDataRetentionDays MonitorData.MachineMetricDaySummary Questa impostazione influisce sul grafico e sulla tabella nella scheda “Utilizzo risorse” nella pagina Tendenze. 365 31
    19 GroomApplicationErrorsRetentionDays MonitorData.ApplicationError Questa impostazione influisce sui dettagli degli errori mostrati nella colonna “Errori applicazione” nella pagina Applicazioni. 1 1
    20 GroomApplicationFaultsRetentionDays MonitorData.Applicationfailure Questa impostazione influisce sulla colonna “Guasti applicazione” nella pagina Applicazioni. 1 1

Attenzione:

Non è possibile modificare i valori nel database del servizio Monitor.

La conservazione dei dati per lunghi periodi ha le seguenti implicazioni sulle dimensioni delle tabelle:

  • Dati orari. Se i dati orari possono rimanere nel database per un massimo di due anni, un sito con 1000 gruppi di consegna può causare la crescita del database come segue:

    1000 gruppi di consegna x 24 ore/giorno x 365 giorni/anno x 2 anni = 17.520.000 righe di dati. L’impatto sulle prestazioni di una quantità così elevata di dati nelle tabelle di aggregazione è significativo. Dato che i dati del dashboard sono estratti da questa tabella, i requisiti sul server di database potrebbero essere elevati. Quantità eccessivamente grandi di dati possono avere un impatto drammatico sulle prestazioni.

  • Dati di sessione ed evento. Questi sono i dati raccolti ogni volta che viene avviata una sessione e viene stabilita una connessione/riconnessione. Per un sito di grandi dimensioni (100.000 utenti), questi dati crescono rapidamente. Ad esempio, due anni di queste tabelle raccoglierebbero più di un TB di dati, richiedendo un database di livello enterprise di fascia alta.

Granularità e conservazione dei dati