Monitorare Site Recovery con i log di Monitoraggio di Azure

Questo articolo descrive come monitorare i computer replicati da Azure Site Recovery, usando i log di Monitoraggio di Azure e Log Analytics.

I log di Monitoraggio di Azure offrono una piattaforma dati di log che raccoglie i log attività e risorse, insieme ad altri dati di monitoraggio. All'interno dei log di Monitoraggio di Azure si usa Log Analytics per scrivere e testare le query di log e analizzare in modo interattivo i dati di log. È possibile visualizzare ed eseguire query sui risultati del log e configurare gli avvisi per eseguire azioni in base ai dati monitorati.

Per Site Recovery, è possibile usare i log di Monitoraggio di Azure per eseguire le operazioni seguenti:

  • Monitorare Site Recovery integrità e stato. Ad esempio, è possibile monitorare l'integrità della replica, lo stato del failover di test, gli eventi Site Recovery, gli obiettivi del punto di ripristino (RPO) per i computer protetti e la frequenza di modifica dei dischi/dati.
  • Configurare gli avvisi per Site Recovery. Ad esempio, è possibile configurare avvisi per l'integrità del computer, lo stato del failover di test o Site Recovery stato del processo.

L'uso dei log di Monitoraggio di Azure con Site Recovery è supportato per la replica da Azure ad Azure e dalla macchina virtuale VMware/server fisico alla replica di Azure.

Nota

Per ottenere i log dei dati di varianza e i log di velocità di caricamento per I computer fisici e VMware, è necessario installare un agente di monitoraggio Microsoft nel server di elaborazione. Questo agente invia i log dei computer di replica all'area di lavoro. Questa funzionalità è disponibile solo per la versione dell'agente di mobilità 9.30 e versioni successive.

Prerequisiti

Ecco gli elementi necessari:

  • Almeno un computer è protetto in un insieme di credenziali di Servizi di ripristino.
  • Un'area di lavoro Log Analytics per archiviare i log di Site Recovery. Informazioni sulla configurazione di un'area di lavoro.
  • Conoscenza di base di come scrivere, eseguire e analizzare le query di log in Log Analytics. Altre informazioni

È consigliabile esaminare le domande di monitoraggio comuni prima di iniziare.

Configurare Site Recovery per l'invio dei log

  1. Nell'insieme di credenziali selezionare Impostazioni> didiagnostica Aggiungi impostazione di diagnostica.

    Screenshot che mostra l'opzione Aggiungi impostazione di diagnostica.

  2. In Impostazioni di diagnostica specificare un nome e selezionare la casella Invia a Log Analytics.

  3. Selezionare la sottoscrizione log di Monitoraggio di Azure e l'area di lavoro Log Analytics.

  4. Selezionare Diagnostica di Azure nell'interruttore.

  5. Nell'elenco dei log selezionare tutti i log con il prefisso AzureSiteRecovery. Selezionare OK.

    Screenshot della schermata delle impostazioni di diagnostica.

I log Site Recovery iniziano a essere inseriti in una tabella (AzureDiagnostics) nell'area di lavoro selezionata.

Configurare Microsoft Monitoring Agent nel server di elaborazione per inviare i log di varianza e caricamento

È possibile acquisire le informazioni sulla frequenza di varianza dei dati e le informazioni sulla frequenza di caricamento dei dati di origine per i computer VMware/fisici in locale. Per abilitare questa operazione, è necessario installare un agente di monitoraggio Microsoft nel server di elaborazione.

  1. Passare all'area di lavoro Log Analytics e selezionare Impostazioni avanzate.

  2. Selezionare la pagina Origini connesse e selezionare server Windows.

  3. Scaricare l'agente Windows (a 64 bit) nel server di elaborazione.

  4. Ottenere l'ID e la chiave dell'area di lavoro

  5. Configurare l'agente per l'uso di TLS 1.2

  6. Completare l'installazione dell'agente specificando l'ID e la chiave dell'area di lavoro ottenuti.

  7. Al termine dell'installazione, passare all'area di lavoro Log Analytics e selezionare Gestione agenti legacy. Passare alla pagina Dati e selezionare Contatori delle prestazioni di Windows.

  8. Selezionare '+' per aggiungere i due contatori seguenti con un intervallo di esempio di 300 secondi:

    • ASRAnalytics(*)\SourceVmChurnRate
    • ASRAnalytics(*)\SourceVmThrpRate

I dati relativi alla varianza e alla frequenza di caricamento inizieranno a essere inseriti nell'area di lavoro.

Eseguire query sui log : esempi

I dati vengono recuperati dai log usando query di log scritte con il linguaggio di query Kusto. Questa sezione fornisce alcuni esempi di query comuni che è possibile usare per il monitoraggio di Site Recovery.

Nota

Alcuni esempi usano replicationProviderName_s impostato su A2A. In questo modo vengono recuperate le macchine virtuali di Azure replicate in un'area di Azure secondaria usando Site Recovery. In questi esempi è possibile sostituire A2A con InMageRcm, se si vogliono recuperare macchine virtuali VMware locali o server fisici replicati in Azure usando Site Recovery.

Integrità replica query

Questa query traccia un grafico a torta per l'integrità corrente della replica di tutte le macchine virtuali di Azure protette, suddivise in tre stati: Normale, Avviso o Critico.

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   

Eseguire query servizio di mobilità versione

Questa query traccia un grafico a torta per le macchine virtuali di Azure replicate con Site Recovery, suddivise per la versione dell'agente Mobility in esecuzione.

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 RPO query

Questa query traccia un grafico a barre delle macchine virtuali di Azure replicate con Site Recovery, suddiviso in base all'obiettivo del punto di ripristino (RPO): meno di 15 minuti, tra 15 e 30 minuti, più di 30 minuti.

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 

Screenshot che mostra un grafico a barre delle macchine virtuali di Azure replicate con Site Recovery.

Eseguire query Site Recovery processi

Questa query recupera tutti i processi Site Recovery (per tutti gli scenari di ripristino di emergenza), attivati nelle ultime 72 ore e il relativo stato di completamento.

AzureDiagnostics  
| where Category == "AzureSiteRecoveryJobs"  
| where TimeGenerated >= ago(72h)   
| project JobName = OperationName , VaultName = Resource , TargetName = affectedResourceName_s, State = ResultType  

Eseguire query sugli eventi Site Recovery

Questa query recupera tutti gli eventi Site Recovery (per tutti gli scenari di ripristino di emergenza) generati nelle ultime 72 ore, insieme alla relativa gravità.

AzureDiagnostics   
| where Category == "AzureSiteRecoveryEvents"   
| where TimeGenerated >= ago(72h)   
| project AffectedObject=affectedResourceName_s , VaultName = Resource, Description_s = healthErrors_s , Severity = Level  

Stato del failover di test delle query (grafico a torta)

Questa query traccia un grafico a torta per lo stato del failover di test delle macchine virtuali di Azure replicate con 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 

Eseguire query sullo stato del failover di test (tabella)

Questa query traccia una tabella per lo stato del failover di test delle macchine virtuali di Azure replicate con 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 del computer di query

Questa query traccia un grafico di tendenza che tiene traccia dell'RPO di una macchina virtuale di Azure specifica (ContosoVM123) per le ultime 72 ore.

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 

Screenshot di un grafico di tendenza che traccia l'RPO di una macchina virtuale di Azure specifica.

Frequenza di modifica dei dati delle query (varianza) e frequenza di caricamento per una macchina virtuale di Azure

Questa query traccia un grafico di tendenza per una macchina virtuale di Azure specifica (ContosoVM123), che rappresenta la frequenza di modifica dei dati (Byte di scrittura al secondo) e la frequenza di caricamento dei dati.

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  

screenshot di un grafico di tendenza per una macchina virtuale di Azure specifica.

Frequenza di modifica dei dati delle query (varianza) e frequenza di caricamento per un computer VMware o fisico

Nota

Assicurarsi di configurare l'agente di monitoraggio nel server di elaborazione per recuperare questi log. Vedere la procedura per configurare l'agente di monitoraggio.

Questa query traccia un grafico di tendenza per un disco specifico, un disco0, di un elemento replicato, win-9r7sfh9qlru, che rappresenta la frequenza di modifica dei dati (Byte di scrittura al secondo) e la velocità di caricamento dei dati. È possibile trovare il nome del disco nel pannello Dischi dell'elemento replicato nell'insieme di credenziali dei servizi di ripristino. Il nome dell'istanza da usare nella query è il nome DNS del computer seguito da _ e il nome del disco, come in questo esempio.

Perf
| where ObjectName == "ASRAnalytics"
| where InstanceName contains "win-9r7sfh9qlru_disk0"
| where TimeGenerated >= ago(4h) 
| project TimeGenerated ,CounterName, Churn_MBps = todouble(CounterValue)/5242880 
| render timechart

Il server di elaborazione esegue il push di questi dati ogni 5 minuti nell'area di lavoro Log Analytics. Questi punti dati rappresentano la media calcolata per 5 minuti.

Riepilogo del ripristino di emergenza delle query (da Azure ad Azure)

Questa query traccia una tabella di riepilogo per le macchine virtuali di Azure replicate in un'area di Azure secondaria. Mostra il nome, la replica e lo stato di protezione della macchina virtuale, RPO, stato del failover di test, versione dell'agente mobility, eventuali errori di replica attivi e il percorso di origine.

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 

Riepilogo del ripristino di emergenza delle query (server VMware/fisici)

Questa query traccia una tabella di riepilogo per macchine virtuali VMware e server fisici replicati in Azure. Mostra il nome del computer, lo stato di replica e protezione, rpo, stato del failover di test, versione dell'agente mobility, eventuali errori di replica attivi e il server di elaborazione pertinente.

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  

Configurare gli avvisi - Esempi

È possibile configurare Site Recovery avvisi in base ai dati di Monitoraggio di Azure. Altre informazioni sulla configurazione degli avvisi dei log.

Nota

Alcuni esempi usano replicationProviderName_s impostato su A2A. In questo modo vengono impostati avvisi per le macchine virtuali di Azure replicate in un'area di Azure secondaria. In questi esempi è possibile sostituire A2A con InMageRcm se si vogliono impostare avvisi per macchine virtuali VMware locali o server fisici replicati in Azure.

Più computer in uno stato critico

Configurare un avviso se più di 20 macchine virtuali di Azure replicate passano a uno stato Critico.

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() 

Per l'avviso impostare Valore soglia su 20.

Computer singolo in uno stato critico

Configurare un avviso se una macchina virtuale di Azure replicata specifica passa a uno stato Critico.

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()  

Per l'avviso impostare Valore soglia su 1.

Più computer superano il valore RPO

Configurare un avviso se il valore RPO per più di 20 macchine virtuali di Azure supera i 30 minuti.

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()  

Per l'avviso impostare Valore soglia su 20.

Il singolo computer supera il valore RPO

Configurare un avviso se l'rpo per una singola macchina virtuale di Azure supera i 30 minuti.

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()  

Per l'avviso impostare Valore soglia su 1.

Il failover di test per più computer supera i 90 giorni

Configurare un avviso se l'ultimo failover di test riuscito è superiore a 90 giorni, per più di 20 macchine virtuali.

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()  

Per l'avviso impostare Valore soglia su 20.

Il failover di test per un singolo computer supera i 90 giorni

Configurare un avviso se l'ultimo failover di test riuscito per una macchina virtuale specifica è superiore a 90 giorni fa.

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()  

Per l'avviso impostare Valore soglia su 1.

Site Recovery processo ha esito negativo

Configurare un avviso se un processo di Site Recovery (in questo caso il processo riproteggere) ha esito negativo per qualsiasi scenario di Site Recovery, durante l'ultimo giorno.

AzureDiagnostics   
| where Category == "AzureSiteRecoveryJobs"   
| where OperationName == "Reprotect"  
| where ResultType == "Failed"  
| summarize count()  

Per l'avviso, impostare Valore soglia su 1 e Periodo su 1440 minuti per controllare gli errori nell'ultimo giorno.

Passaggi successivi

Informazioni sul monitoraggio delle Site Recovery predefinite.