Condividi tramite


Monitoraggio della disponibilità elevata e della resilienza del sito

Si applica a: Exchange Server 2010

Ultima modifica dell'argomento: 2010-01-11

Per le operazioni quotidiane legate alle messaggistica è fondamentale assicurarsi che i server operino in modo affidabile e che le copie dei database siano integre. Per garantire la disponibilità e l'affidabilità dell'organizzazione di Microsoft Exchange Server 2010, è necessario controllare attivamente l'hardware, il sistema operativo Windows e i servizi di Exchange 2010. Il monitoraggio proattivo, unito alla manutenzione preventiva, consente di identificare potenziali errori prima che un problema grave interferisca con il funzionamento dell'organizzazione di Exchange.

Il monitoraggio dell'organizzazione di Exchange implica il controllo regolare dei problemi relativi ai dati e ai servizi. In genere, il monitoraggio include un sistema di notifiche che invia avvisi al verificarsi dei problemi. Windows Server 2008 ed Exchange 2010 includono diversi strumenti e servizi che permettono di garantire il funzionamento corretto e ininterrotto dell'organizzazione di Exchange. Di seguito sono riportati i principali vantaggi derivanti dal monitoraggio giornaliero:

  • Conformità ai requisiti dei contratti di servizio
  • Garanzia del completamento corretto di specifiche attività di amministrazione, ad esempio le operazioni di backup giornaliere
  • Rilevamento e soluzione dei problemi, riguardanti ad esempio il servizio di messaggistica o la disponibilità dei dati

In un'organizzazione di Exchange 2010, le procedure, i ruoli e le responsabilità relativi alle operazioni devono essere formalizzati. È importante comprendere il collegamento tra procedure operative ottimali e integrità dell'infrastruttura. Procedure e processi operativi accurati e ben documentati consentono di assicurare che tutti i componenti dell'ambiente organizzativo su cui si basa Exchange siano gestiti in modo efficace ed efficiente.

Exchange 2010 include diversi strumenti e funzionalità predefiniti utilizzabili come parte del normale monitoraggio proattivo quando Exchange è configurato per la disponibilità elevata o per la resilienza del sito. I principali cmdlet di monitoraggio per la disponibilità elevata e la resilienza del sito sono Get-MailboxDatabaseCopyStatus e Test-ReplicationHealth. Oltre a fornire cmdlet in grado di eseguire funzioni di monitoraggio e segnalare lo stato, Exchange 2010 dispone anche di un nuovo flusso del registro eventi che utilizza le capacità del canale Crimson in Windows Server e gli script predefiniti in grado di raccogliere dati da questi canali di eventi.

È possibile utilizzare i dettagli in questo argomento per monitorare l'integrità e lo stato delle copie del database delle cassette postali per i gruppi di disponibilità del database. Per informazioni generali sul monitoraggio di Exchange 2010, vedere Monitoraggio di Exchange 2010.

Sommario

Cmdlet Get-MailboxDatabaseCopyStatus

Cmdlet Test-ReplicationHealth

Registrazione degli eventi del canale Crimson

Script CollectOverMetrics.ps1

Script CollectReplicationMetrics.ps1

Cmdlet Get-MailboxDatabaseCopyStatus

È possibile utilizzare il cmdlet Get-MailboxDatabaseCopyStatus per visualizzare le informazioni sullo stato delle copie del database delle cassette postali. Questo cmdlet consente di visualizzare informazioni su tutte le copie di un particolare database, informazioni su una specifica copia di un database su un server specifico, oppure informazioni su tutte le copie del database su un server. Nella seguente tabella sono descritti i possibili valori per lo stato di una copia del database delle cassette postali.

Stato della copia del database

Stato della copia del database Descrizione

Failed

La copia del database delle cassette postali è nello stato Failed quando non è stata sospesa e non è in grado di copiare o rieseguire i file di registro. Se lo stato è Failed e la copia non è sospesa, il sistema controlla periodicamente se il problema che ha causato l'impostazione dello stato Failed per la copia è stato risolto. Una volta rilevata la risoluzione del problema, a condizione che non vi siano altri problemi, lo stato della copia diventa automaticamente Healthy.

Seeding

La copia del database delle cassette postali, l'indice del contenuto per la copia del database delle cassette postali o entrambi gli elementi sono sottoposti a seeding. Al completamento del seeding, lo stato della copia cambia in Initializing.

SeedingSource

La copia del database delle cassette postali è utilizzata come origine per l'operazione di seeding della copia del database.

Suspended

La copia del database delle cassette postali è nello stato Suspended a seguito della sospensione manuale della copia del database da parte di un amministratore che ha eseguito il cmdlet Suspend-MailboxDatabaseCopy.

Healthy

La copia del database delle cassette postali esegue correttamente la copia e la riesecuzione dei file di registro, oppure ha completato correttamente la copia e la riesecuzione di tutti i file di registro disponibili.

ServiceDown

Il servizio Replica di Microsoft Exchange non è disponibile o è in esecuzione sul server che ospita la copia del database delle cassette postali.

Initializing

La copia del database delle cassette postali è nello stato Initializing quando è stata creata una copia del database, quando il servizio Replica di Microsoft Exchange è in fase di avvio o è stato appena avviato, e durante le transizioni dallo stato Suspended, ServiceDown, Failed, Seeding, SinglePageRestore, LostWrite o Disconnected a un altro stato. Quando la copia è in questo stato, il sistema verifica che il database e il flusso di registro abbiano uno stato coerente. Nella maggior parte dei casi, lo stato della copia rimane Initializing per circa 15 secondi, ma in ogni caso non deve rimanere tale per più di 30 secondi.

Resynchronizing

La copia del database delle cassette postali e i suoi file di registro vengono confrontati con la copia attiva del database per verificare eventuali divergenze tra le due copie. La copia rimane in questo stato fino a quando non sono state rilevate e risolte tutte le divergenze.

Mounted

La copia attiva è online e sta accettando le connessioni dei client. Solo la copia attiva della copia del database delle cassette postali può assumere lo stato Mounted.

Dismounted

La copia attiva è offline e non sta accettando le connessioni dei client. Solo la copia attiva della copia del database delle cassette postali può assumere lo stato Dismounted.

Mounting

La copia attiva sta per diventare online e non sta ancora accettando le connessioni dei client. Solo la copia attiva della copia del database delle cassette postali può assumere lo stato Mounting.

Dismounting

La copia attiva sta per diventare offline e sta terminando le connessioni dei client. Solo la copia attiva della copia del database delle cassette postali può assumere lo stato Dismounting.

DisconnectedAndHealthy

La copia del database delle cassette postali non è più connessa alla copia del database attiva ed era nello stato Healthy quando si è verificata la perdita della connessione. Questo stato rappresenta la copia del database rispetto alla connettività alla copia del database di origine. Può essere segnalato durante gli errori di rete del gruppo di disponibilità del database tra la copia di origine e la copia del database di destinazione.

DisconnectedAndResynchronizing

La copia del database delle cassette postali non è più connessa alla copia del database attiva ed era nello stato Resynchronizing quando si è verificata la perdita della connessione. Questo stato rappresenta la copia del database rispetto alla connettività alla copia del database di origine. Può essere segnalato durante gli errori di rete del gruppo di disponibilità del database tra la copia di origine e la copia del database di destinazione.

FailedAndSuspended

Gli stati Failed e Suspended sono stati impostati contemporaneamente dal sistema in quanto è stato rilevato un errore la cui risoluzione richiede esplicitamente l'intervento dell'amministratore. Un esempio è il caso in cui il sistema rileva una divergenza irreversibile tra il database delle cassette postali attivo e una copia del database. A differenza dello stato Failed, il sistema non controlla periodicamente se il problema è stato risolto e non esegue il ripristino automatico. Deve intervenire un amministratore per risolvere la causa dell'errore prima che la copia del database possa passare a uno stato di integrità.

ActivationSuspended

L'attivazione della copia del database delle cassette postali è stata bloccata manualmente da un amministratore.

SinglePageRestore

Questo stato indica che sulla copia del database delle cassette postali si è verificata un'operazione di ripristino della singola pagina.

Il cmdlet Get-MailboxDatabaseCopyStatus include anche un parametro ConnectionStatus, che restituisce i dettagli sulle reti di replica in uso. Se si utilizza questo parametro, nell'output dell'attività vengono compilati due campi di output aggiuntivi, IncomingLogCopyingNetwork e SeedingNetwork.

Esempi di Get-MailboxDatabaseCopyStatus

Negli esempi riportati di seguito viene utilizzato il cmdlet Get-MailboxDatabaseCopyStatus. In ciascun esempio i risultati vengono inviati al cmdlet Format-List affinché siano visualizzati in formato elenco.

Con questo esempio vengono restituite le informazioni di stato per tutte le copie del database DB2.

Get-MailboxDatabaseCopyStatus -Identity DB2 | Format-List

Con questo esempio viene restituito lo stato per tutte le copie del database sul server di cassette postali MBX2.

Get-MailboxDatabaseCopyStatus -Server MBX2 | Format-List

Con questo esempio viene restituito lo stato per tutte le copie del database sul server di cassette postali locale.

Get-MailboxDatabaseCopyStatus -Local | Format-List

Con questo esempio vengono restituiti lo stato, il log shipping e le informazioni di rete di seeding per il database DB3 sul server di cassette postali MBX1.

Get-MailboxDatabaseCopyStatus -Identity DB3\MBX1 -ConnectionStatus | Format-List

Per ulteriori informazioni sull'uso del cmdlet Get-MailboxDatabaseCopyStatus, vedere Get-MailboxDatabaseCopyStatus.

Inizio pagina

Cmdlet Test-ReplicationHealth

È possibile utilizzare il cmdlet Test-ReplicationHealth per visualizzare le informazioni sullo stato di replica continua delle copie del database delle cassette postali. Il cmdlet può essere utilizzato per controllare tutti gli aspetti dello stato di replica e riesecuzione per fornire una panoramica completa di uno specifico server di cassette postali in un gruppo di disponibilità del database.

Il cmdlet Test-ReplicationHealth è progettato per il monitoraggio preventivo della replica continua e della pipeline di replica continua, della disponibilità di Active Manager e dell'integrità e dello stato del Servizio cluster, del quorum e dei componenti di rete sottostanti. Può essere eseguito in locale o in modalità remota su qualsiasi server di cassette postali in un DAG. Il cmdlet Test-ReplicationHealth esegue i test elencati nella seguente tabella.

Test del cmdlet Test-ReplicationHealth

Nome del test Descrizione

ClusterService

Verifica che il Servizio cluster sia in esecuzione e raggiungibile sul membro del gruppo di disponibilità del database specificato, o sul server locale se non è specificato alcun membro del gruppo di disponibilità del database.

ReplayService

Verifica che il servizio Replica di Microsoft Exchange sia in esecuzione e raggiungibile sul membro del gruppo di disponibilità del database specificato, o sul server locale se non è specificato alcun membro del gruppo di disponibilità del database.

ActiveManager

Verifica che l'istanza di Active Manager in esecuzione sul membro del gruppo di disponibilità del database specificato (o sul server locale se non è specificato alcun membro del gruppo di disponibilità del database) sia in un ruolo valido (primario, secondario o autonomo).

TasksRpcListener

Verifica che la chiamata di procedura remota (RPC) delle attività sia in esecuzione e raggiungibile sul membro del gruppo di disponibilità del database specificato, o sul server locale se non è specificato alcun membro del gruppo di disponibilità del database.

TcpListener

Verifica che il listener della copia del registro TCP sia in esecuzione e raggiungibile sul membro del gruppo di disponibilità del database specificato, o sul server locale se non è specificato alcun membro del gruppo di disponibilità del database.

DagMembersUp

Verifica che tutti i membri del gruppo di disponibilità del database siano disponibili, in esecuzione e raggiungibili.

ClusterNetwork

Verifica che tutte le reti gestite dal cluster sul membro del gruppo di disponibilità del database specificato (o sul server locale se non è specificato alcun membro del gruppo di disponibilità del database) siano disponibili.

QuorumGroup

Verifica che il gruppo di cluster predefinito (gruppo di quorum) sia in uno stato integro e online.

FileShareQuorum

Verifica che il server di controllo, la directory di controllo e la condivisione configurata per il gruppo di disponibilità del database siano raggiungibili.

DBCopySuspended

Controlla se le copie del database delle cassette postali sono nello stato Suspended sul membro del gruppo di disponibilità del database specificato, o sul server locale se non è specificato alcun membro del gruppo di disponibilità del database.

DBCopyFailed

Controlla se le copie del database delle cassette postali sono nello stato Failed sul membro del gruppo di disponibilità del database specificato, o sul server locale se non è specificato alcun membro del gruppo di disponibilità del database.

DBInitializing

Controlla se le copie del database delle cassette postali sono nello stato Initializing sul membro del gruppo di disponibilità del database specificato, o sul server locale se non è specificato alcun membro del gruppo di disponibilità del database.

DBDisconnected

Controlla se le copie del database delle cassette postali sono nello stato Disconnected sul membro del gruppo di disponibilità del database specificato, o sul server locale se non è specificato alcun membro del gruppo di disponibilità del database.

DBLogCopyKeepingUp

Verifica che la copia del registro e l'ispezione da parte delle copie passive dei database sul membro del gruppo di disponibilità del database specificato (o sul server locale se non è specificato alcun membro del gruppo di disponibilità del database) siano in grado di tenere il passo dell'attività di generazione del registro sulla copia attiva.

DBLogReplayKeepingUp

Verifica che l'attività di riesecuzione per le copie passive dei database sul membro del gruppo di disponibilità del database specificato (o sul server locale se non è specificato alcun membro del gruppo di disponibilità del database) sia in grado di tenere il passo dell'attività di ispezione e copia del registro.

Esempio di Test-ReplicationHealth

Con questo esempio viene utilizzato il cmdlet Test-ReplicationHealth per verificare lo stato della replica per il server di cassette postali MBX1.

Test-ReplicationHealth -Identity MBX1

Inizio pagina

Registrazione degli eventi del canale Crimson

Windows Server 2008 include due categorie di registri eventi: i registri Windows e i registri applicazioni e servizi. La categoria dei registri di Windows include i registri eventi disponibili nelle versioni precedenti di Windows: applicazioni, protezione e sistema. Include inoltre due nuovi registri: il registro dell'installazione e il registro ForwardedEvents. I registri di Windows sono progettati per archiviare gli eventi delle applicazioni legacy e gli eventi relativi all'intero sistema.

I registri applicazioni e servizi sono una nuova categoria di registri eventi. Questi registri archiviano gli eventi di una singola applicazione o di un singolo componente, anziché gli eventi che possono avere un impatto sull'intero sistema. Questa nuova categoria di registri eventi è definita canale Crimson di un'applicazione.

La categoria dei registri applicazioni e servizi include quattro sottotipi: amministrazione, operativo, analitico e debug. Gli eventi nei registri di amministrazione sono di particolare interesse se si utilizzano i record del registro eventi per la risoluzione dei problemi. Gli eventi nel registro di amministrazione forniscono una guida sulla modalità di risposta agli eventi. Gli eventi nel registro operativo sono altrettanto utili, ma richiedono una maggiore interpretazione. I registri di amministrazione e di debug non sono di facile comprensione per gli utenti. I registri analitici (che per impostazione predefinita sono nascosti e disabilitati) archiviano gli eventi che analizzano un problema; al loro interno viene spesso registrato un elevato volume di eventi. I registri di debug sono utilizzati dagli sviluppatori durante il debug delle applicazioni.

Exchange 2010 registra gli eventi relativi ai canali Crimson nell'area dei registri applicazioni e servizi. È possibile visualizzare questi canali eseguendo la procedura descritta di seguito:

  1. Aprire Visualizzatore eventi.
  2. Nell'albero della console, accedere a Registri applicazioni e servizi > Microsoft > Exchange.
  3. Sotto Exchange, selezionare un canale Crimson: HighAvailability o MailboxDatabaseFailureItems.

Il canale HighAvailability contiene gli eventi relativi all'avvio e all'arresto del servizio Replica di Microsoft Exchange e ai diversi componenti eseguiti all'interno del servizio Replica di Microsoft Exchange, ad esempio Active Manager, l'API di replica sincrona di terze parti, il server RPC delle attività, il listener TCP e il writer del servizio Copia Shadow del volume (VSS). Il canale HighAvailability è utilizzato anche da Active Manager per registrare gli eventi relativi al monitoraggio del ruolo Active Manager e agli eventi di azione del database, ad esempio un'operazione di installazione del database e di troncamento del registro, e per la registrazione di eventi relativi al cluster sottostante a un gruppo di disponibilità del database.

Il canale MailboxDatabaseFailureItems è utilizzato per registrare eventi associati a qualsiasi errore che influisce su un database delle cassette postali replicato.

Inizio pagina

Script CollectOverMetrics.ps1

Exchange 2010 include nella cartella Scripts uno script chiamato CollectOverMetrics.ps1. Questo script del flusso di lavoro raccoglie informazioni sulle diverse statistiche di passaggi e failover. L'uso dello script CollectOverMetrics.ps1 rappresenta una forma passiva di monitoraggio. Lo script raccoglie e analizza eventi già registrati e supporta parametri che consentono di personalizzare il comportamento e l'output dello script. I parametri disponibili sono elencati nella tabella seguente.

Parametri dello script CollectOverMetrics.ps1

Parametro Descrizione

DatabaseAvailabilityGroup

Specifica il nome del gruppo di disponibilità del database da cui si desidera raccogliere le metriche. Se questo parametro viene omesso, viene utilizzato il gruppo di disponibilità del database di cui è membro il server locale.

Database

Fornisce un elenco dei database per cui è necessario generare il report. Sono supportati i caratteri jolly, ad esempio -Database:"DB1","DB2" o -Database:"DB*".

TemporaryDataPath

Specifica il percorso per l'archiviazione dei file temporanei. Se il parametro viene omesso, il nome della directory corrisponde al seguente: %SystemDrive%\Temp\CollectOverMetrics\<OraAvvioScript>

StartTime

Specifica l'ora di inizio della raccolta dei dati sugli eventi. Se il parametro viene omesso, l'ora di inizio corrisponde alle 00.00 (mezzanotte) di ieri.

EndTime

Specifica l'ora di fine della raccolta dei dati sugli eventi. Se il parametro viene omesso, l'ora di fine corrisponde alle 23.59 di ieri.

ReportPath

Specifica la cartella utilizzata per archiviare i risultati dell'elaborazione degli eventi. Se il parametro viene omesso, viene utilizzata la cartella Scripts.

ReportAlias

Specifica l'alias di posta elettronica a cui inviare il report.

IncludeAppLogs

Specifica se devono essere raccolti, gestiti ed elaborati anche gli eventi nel registro eventi applicazioni. Per impostazione predefinita, sono inclusi i seguenti provider: MSExchangeIS, MSExchangeIS Archivio cassetta postale e MSExchangeRepl.

AppLogProviders

Specifica se devono essere raccolti gli eventi del registro eventi applicazioni specifico. Se il parametro viene specificato, i provider elencati per IncludeAppLogs non vengono inclusi; è necessario specificarli in modo esplicito utilizzando il parametro AppLogProviders.

AnalyzeOnly

Specifica che i dati sono già stati raccolti e che è necessaria solamente l'elaborazione.

MergedXmlFile

Specifica il nome del file XML in cui saranno uniti tutti i record del registro eventi raccolti.

GenerateHtmlReport

Specifica che il report dovrà essere generato sotto forma di una tabella HTML semplice per facilitarne la visualizzazione.

ShowHtmlReport

Specifica che il report HTML generato deve essere visualizzato in un Web browser subito dopo la generazione.

DotSourceMode

Specifica che non è necessaria l'esecuzione immediata, ma che il file è soggetto a dot sourcing mediante i metodi di Windows PowerShell definiti al suo interno.

Esempi di CollectOverMetrics.ps1

Negli esempi riportati di seguito viene utilizzato lo script CollectOverMetrics.ps1.

Con questo esempio vengono raccolte le metriche per tutti i database corrispondenti a DB* (che include un carattere jolly) nel gruppo di disponibilità del database DAG1. Dopo la raccolta delle metriche, viene generato e visualizzato un report in formato HTML.

CollectOverMetrics.ps1 -DatabaseAvailabilityGroup DAG1 -Database:"DB*" -GenerateHTMLReport -ShowHTMLReport

Con questo esempio vengono raccolte le metriche per tutti i database del gruppo di disponibilità del database DAG2. Dopo la raccolta delle metriche, viene generato e visualizzato un report in formato HTML.

CollectOverMetrics.ps1 -DatabaseAvailabilityGroup DAG2 -GenerateHTMLReport -ShowHTMLReport

Inizio pagina

Script CollectReplicationMetrics.ps1

Un altro script per le metriche di integrità incluso in Exchange 2010 è CollectReplicationMetrics.ps1. Questo script rappresenta una forma attiva di monitoraggio, in quanto raccoglie le metriche in tempo reale durante l'esecuzione dello script. Lo script supporta parametri che consentono di personalizzarne il comportamento e l'output. I parametri disponibili sono elencati nella tabella seguente.

Parametri dello script CollectReplicationMetrics.ps1

Parametro Descrizione

DagName

Specifica il nome del gruppo di disponibilità del database da cui si desidera raccogliere le metriche. Se questo parametro viene omesso, viene utilizzato il gruppo di disponibilità del database di cui è membro il server locale.

DatabaseNames

Fornisce un elenco dei database per cui è necessario generare il report. Sono supportati i caratteri jolly, ad esempio -DatabaseNames:"DB1","DB2" o -DatabaseNames:"DB*".

ReportAlias

Specifica l'alias di posta elettronica a cui inviare il report.

TemporaryDataPath

Specifica il percorso per l'archiviazione dei file temporanei. Se il parametro viene omesso, il nome della directory corrisponde al seguente: %SystemDrive%\Temp\CollectReplicationMetrics\<OraAvvioScript>

ReportPath

Specifica la cartella utilizzata per archiviare i risultati dell'elaborazione degli eventi. Se il parametro viene omesso, viene utilizzata la cartella Scripts.

Duration

Specifica il tempo di esecuzione del processo di raccolta.

Frequency

Specifica la frequenza di raccolta delle metriche dei dati.

Verbose

Visualizza l'output delle attività sullo schermo una volta completata l'attività.

ProcessOnly

Specifica che i dati sono già stati raccolti e che è necessaria solamente l'elaborazione.

Esempio di CollectReplicationMetrics.ps1

Nell'esempio riportato di seguito viene utilizzato lo script CollectReplicationMetrics.ps1.

Con questo esempio vengono raccolte le metriche per tutti i database nel gruppo di disponibilità del database DAG1 e i dati raccolti vengono visualizzati in un report sullo schermo.

CollectReplicationMetrics.ps1 -DagName DAG1 -Verbose

Inizio pagina