Condividi tramite


Monitorare Site Recovery con i log di Monitoraggio di Azure

Questo articolo descrive come monitorare i computer replicati da Azure Site Recoveryusando i log di Monitoraggio di Azuree Log Analytics.

I log di Monitoraggio di Azure offrono una piattaforma di dati di log che raccoglie i log delle attività e delle risorse, insieme ad altri dati di monitoraggio. Nei 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 l'integrità e lo stato di Site Recovery. Ad esempio, è possibile monitorare l'integrità della replica, lo stato del failover di test, gli eventi di 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 lo stato del processo di Site Recovery.

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

Nota

Per ottenere i log dei dati di abbandono e i log di frequenza 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 successiva.

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.

Consigliamo di esaminare domande di monitoraggio comuni prima di iniziare.

Log eventi disponibili per Azure Site Recovery

Azure Site Recovery fornisce le tabelle legacy e specifiche delle risorse seguenti. Ogni evento fornisce dati dettagliati su un set specifico di artefatti correlati al ripristino del sito.

Tabelle specifiche delle risorse:

Tabelle legacy:

  • Eventi di Azure Site Recovery
  • Elementi replicati di Azure Site Recovery
  • Statistiche di replica di Azure Site Recovery
  • Punti di Azure Site Recovery
  • Velocità di caricamento dei dati di replica di Azure Site Recovery
  • Varianza dei dati del disco protetti di Azure Site Recovery
  • Dettagli sugli elementi replicati di Azure Site Recovery

Configurare Site Recovery per l'invio di log

  1. Nell'insieme di credenziali, selezionare Impostazioni di diagnostica >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 accanto a 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. Quindi, seleziona OK.

    Screenshot della schermata delle impostazioni di diagnostica.

I log di 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 log di varianza e velocità di 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. Andare all'area di lavoro Log Analytics e selezionare Impostazioni avanzate.

  2. Selezionare la pagina Origini connesse e quindi Server Windows.

  3. Scaricare Windows Agent (64 bit) nel server di elaborazione.

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

  5. Configurare l'agente per usare 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. Andare alla pagina Dati e fare clic su Contatori delle prestazioni di Windows.

  8. Selezionare '+' per aggiungere i due contatori seguenti con un intervallo di campionamento 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.

  9. I contatori di Site Recovery seguenti non sono attualmente disponibili per la ricerca:

    • ASRAnalytics(*)\SourceVmChurnRate
    • ASRAnalytics(*)\SourceVmThrpRate
      Tuttavia, possono essere aggiunti incollando i nomi in modo completo.

    Screenshot del contatore delle prestazioni di Windows.

Nota

Attualmente non è possibile cercare questi contatori. Tuttavia, è possibile aggiungerli copiando e incollando i nomi completi.

  • SourceVmThrpRate mostra la rete tramite la velocità di inserimento nell'origine.
  • SourceVmChurnRate mostra la frequenza di modifica dei dati sul disco nella macchina virtuale di origine.

Screenshot della schermata delle impostazioni dei contatori.

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 desidera recuperare VM VMware locali o server fisici replicati in Azure usando Site Recovery.

Query sull'integrità della replica

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   

Query sulla versione del Servizio di mobilità

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 per 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.

Query su processi di Site Recovery

Questa query recupera tutti i processi di 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  

Query sugli eventi di Azure Site Recovery

Questa query recupera tutti gli eventi di 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 monitora 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 velocità 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. Fare riferimento alla procedura per configurare l'agente di monitoraggio.

Questa query traccia un grafico di tendenza per un disco specifico, un disk0, 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 di 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 della macchina virtuale, la replica e lo stato di protezione, 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 le VM VMware e i server fisici replicati in Azure. Mostra il nome del computer, lo stato di replica e di protezione, RPO, lo stato del failover di test, la versione dell'agente Mobility, gli 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 gli avvisi di Site Recovery in base ai dati di Monitoraggio di Azure. Altre informazioni sulla configurazione degli avvisi di 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 desidera impostare avvisi per le VM 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.

Singolo computer in uno stato critico

Configurare un avviso se una macchina virtuale di Azure replicata specifica diventa 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 l'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 era 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.

Il processo Site Recovery non riesce

Configurare un avviso se un processo di Site Recovery (in questo caso il processo di ri-protezione) 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 predefinito di Site Recovery.