Monitorizar o Site Recovery com os Registos do Azure Monitor
Este artigo descreve como monitorar máquinas replicadas pelo Azure Site Recovery, usando o Azure Monitor Logs e o Log Analytics.
Os Logs do Azure Monitor fornecem uma plataforma de dados de log que coleta logs de atividade e recursos, juntamente com outros dados de monitoramento. Nos Logs do Azure Monitor, você usa o Log Analytics para escrever e testar consultas de log e analisar dados de log interativamente. Você pode visualizar e consultar os resultados do log e configurar alertas para executar ações com base nos dados monitorados.
Para o Site Recovery, você pode usar os Logs do Azure Monitor para ajudá-lo a fazer o seguinte:
- Monitore a integridade e o status da Recuperação de Site. Por exemplo, você pode monitorar a integridade da replicação, testar o status de failover, eventos de Recuperação de Site, RPOs (Recovery Point Objetives, objetivos de ponto de recuperação) para máquinas protegidas e taxas de alteração de disco/dados.
- Configure alertas para o Site Recovery. Por exemplo, você pode configurar alertas para a integridade da máquina, o status de failover de teste ou o status do trabalho de Recuperação de Site.
O uso dos Logs do Azure Monitor com Recuperação de Site tem suporte para replicação do Azure para Azure e máquina virtual/servidor físico VMware para replicação do Azure .
Nota
Para obter os logs de dados de rotatividade e os logs de taxa de upload para VMware e máquinas físicas, você precisa instalar um agente de monitoramento da Microsoft no Process Server. Esse agente envia os logs das máquinas replicantes para o espaço de trabalho. Esse recurso está disponível apenas para a versão 9.30 do agente de mobilidade em diante.
Pré-requisitos
Eis do que precisa:
- Pelo menos uma máquina está protegida em um cofre dos Serviços de Recuperação.
- Um espaço de trabalho do Log Analytics para armazenar logs de Recuperação de Site. Saiba mais sobre como configurar um espaço de trabalho.
- Uma compreensão básica de como escrever, executar e analisar consultas de log no Log Analytics. Mais informações.
Recomendamos que você revise as perguntas comuns de monitoramento antes de começar.
Logs de eventos disponíveis para o Azure Site Recovery
O Azure Site Recovery fornece as seguintes tabelas herdadas e específicas de recursos. Cada evento fornece dados detalhados sobre um conjunto específico de artefatos relacionados à recuperação de site.
Tabelas específicas de recursos:
Tabelas herdadas:
- Eventos do Azure Site Recovery
- Itens replicados do Azure Site Recovery
- Estatísticas de replicação do Azure Site Recovery
- Pontos de recuperação de site do Azure
- Taxa de carregamento de dados de replicação do Azure Site Recovery
- Azure Site Recovery Protected Disk Data Churn
- Detalhes do Item Replicado do Azure Site Recovery
Configurar a Recuperação de Site para enviar logs
No cofre, selecione Configurações de diagnóstico>Adicionar configuração de diagnóstico.
Em Configurações de diagnóstico, especifique um nome e marque a caixa Enviar para o Log Analytics.
Selecione a assinatura do Azure Monitor Logs e o espaço de trabalho do Log Analytics.
Selecione Diagnóstico do Azure na alternância.
Na lista de logs, selecione todos os logs com o prefixo AzureSiteRecovery. Em seguida, selecione OK.
Os logs do Site Recovery começam a alimentar uma tabela (AzureDiagnostics) no espaço de trabalho selecionado.
Configurar o agente de monitoramento da Microsoft no Process Server para enviar logs de taxa de rotatividade e upload
Você pode capturar as informações da taxa de rotatividade de dados e as informações da taxa de carregamento de dados de origem para suas máquinas VMware/físicas no local. Para habilitar isso, um agente de monitoramento da Microsoft é necessário para ser instalado no Process Server.
Vá para o espaço de trabalho do Log Analytics e selecione Configurações avançadas.
Selecione a página Fontes Conectadas e selecione Servidores Windows.
Baixe o Windows Agent (64 bits) no Process Server.
Conclua a instalação do agente fornecendo o ID e a chave do espaço de trabalho obtidos.
Quando a instalação estiver concluída, vá para o espaço de trabalho do Log Analytics e selecione Gerenciamento de agentes herdados. Vá para a página Dados e selecione Contadores de Desempenho do Windows.
Selecione '+' para adicionar os seguintes dois contadores com um intervalo de amostra de 300 segundos:
- ASRAnalytics(*)\SourceVmChurnRate
- ASRAnalytics(*)\SourceVmThrpRate
Os dados de rotatividade e taxa de upload começarão a alimentar o espaço de trabalho.
Os seguintes contadores de Recuperação de Site não podem ser pesquisados atualmente:
- ASRAnalytics(*)\SourceVmChurnRate
- ASRAnalytics(*)\SourceVmThrpRate
No entanto, eles podem ser adicionados colando os nomes na íntegra.
ASRAnalytics(*)\SourceVmChurnRate
Fornece informações sobre a taxa de rotatividade para máquinas virtuais replicadas.ASRAnalytics(*)\SourceVmThrpRate
Representa a taxa de transferência para máquinas virtuais replicadas que é um indicador da velocidade de transferência de dados entre a origem e o destino durante a replicação.
Consultar os logs - exemplos
Você recupera dados de logs usando consultas de log escritas com a linguagem de consulta Kusto. Esta seção fornece alguns exemplos de consultas comuns que você pode usar para o monitoramento da Recuperação de Site.
Nota
Alguns dos exemplos usam replicationProviderName_s definido como A2A. Isso recupera máquinas virtuais do Azure que são replicadas para uma região secundária do Azure usando o Site Recovery. Nesses exemplos, você pode substituir A2A por InMageRcm, se quiser recuperar máquinas virtuais VMware locais ou servidores físicos replicados para o Azure usando o Site Recovery.
Estado de funcionamento da replicação de consultas
Esta consulta plota um gráfico circular para o estado de funcionamento da replicação atual de todas as máquinas virtuais do Azure protegidas, dividido em três estados: Normal, Aviso ou Crítico.
AzureDiagnostics
| where replicationProviderName_s == "A2A"
| where isnotempty(name_s) and isnotnull(name_s)
| summarize hint.strategy=partitioned arg_max(TimeGenerated, *) by name_s
| project name_s , replicationHealth_s
| summarize count() by replicationHealth_s
| render piechart
Versão do serviço Query Mobility
Esta consulta plota um gráfico circular para máquinas virtuais do Azure replicadas com o Site Recovery, discriminado pela versão do agente de Mobilidade que estão a executar.
AzureDiagnostics
| where replicationProviderName_s == "A2A"
| where isnotempty(name_s) and isnotnull(name_s)
| summarize hint.strategy=partitioned arg_max(TimeGenerated, *) by name_s
| project name_s , agentVersion_s
| summarize count() by agentVersion_s
| render piechart
Tempo de RPO de consulta
Esta consulta plota um gráfico de barras de máquinas virtuais do Azure replicadas com o Site Recovery, dividido por RPO (Recovery Point Objetive): menos de 15 minutos, entre 15 e 30 minutos, mais de 30 minutos.
AzureDiagnostics
| where replicationProviderName_s == "A2A"
| where isnotempty(name_s) and isnotnull(name_s)
| extend RPO = case(rpoInSeconds_d <= 900, "<15Min",
rpoInSeconds_d <= 1800, "15-30Min", ">30Min")
| summarize hint.strategy=partitioned arg_max(TimeGenerated, *) by name_s
| project name_s , RPO
| summarize Count = count() by RPO
| render barchart
Trabalhos de Recuperação de Site de Consulta
Essa consulta recupera todos os trabalhos de Recuperação de Site (para todos os cenários de recuperação de desastres), acionados nas últimas 72 horas, e seu estado de conclusão.
AzureDiagnostics
| where Category == "AzureSiteRecoveryJobs"
| where TimeGenerated >= ago(72h)
| project JobName = OperationName , VaultName = Resource , TargetName = affectedResourceName_s, State = ResultType
Eventos de Recuperação de Site de Consulta
Essa consulta recupera todos os eventos de Recuperação de Site (para todos os cenários de recuperação de desastres) gerados nas últimas 72 horas, juntamente com sua gravidade.
AzureDiagnostics
| where Category == "AzureSiteRecoveryEvents"
| where TimeGenerated >= ago(72h)
| project AffectedObject=affectedResourceName_s , VaultName = Resource, Description_s = healthErrors_s , Severity = Level
Estado de failover do teste de consulta (gráfico de pizza)
Esta consulta plota um gráfico de pizza para o status de failover de teste de máquinas virtuais do Azure replicadas com o Site Recovery.
AzureDiagnostics
| where replicationProviderName_s == "A2A"
| where isnotempty(name_s) and isnotnull(name_s)
| where isnotempty(failoverHealth_s) and isnotnull(failoverHealth_s)
| summarize hint.strategy=partitioned arg_max(TimeGenerated, *) by name_s
| project name_s , Resource, failoverHealth_s
| summarize count() by failoverHealth_s
| render piechart
Estado de failover do teste de consulta (tabela)
Esta consulta plota uma tabela para o status de failover de teste de máquinas virtuais do Azure replicadas com o Site Recovery.
AzureDiagnostics
| where replicationProviderName_s == "A2A"
| where isnotempty(name_s) and isnotnull(name_s)
| where isnotempty(failoverHealth_s) and isnotnull(failoverHealth_s)
| summarize hint.strategy=partitioned arg_max(TimeGenerated, *) by name_s
| project VirtualMachine = name_s , VaultName = Resource , TestFailoverStatus = failoverHealth_s
RPO da máquina de consulta
Esta consulta plota um gráfico de tendência que rastreia o RPO de uma máquina virtual específica do Azure (ContosoVM123) nas últimas 72 horas.
AzureDiagnostics
| where replicationProviderName_s == "A2A"
| where TimeGenerated > ago(72h)
| where isnotempty(name_s) and isnotnull(name_s)
| where name_s == "ContosoVM123"
| project TimeGenerated, name_s , RPO_in_seconds = rpoInSeconds_d
| render timechart
Taxa de alteração de dados de consulta (rotatividade) e taxa de carregamento para uma máquina virtual do Azure
Esta consulta plota um gráfico de tendência para uma máquina virtual específica do Azure (ContosoVM123), que representa a taxa de alteração de dados (Bytes de Gravação por Segundo) e a taxa de carregamento de dados.
AzureDiagnostics
| where Category in ("AzureSiteRecoveryProtectedDiskDataChurn", "AzureSiteRecoveryReplicationDataUploadRate")
| extend CategoryS = case(Category contains "Churn", "DataChurn",
Category contains "Upload", "UploadRate", "none")
| extend InstanceWithType=strcat(CategoryS, "_", InstanceName_s)
| where TimeGenerated > ago(24h)
| where InstanceName_s startswith "ContosoVM123"
| project TimeGenerated , InstanceWithType , Churn_MBps = todouble(Value_s)/1048576
| render timechart
Taxa de alteração de dados de consulta (rotatividade) e taxa de upload para um VMware ou máquina física
Nota
Certifique-se de configurar o agente de monitoramento no Process Server para buscar esses logs. Consulte as etapas para configurar o agente de monitoramento.
Esta consulta plota um gráfico de tendência para um disco específico, disk0, de um item replicado, win-9r7sfh9qlru, que representa a taxa de alteração de dados (Write Bytes per Second) e a taxa de upload de dados. Você pode encontrar o nome do disco na folha Discos do item replicado no cofre dos serviços de recuperação. O nome da instância a ser usado na consulta é o nome DNS da máquina seguido por _ e o nome do disco como neste exemplo.
Perf
| where ObjectName == "ASRAnalytics"
| where InstanceName contains "win-9r7sfh9qlru_disk0"
| where TimeGenerated >= ago(4h)
| project TimeGenerated ,CounterName, Churn_MBps = todouble(CounterValue)/5242880
| render timechart
O Process Server envia esses dados a cada 5 minutos para o espaço de trabalho do Log Analytics. Estes pontos de dados representam a média calculada durante 5 minutos.
Consultar resumo de recuperação de desastres (Azure para Azure)
Esta consulta plota uma tabela de resumo para máquinas virtuais do Azure replicadas para uma região secundária do Azure. Ele mostra o nome da máquina virtual, a replicação e o status de proteção, o RPO, o status de failover de teste, a versão do agente de mobilidade, quaisquer erros de replicação ativos e o local de origem.
AzureDiagnostics
| where replicationProviderName_s == "A2A"
| where isnotempty(name_s) and isnotnull(name_s)
| summarize hint.strategy=partitioned arg_max(TimeGenerated, *) by name_s
| project VirtualMachine = name_s , Vault = Resource , ReplicationHealth = replicationHealth_s, Status = protectionState_s, RPO_in_seconds = rpoInSeconds_d, TestFailoverStatus = failoverHealth_s, AgentVersion = agentVersion_s, ReplicationError = replicationHealthErrors_s, SourceLocation = primaryFabricName_s
Consultar resumo de recuperação de desastres (VMware/servidores físicos)
Esta consulta plota uma tabela de resumo para máquinas virtuais VMware e servidores físicos replicados para o Azure. Ele mostra o nome da máquina, o status de replicação e proteção, o RPO, o status de failover de teste, a versão do agente de mobilidade, quaisquer erros de replicação ativos e o servidor de processo relevante.
AzureDiagnostics
| where replicationProviderName_s == "InMageRcm"
| where isnotempty(name_s) and isnotnull(name_s)
| summarize hint.strategy=partitioned arg_max(TimeGenerated, *) by name_s
| project VirtualMachine = name_s , Vault = Resource , ReplicationHealth = replicationHealth_s, Status = protectionState_s, RPO_in_seconds = rpoInSeconds_d, TestFailoverStatus = failoverHealth_s, AgentVersion = agentVersion_s, ReplicationError = replicationHealthErrors_s, ProcessServer = processServerName_g
Configurar alertas - exemplos
Você pode configurar alertas do Site Recovery com base nos dados do Azure Monitor. Saiba mais sobre como configurar alertas de log.
Nota
Alguns dos exemplos usam replicationProviderName_s definido como A2A. Isso define alertas para máquinas virtuais do Azure que são replicadas para uma região secundária do Azure. Nesses exemplos, você pode substituir A2A por InMageRcm se quiser definir alertas para máquinas virtuais VMware locais ou servidores físicos replicados para o Azure.
Várias máquinas em estado crítico
Configure um alerta se mais de 20 máquinas virtuais replicadas do Azure entrarem em um estado Crítico.
AzureDiagnostics
| where replicationProviderName_s == "A2A"
| where replicationHealth_s == "Critical"
| where isnotempty(name_s) and isnotnull(name_s)
| summarize hint.strategy=partitioned arg_max(TimeGenerated, *) by name_s
| summarize count()
Para o alerta, defina Valor de limite como 20
.
Máquina única em estado crítico
Configure um alerta se uma máquina virtual replicada específica do Azure entrar em um estado Crítico.
AzureDiagnostics
| where replicationProviderName_s == "A2A"
| where replicationHealth_s == "Critical"
| where name_s == "ContosoVM123"
| where isnotempty(name_s) and isnotnull(name_s)
| summarize hint.strategy=partitioned arg_max(TimeGenerated, *) by name_s
| summarize count()
Para o alerta, defina Valor de limite como 1
.
Várias máquinas excedem o RPO
Configure um alerta se o RPO para mais de 20 máquinas virtuais do Azure exceder 30 minutos.
AzureDiagnostics
| where replicationProviderName_s == "A2A"
| where isnotempty(name_s) and isnotnull(name_s)
| where rpoInSeconds_d > 1800
| summarize hint.strategy=partitioned arg_max(TimeGenerated, *) by name_s
| project name_s , rpoInSeconds_d
| summarize count()
Para o alerta, defina Valor de limite como 20
.
Uma única máquina excede o RPO
Configure um alerta se o RPO de uma única máquina virtual do Azure exceder 30 minutos.
AzureDiagnostics
| where replicationProviderName_s == "A2A"
| where isnotempty(name_s) and isnotnull(name_s)
| where name_s == "ContosoVM123"
| where rpoInSeconds_d > 1800
| summarize hint.strategy=partitioned arg_max(TimeGenerated, *) by name_s
| project name_s , rpoInSeconds_d
| summarize count()
Para o alerta, defina Valor de limite como 1
.
O failover de teste para várias máquinas excede 90 dias
Configure um alerta se o último failover de teste bem-sucedido tiver sido superior a 90 dias, para mais de 20 máquinas virtuais.
AzureDiagnostics
| where replicationProviderName_s == "A2A"
| where Category == "AzureSiteRecoveryReplicatedItems"
| where isnotempty(name_s) and isnotnull(name_s)
| where lastSuccessfulTestFailoverTime_t <= ago(90d)
| summarize hint.strategy=partitioned arg_max(TimeGenerated, *) by name_s
| summarize count()
Para o alerta, defina Valor de limite como 20
.
O failover de teste para uma única máquina excede 90 dias
Configure um alerta se o último failover de teste bem-sucedido para uma máquina virtual específica tiver sido há mais de 90 dias.
AzureDiagnostics
| where replicationProviderName_s == "A2A"
| where Category == "AzureSiteRecoveryReplicatedItems"
| where isnotempty(name_s) and isnotnull(name_s)
| where lastSuccessfulTestFailoverTime_t <= ago(90d)
| where name_s == "ContosoVM123"
| summarize hint.strategy=partitioned arg_max(TimeGenerated, *) by name_s
| summarize count()
Para o alerta, defina Valor de limite como 1
.
Falha no trabalho de recuperação de site
Configure um alerta se um trabalho de Recuperação de Site (neste caso, o trabalho de Reproteger) falhar em qualquer cenário de Recuperação de Site, durante o último dia.
AzureDiagnostics
| where Category == "AzureSiteRecoveryJobs"
| where OperationName == "Reprotect"
| where ResultType == "Failed"
| summarize count()
Para o alerta, defina Valor de limite como 1 e Período como 1440 minutos, para verificar falhas no último dia.
Próximos passos
Saiba mais sobre o monitoramento integrado do Site Recovery.