Monitorar operações de dimensionamento automático com Insights na Área de Trabalho Virtual do Azure
O dimensionamento automático permite dimensionar suas VMs (máquinas virtuais) de host de sessão em um pool de host para cima ou para baixo, de acordo com o agendamento, para otimizar os custos de implantação. Os dados de diagnóstico do dimensionamento automático, integrados ao Insights na Área de Trabalho Virtual do Azure, permitem monitorar operações de escala, identificar problemas que precisam ser corrigidos e reconhecer oportunidades para otimizar a configuração do plano de escala para economizar custos.
Para saber mais sobre o dimensionamento automático, consulte Planos de escala de dimensionamento automático e cenários de exemplo e para Insights na Área de Trabalho Virtual do Azure, consulte Habilitar Insights para monitorar a Área de Trabalho Virtual do Azure.
Observação
Você só pode monitorar operações de dimensionamento automático com Insights com pools de host em pool. Para pools de hosts pessoais, você pode enviar logs de diagnóstico para dimensionamento automático a uma conta de armazenamento ou um Hub de Eventos. Para obter mais informações, consulte Configurar o diagnóstico para dimensionamento automático na Área de Trabalho Virtual do Azure.
Pré-requisitos
Antes de monitorar as operações de dimensionamento automático com o Insights, é necessário:
Um pool de host em pool com um plano de escala atribuído. Não há suporte para pools de host pessoais.
Insights configurados para o pool de host e seu workspace relacionado. Para saber como configurar o Insights, consulte Habilitar Insights para monitorar a Área de Trabalho Virtual do Azure.
Uma conta do Azure que recebe as seguintes funções de RBAC (controle de acesso baseado em função), dependendo do cenário:
Cenário Funções RBAC Escopo Defina as configurações de diagnóstico Colaborador de Virtualização da Área de Trabalho Atribuído no grupo de recursos ou assinatura para pools de host, workspaces e hosts de sessão. Exibir e consultar dados Leitor de Virtualização da Área de Trabalho
Leitor do Log Analytics– Leitor de Visualização da Área de Trabalho atribuído no grupo de recursos ou assinatura em que estão os pools de host, workspaces e hosts de sessão.
– Leitor do Log Analytics atribuído no workspace do Log Analytics usado para Insights da Área de Trabalho Virtual do Azure.11. Você também pode criar uma função personalizada para reduzir o escopo da atribuição no workspace do Log Analytics. Para obter mais informações, consulte Gerenciar o acesso a workspaces do Log Analytics.
Definir configurações de diagnóstico e verificar a configuração da pasta de trabalho do Insights
Primeiro, você precisa verificar se as configurações de diagnóstico estão configuradas para enviar os logs necessários do pool de host e do workspace para o workspace do Log Analytics.
Habilitar logs de dimensionamento automático para um pool de host
Além dos logs de pool de host existentes que você já está enviando para um workspace do Log Analytics, você também precisa enviar logs de dimensionamento automático para um pool de host:
Entre no portal do Azure.
Na barra de pesquisa, digite Área de Trabalho Virtual do Azure e selecione a entrada de serviço correspondente.
Na página de visão geral da Área de Trabalho Virtual do Azure, selecione Pools de host e, em seguida, selecione o pool de host em pool para o qual deseja habilitar logs de dimensionamento automático.
Na página de visão geral do pool de host, selecione Configurações de diagnóstico.
Selecione Adicionar configuração de diagnóstico ou selecione uma configuração de diagnóstico existente para editar.
Selecione as seguintes categorias como um mínimo. Se você já tiver algumas dessas categorias selecionadas para esse pool de host como parte dessa configuração de diagnóstico ou uma existente, não as selecione novamente, caso contrário, você receberá um erro ao salvar a configuração de diagnóstico.
- Ponto de verificação
- Erro
- Gerenciamento
- Conexão
- HostRegistration
- AgentHealthStatus
- Logs de dimensionamento automático para pools de host em pool
Para Detalhes do destino, selecione Enviar para o workspace do Log Analytics.
Selecione Salvar.
Verificar logs do workspace
Verifique se você já está enviando os logs necessários para um workspace para um workspace do Log Analytics:
Na página de visão geral da Área de Trabalho Virtual do Azure, selecione Workspaces e, em seguida, selecione o workspace relacionado para o pool de host que você está monitorando.
Na página de visão geral do workspace, selecione Configurações de diagnóstico.
Selecione Editar configuração.
Verifique se as categorias estão habilitadas.
- Ponto de verificação
- Erro
- Gerenciamento
- Feed
Para Detalhes do destino, verifique se você está enviando dados para o mesmo workspace do Log Analytics como o pool de host.
Se tiver feito alterações, selecione Salvar.
Verificar a configuração da pasta de trabalho do Insights
Você precisa verificar se a pasta de trabalho do Insights está configurada corretamente para o pool de host:
Na página de visão geral da Área de Trabalho Virtual do Azure, selecione Pools de host e, em seguida, o pool de host em pool que você está monitorando.
Na página de visão geral do pool de host, selecione Insights se você estiver usando o Agente do Azure Monitor em seus hosts de sessão ou Insights (Herdado) se estiver usando o Agente do Log Analytics em seus hosts de sessão.
Verifique se não há problemas de configuração pendentes. Se houver, você verá mensagens como:
- O Azure Monitor não está configurado para hosts de sessão.
- O Azure Monitor não está configurado para o pool de host do AVD selecionado.
- Há hosts de sessão que não estão enviando dados para o workspace do Log Analytics esperado.
Você precisa concluir a configuração na pasta de trabalho relevante para resolver esses problemas. Para obter mais informações, consulte Habilitar o Insights para monitorar a Área de Trabalho Virtual do Azure. Quando não houver problemas de configuração, o Insights deve estar semelhante à imagem a seguir:
Exibir insights de dimensionamento automático
Depois de definir as configurações de diagnóstico e verificar a configuração da pasta de trabalho do Insights, você poderá exibir insights de dimensionamento automático:
Na página de visão geral da Área de Trabalho Virtual do Azure, selecione Pools de host e, em seguida, selecione o pool de host em pool para o qual você deseja exibir insights de dimensionamento automático.
Na página de visão geral do pool de host, selecione Insights se você estiver usando o Agente do Azure Monitor em seus hosts de sessão ou Insights (Herdado) se estiver usando o Agente do Log Analytics em seus hosts de sessão.
Selecione Dimensionamento automático na linha de guias. Dependendo da largura da tela, talvez seja necessário selecionar o botão reticências ... para mostrar a lista completa com Dimensionamento automático.
O Insights mostra informações sobre as operações de dimensionamento automático para o pool de host, como um gráfico da alteração no estado de energia dos hosts de sessão no pool de host ao longo do tempo e informações resumidas.
Consultas para dados de dimensionamento automático no Log Analytics
Para obter informações adicionais sobre operações de dimensionamento automático, você pode executar consultas nos dados no Log Analytics. Os dados são gravados na tabela WVDAutoscaleEvaluationPooled
. As seções a seguir contêm o esquema e algumas consultas de exemplo. Para saber como executar consultas no Log Analytics, consulte Tutorial do Log Analytics.
Esquema WVDAutoscaleEvaluationPooled
A tabela a seguir detalha o esquema da tabela WVDAutoscaleEvaluationPooled
, que contém os resultados de uma avaliação de plano de escala de dimensionamento automático em um pool de host. As informações incluem as ações que o dimensionamento automático executou nos hosts de sessão, como iniciá-los ou desalocá-los e por que ele realizou essas ações. As entradas que começam com Config
contêm os valores de configuração do plano de escala para uma fase de agendamento de dimensionamento automático. Se o valor ResultType
for Failed, ingresse na tabela WVDErrors
usando CorrelationId
para obter mais detalhes.
Nome | Tipo | Descrição |
---|---|---|
ActiveSessionHostCount |
Int | Número de hosts de sessão que aceitam conexões de usuário. |
ActiveSessionHostsPercent |
Double | Porcentagem de hosts de sessão no pool de host considerados ativos pelo dimensionamento automático. |
ConfigCapacityThresholdPercent |
Double | Porcentagem limite de capacidade. |
ConfigMinActiveSessionHostsPercent |
Double | Porcentagem mínima de hosts de sessão que devem estar ativos. |
ConfigScheduleName |
String | Nome do agendamento usado na avaliação. |
ConfigSchedulePhase |
String | Fase de agendamento no momento da avaliação. |
CorrelationId |
String | Um GUID gerado para esta avaliação de dimensionamento automático. |
ExcludedSessionHostCount |
Int | Número de hosts de sessão excluídos do gerenciamento de dimensionamento automático. |
MaxSessionLimitPerSessionHost |
Int | O valor MaxSessionLimit definido no pool de host. Esse valor é o número máximo de sessões de usuário permitidas por host de sessão. |
Properties |
Dinâmico | Informações adicionais. |
ResultType |
String | Status deste evento de avaliação. |
ScalingEvaluationStartTime |
Datetime | O carimbo de data/hora (UTC) quando a avaliação de dimensionamento automático foi iniciada. |
ScalingPlanResourceId |
String | ID do recurso do plano de escala de dimensionamento automático. |
ScalingReasonMessage |
String | As ações que o dimensionamento automático decidiu executar e por que as realizou. |
SessionCount |
Int | Número de sessões de usuário; somente as sessões de usuário de hosts de sessão consideradas ativas pelo dimensionamento automático são incluídas. |
SessionOccupancyPercent |
Double | Porcentagem da capacidade do host de sessão ocupada por sessões de usuário. |
TimeGenerated |
Datetime | O carimbo de data/hora (UTC) desse evento foi gerado. |
TotalSessionHostCount |
Int | Número de hosts de sessão no pool de host. |
UnhealthySessionHostCount |
Int | Número de hosts de sessão em um estado com falha. |
Exemplo de dados
A consulta a seguir retorna as 10 linhas de dados mais recentes para dimensionamento automático:
WVDAutoscaleEvaluationPooled
| take 10
Avaliações com falha com WVDErrors
A consulta a seguir correlaciona as tabelas WVDAutoscaleEvaluationPooled
e WVDErrors
e retorna entradas em que a coluna ServiceError
no WVDErrors
é false:
A consulta a seguir retorna avaliações de dimensionamento automático que falharam, incluindo aquelas que falharam parcialmente. A consulta também se une a WVDErrors
para fornecer mais detalhes de falha quando disponível. As entradas correspondentes em WVDErrors
contêm apenas resultados em que ServiceError
é false:
WVDAutoscaleEvaluationPooled
| where ResultType != "Succeeded"
| join kind=leftouter WVDErrors
on CorrelationId
| order by _ResourceId asc, TimeGenerated asc, CorrelationId, TimeGenerated1 asc
Iniciar, desalocar e forçar operações de logoff
A consulta a seguir retorna o número de tentativas de operações de início do host da sessão, desalocação do host da sessão e logoff forçado de sessão do usuário por pool de host, nome do agendamento, fase do agendamento e dia:
WVDAutoscaleEvaluationPooled
| where ResultType == "Succeeded"
| extend properties = parse_json(Properties)
| extend BeganStartVmCount = toint(properties.BeganStartVmCount)
| extend BeganDeallocateVmCount = toint(properties.BeganDeallocateVmCount)
| extend BeganForceLogoffOnSessionHostCount = toint(properties.BeganForceLogoffOnSessionHostCount)
| summarize sum(BeganStartVmCount), sum(BeganDeallocateVmCount), sum(BeganForceLogoffOnSessionHostCount) by _ResourceId, bin(TimeGenerated, 1d), ConfigScheduleName, ConfigSchedulePhase
| order by _ResourceId asc, TimeGenerated asc, ConfigScheduleName, ConfigSchedulePhase asc
Máximo de ocupação de sessão e hosts de sessão ativos
A consulta a seguir retorna a porcentagem máxima de ocupação da sessão, contagem de sessão, porcentagem de hosts de sessão ativos e contagem de hosts de sessão ativos por pool de host, nome do agendamento, fase do agendamento e dia:
WVDAutoscaleEvaluationPooled
| where ResultType == "Succeeded"
| summarize max(SessionOccupancyPercent), max(SessionCount), max(ActiveSessionHostsPercent), max(ActiveSessionHostCount) by _ResourceId, bin(TimeGenerated, 1d), ConfigScheduleName, ConfigSchedulePhase
| order by _ResourceId asc, TimeGenerated asc, ConfigScheduleName, ConfigSchedulePhase asc
Conteúdo relacionado
Para obter mais informações sobre quando os dados de log são disponibilizados após a coleta, consulte Tempo de ingestão de dados no Azure Monitor.