Granularidade e retenção de dados
Agregação de valores de dados
O Serviço Monitor coleta vários dados, incluindo uso de sessão de usuário, detalhes de desempenho de logon de usuário, detalhes de balanceamento de carga de sessão e informações de falha de conexão e máquina. Os dados são agregados de forma diferente dependendo de sua categoria. Compreender a agregação de valores de dados apresentados usando as APIs de Método OData
é fundamental para interpretar os dados. Por exemplo:
- Sessões Conectadas e Falhas de Máquina ocorrem durante um período. Portanto, são expostas como máximos ao longo de um período de tempo.
- Duração do Logon é uma medida do tempo, portanto, é exposta como uma média ao longo de um período de tempo.
- Contagem de Logon e Falhas de Conexão são contagens de ocorrências ao longo de um período, portanto, são expostas como somas ao longo de um período de tempo.
Avaliação de dados simultâneos
Suas sessões devem se sobrepor para serem consideradas simultâneas. No entanto, quando o intervalo de tempo é de 1 minuto, todas as sessões nesse minuto (independentemente de se sobreporem) são consideradas simultâneas. O tamanho do intervalo é tão pequeno que a sobrecarga de desempenho envolvida no cálculo da precisão não compensa o valor adicionado. Se as sessões ocorrerem na mesma hora, mas não no mesmo minuto, elas não são consideradas sobrepostas.
Correlação de tabelas de resumo com dados brutos
O modelo de dados representa métricas de duas maneiras diferentes:
- As tabelas de resumo representam visualizações agregadas das métricas em granularidades de tempo por minuto, hora e dia.
- Os dados brutos representam eventos individuais ou o estado atual rastreado na sessão, conexão, aplicativo e outros objetos.
Ao tentar correlacionar dados entre chamadas de API ou dentro do próprio modelo de dados, é importante entender os seguintes conceitos e limitações:
-
Sem dados de resumo para intervalos parciais. Os resumos de métricas são projetados para atender às necessidades de tendências históricas ao longo de longos períodos. Essas métricas são agregadas na tabela de resumo para intervalos completos. Não há dados de resumo para um intervalo parcial no início (dados mais antigos disponíveis) da coleta de dados nem no final. Ao visualizar agregações de um dia (
Interval=1440
), isso significa que os primeiros e os mais recentes dias incompletos não têm dados. Embora dados brutos possam existir para esses intervalos parciais, eles nunca são resumidos. Obtenha oSummaryDate
mínimo e máximo de uma tabela de resumo específica para determinar o intervalo agregado mais antigo e mais recente para uma granularidade de dados específica. A colunaSummaryDate
representa o início do intervalo. A colunaGranularity
representa a duração do intervalo para os dados agregados. - Correlação por tempo. As métricas são agregadas na tabela de resumo para intervalos completos, conforme descrito na seção anterior. Elas podem ser usadas para tendências históricas, mas eventos brutos podem estar mais atualizados no estado do que o que foi resumido para análise de tendências. Qualquer comparação baseada em tempo de dados de resumo com dados brutos deve levar em consideração que não há dados de resumo para intervalos parciais que possam ocorrer ou para o início e o fim do período de tempo.
- Eventos perdidos e latentes. As métricas que são agregadas na tabela de resumo podem ser ligeiramente imprecisas se os eventos forem perdidos ou latentes para o período de agregação. Embora o Serviço Monitor tente manter um estado atual preciso, ele não volta no tempo para recalcular a agregação nas tabelas de resumo para eventos perdidos ou latentes.
- Alta Disponibilidade de Conexão. Durante a HA de conexão, há lacunas nas contagens de dados de resumo das conexões atuais, mas as instâncias de sessão ainda estão em execução nos dados brutos.
- Períodos de retenção de dados. Os dados nas tabelas de resumo são retidos em um cronograma de limpeza diferente do cronograma para dados de eventos brutos. Os dados podem estar ausentes porque foram removidos das tabelas de resumo ou brutas. Os períodos de retenção também podem diferir para diferentes granularidades de dados de resumo. Dados de granularidade mais baixa (minutos) são limpos mais rapidamente do que dados de granularidade mais alta (dias). Se os dados estiverem ausentes de uma granularidade devido à limpeza, eles poderão ser encontrados em uma granularidade mais alta. Como as chamadas de API retornam apenas a granularidade específica solicitada, não receber dados para uma granularidade não significa que os dados não existam para uma granularidade mais alta para o mesmo período de tempo.
- Fusos horários. As métricas são armazenadas com carimbos de data/hora UTC. As tabelas de resumo são agregadas em limites de fuso horário por hora. Para fusos horários que não se enquadram nos limites por hora, pode haver alguma discrepância quanto ao local onde os dados são agregados.
Granularidade e retenção
A granularidade dos dados agregados recuperados pelo Monitor é uma função do período de tempo (T
) solicitado. As regras são as seguintes:
- 0 <
T
<= 30 dias usa granularidade por hora -
T
> 31 dias usa granularidade por dia
Os dados solicitados que não vêm de dados agregados vêm das informações brutas de Sessão e Conexão. Esses dados tendem a crescer rapidamente e, portanto, têm sua própria configuração de limpeza. A limpeza garante que apenas dados relevantes sejam mantidos a longo prazo. Isso garante melhor desempenho, mantendo a granularidade necessária para relatórios.
# | Nome da configuração | Tabela de esquema impactada | Tabelas e Gráficos impactados nas páginas do Monitor | Dias de retenção para Premium | Dias de retenção para Advanced |
---|---|---|---|---|---|
1 | GroomSessionsRetentionDays |
MonitorData.Session e Monitordata.Connection tables |
Esta configuração afeta os detalhes da sessão, Duração do Logon por Sessão de Usuário, tabelas de Uso Baseado em Aplicativo na página Tendências. | 90 | 31 |
2 | GroomFailuresRetentionDays |
MonitorData.MachineFailureLog e MonitorData.ConnectionFailureLog
|
Página Tendências: Esta configuração afeta gráficos e tabelas na guia de falhas. | 90 | 31 |
3 | GroomLoadIndexesRetentionDays |
MonitorData.LoadIndex |
Esta configuração afeta os dados exibidos na guia “Índice do Avaliador de Carga” na página Tendências. | 3 | 3 |
4 | GroomDeletedRetentionDays |
MonitorData.Machine , MonitorData.Catalog , MonitorData.DesktopGroup e entidades MonitorData.Hypervisor que têm um LifecycleState de ‘Deleted ’. Esta configuração também exclui quaisquer registros relacionados de Session , SessionDetail , Summary , Failure ou LoadIndex . |
Entidades Máquina, Catálogo, Grupo de Área de Trabalho e Hypervisor que têm um LifecycleState de ‘Deleted ’. Esta configuração também exclui quaisquer registros relacionados de Sessão, Detalhe de Sessão, Resumo, Falha ou Índice de Carga. |
90 | 31 |
5 | GroomSummariesRetentionDays |
MonitorData.DesktopGroupSummary , MonitorData.FailureLogSummary e MonitorData.LoadIndexSummary
|
Esta configuração afeta todos os dados de gráfico na página Tendências. | 365 | 31 |
6 | GroomMachineHotfixLogRetentionDays |
MonitorData.Hotfix |
Esta configuração afeta os dados de hotfix do VDA mostrados na página Detalhes da Máquina. |
90 | 31 |
7 | GroomHourlyRetentionDays |
todas as tabelas de Resumo | Isso afeta os gráficos semanais mostrados na página Tendências. | 32 | 31 |
8 | GroomApplicationInstanceRetentionDays |
MonitorData.ApplicationInstance |
Esta configuração afeta o gráfico e as tabelas na guia Gerenciamento de capacidade e as tabelas de uso de aplicativo na página Tendências. | 90 | Não aplicável |
9 | GroomNotificationLogRetentionDays |
MonitorData.NotificationLog |
Esta configuração afeta os Alertas mostrados no Monitor. | 90 | Não aplicável |
10 | GroomResourceUsageRawDataRetentionDays |
MonitorData.Resourceutilization |
Esta configuração afeta os gráficos de CPU e Memória vistos na página Detalhes da Máquina em “Utilização Histórica da Máquina” e o cálculo de dados na área de Otimização de Custos na guia “Dimensionamento de Carga de Trabalho”. | 3 | 3 |
11 | GroomResourceUsageHourDataRetentionDays |
MonitorData.Resourceutilizationsummary |
Esta configuração afeta os gráficos de CPU e Memória vistos na página Detalhes da Máquina em “Utilização Histórica da Máquina” e o cálculo de dados na área de Otimização de Custos na guia “Dimensionamento de Carga de Trabalho”. | 30 | 30 |
12 | GroomResourceUsageDayDataRetentionDays |
MonitorData.Resourceutilizationsummary |
Esta configuração afeta o gráfico de CPU e Memória visto em “Utilização de recursos” da Máquina na página Tendências e na página “Utilização da máquina” para uma máquina específica. | 365 | 31 |
13 | GroomProcessUsageRawDataRetentionDays |
MonitorData.ProcessUtilization |
Esta configuração afeta as informações de tendência de recursos por processo mostradas na página de uso histórico da máquina. | 1 | 1 |
14 | GroomProcessUsageHourDataRetentionDays |
MonitorData.ProcessUtilizationHourSummary |
Esta configuração afeta a tendência de uso de CPU e Memória por processo mostrada na página de uso histórico da máquina. | 7 | 7 |
15 | GroomProcessUsageDayDataRetentionDays |
MonitorData.ProcessUtilizationDaySummary |
Esta configuração afeta a tendência de uso de CPU e Memória por processo mostrada na página de uso histórico da máquina. | 30 | 30 |
16 | GroomSessionMetricsDataRetentionDays |
MonitorData.Sessionmetrics |
Esta configuração afeta todos os gráficos vistos na guia “Desempenho da Sessão” da página de detalhes do usuário. | 1 | 1 |
17 | GroomMachineMetricDataRetentionDays |
MonitorData.Machinemetrics |
Esta configuração afeta o gráfico e a tabela na guia “Utilização de Recursos” na página Tendências. | 3 | 3 |
18 | GroomMachineMetricDaySummaryDataRetentionDays |
MonitorData.MachineMetricDaySummary |
Esta configuração afeta o gráfico e a tabela na guia “Utilização de Recursos” na página Tendências. | 365 | 31 |
19 | GroomApplicationErrorsRetentionDays |
MonitorData.ApplicationError |
Esta configuração afeta os detalhes de erro mostrados na coluna “Erros de Aplicativo” na página Aplicativos. | 1 | 1 |
20 | GroomApplicationFaultsRetentionDays |
MonitorData.Applicationfailure |
Esta configuração afeta a coluna “Falhas de Aplicativo” na página Aplicativos. | 1 | 1 |
Cuidado:
Você não pode modificar os valores no banco de dados do Serviço Monitor.
Reter dados por longos períodos tem as seguintes implicações no tamanho das tabelas:
-
Dados por hora. Se os dados por hora puderem permanecer no banco de dados por até dois anos, um site com 1000 grupos de entrega pode fazer com que o banco de dados cresça da seguinte forma:
1000 grupos de entrega x 24 horas/dia x 365 dias/ano x dois anos = 17.520.000 linhas de dados. O impacto no desempenho de uma quantidade tão grande de dados nas tabelas de agregação é significativo. Dado que os dados do painel são extraídos desta tabela, os requisitos no servidor de banco de dados podem ser grandes. Quantidades excessivamente grandes de dados podem ter um impacto dramático no desempenho.
-
Dados de sessão e evento. Estes são os dados coletados toda vez que uma sessão é iniciada e uma conexão/reconexão é feita. Para um site grande (100 mil usuários), esses dados crescem rapidamente. Por exemplo, dois anos de dados dessas tabelas acumulariam mais de 1 TB de dados, exigindo um banco de dados de nível empresarial de alto desempenho.