Monitoraggio delle attività AWS DMS - AWS Servizio di migrazione del Database

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Monitoraggio delle attività AWS DMS

Il monitoraggio è importante per garantire l'affidabilità, la disponibilità e le prestazioni di AWS DMS e delle soluzioni AWS. È consigliabile raccogliere dati di monitoraggio da tutte le parti della soluzione AWS per eseguire più facilmente il debug di guasti in più punti nel caso si verifichino. AWS fornisce diversi strumenti per il monitoraggio delle attività e delle risorse AWS DMS, nonché la risposta a potenziali incidenti.

Eventi e notifiche in AWS DMS

AWS DMS usa Amazon Simple Notification Service (Amazon SNS) per fornire le notifiche quando si verifica un evento AWS DMS, ad esempio la creazione o l'eliminazione di un'istanza di replica. AWS DMS raggruppa gli eventi in categorie a cui puoi abbonarti in modo da ricevere la notifica quando in una categoria si verifica un evento. Ad esempio, con la sottoscrizione alla categoria Creazione per una determinata istanza di replica, ricevi una notifica ogni volta che si verifica un evento relativo alla creazione che interessa l'istanza di replica. Queste notifiche possono essere utilizzate in qualsiasi formato supportato da Amazon SNS per una regione AWS, ad esempio un messaggio e-mail, un SMS o una chiamata a un endpoint HTTP. Per ulteriori informazioni, consulta Utilizzo degli eventi e delle notifiche Amazon SNS in AWS Database Migration Service

Stato dell'attività

Puoi monitorare l'avanzamento dell'attività attraverso la verifica dello stato e il monitoraggio della tabella di controllo dell'attività. Lo stato dell'attività indica la condizione di un'attività AWS DMS e le relative risorse associate. Include queste indicazioni quando l'attività è creata, avviata, in esecuzione o arrestata. Include anche lo stato corrente delle tabelle migrate dall'attività, ad esempio se il carico completo di una tabella è iniziato o è in corso e altri dettagli come il numero di inserimenti, eliminazioni e aggiornamenti eseguiti per la tabella. Per ulteriori informazioni sul monitoraggio dell'attività e della condizione della risorsa attività, consulta Stato dell'attività e Stato delle tabelle durante le attività. Per ulteriori informazioni sulle tabelle di controllo, consultare Impostazioni delle attività delle tabelle di controllo.

Allarmi e log Amazon CloudWatch

Con gli allarmi Amazon CloudWatch puoi osservare una o più metriche delle attività relative a un periodo di tempo specificato. Se una metrica supera una determinata soglia, viene inviata una notifica a un argomento Amazon SNS. Gli allarmi CloudWatch non richiamano le operazioni perché si trovano in uno stato particolare. È necessario invece che lo stato cambi e venga mantenuto per un determinato numero di periodi. AWS DMS utilizza CloudWatch anche per registrare le informazioni sulle attività durante il processo di migrazione. Puoi utilizzare l'AWS CLI o l'API AWS DMS per visualizzare le informazioni sui registri attività. Per ulteriori informazioni sull'utilizzo di CloudWatch con AWS DMS, consulta Monitoraggio delle attività di replica usando Amazon CloudWatch. Per ulteriori informazioni sui parametri di monitoraggio di AWS DMS, consulta Parametri di AWS Database Migration Service. Per ulteriori informazioni sull'utilizzo dei log di attività AWS DMS, consulta Visualizzazione e gestione dei log delle attività AWS DMS.

Log di Time Travel

Puoi utilizzare AWS DMS Time Travel per registrare ed eseguire il debug delle attività di replica. Con questo approccio usi Amazon S3 per archiviare e crittografare i log con le chiavi di crittografia. Puoi recuperare i log S3 utilizzando i filtri di data e ora, quindi puoi visualizzare, scaricare e offuscare i log in base alle esigenze. In questo modo, puoi andare indietro nel tempo per esaminare le attività del database.

Puoi usare Time Travel con gli endpoint di origine PostgreSQL supportati da DMS e gli endpoint di destinazione PostgreSQL e MySQL supportati da DMS. Puoi attivare Time Travel solo per le attività di pieno carico e CDC e le attività di sola CDC. Per attivare Time Travel o modificarne le impostazioni esistenti, assicurati che l'attività sia interrotta.

Per ulteriori informazioni sui log Time Travel, consulta Impostazioni delle attività Time Travel. Per le best practice per l'utilizzo dei log Time Travel, consulta Risoluzione dei problemi delle attività di replica con Time Travel.

Log AWS CloudTrail

AWS DMS è integrato con AWS CloudTrail, un servizio che offre un record delle azioni eseguite da un utente, un ruolo IAM o un servizio AWS in AWS DMS. CloudTrail acquisisce tutte le chiamate API per AWS DMS come eventi, incluse le chiamate della console AWS DMS e le chiamate del codice alle operazioni API AWS DMS. Se viene creato un trail, è possibile abilitare la distribuzione continua di eventi CloudTrail in un bucket Amazon S3, inclusi gli eventi per AWS DMS. Se non si configura un trail, è comunque possibile visualizzare gli eventi più recenti nella console di CloudTrail in Event history (Cronologia eventi). Le informazioni raccolte da CloudTrail consentono di determinare la richiesta effettuata ad AWS DMS, l'indirizzo IP da cui è partita la richiesta, l'autore della richiesta, il momento in cui è stata eseguita e altri dettagli. Per ulteriori informazioni, consulta Registrazione delle chiamate API AWS DMS con AWS CloudTrail.

Log di database

Puoi visualizzare, scaricare e osservare i log di database per gli endpoint di attività utilizzando la AWS Management Console, l'AWS CLI o l'API per il servizio di database AWS. Per ulteriori informazioni, consulta la documentazione per il servizio di database in uso nella documentazione di AWS.

Per ulteriori informazioni, consulta i seguenti argomenti.

Stato dell'attività

Lo stato dell'attività indica la condizione dell'attività. La tabella seguente mostra i possibili stati di un'attività:

Stato dell'attività Descrizione

Creating (Creazione in corso)

AWS DMS sta creando l'attività.

In esecuzione

L'attività sta eseguendo le operazioni di migrazione specificate.

Arrestate

L'attività è arrestata.

Stopping (In arresto)

L'attività è in fase di arresto. In genere, questa è un'indicazione dell'intervento dell'utente nell'attività.

Deleting (Eliminazione in corso)

L'attività è in fase di eliminazione, in genere da una richiesta di intervento dell'utente.

Failed (Non riuscito)

L'attività non è andata a buon fine. Per ulteriori informazioni, consulta i file di log delle attività.

Errore

L'attività è stata interrotta a causa di un errore. Una breve descrizione dell'errore dell'attività è fornita nella sezione dell'ultimo messaggio di errore della scheda Panoramica.

Esecuzione in corso con errori

L'attività è in esecuzione con uno stato di errore. In genere indica che non è stato possibile migrare una o più tabelle dell'attività. L'attività continua a caricare le altre tabelle in base alle regole di selezione.

Avvio di

L'attività si collega all'istanza di replica e agli endpoint di origine e di destinazione. Viene applicato qualsiasi filtro e trasformazione.

Pronto

L'attività è pronta per l'esecuzione. Questo stato segue in genere lo stato "Creating" (Creazione in corso).

Modifying (Modifica in corso)

L'attività viene modificata, in genere a causa di un'operazione dell'utente che ha modificato le impostazioni delle attività.

Spostamento in corso

L'attività è in fase di spostamento in un'altra istanza di replica. La replica rimane in questo stato fino al completamento dello spostamento. L'eliminazione dell'attività è l'unica operazione consentita sull'attività di replica durante lo spostamento.

Spostamento non riuscito

Lo spostamento dell'attività non è riuscito per un qualsiasi motivo, ad esempio lo spazio di archiviazione insufficiente sull'istanza di replica di destinazione. Quando un'attività di replica si trova in questo stato, può essere avviata, modificata, spostata o eliminata.

Test in corso

La migrazione del database specificata per questa attività viene testata in risposta all'esecuzione dell'operazione StartReplicationTaskAssessmentRun o StartReplicationTaskAssessment.

La barra di stato dell'attività fornisce una stima dell'avanzamento dell'attività. La qualità di questa stima dipende dalla qualità delle statistiche della tabella del database di origine; migliori sono le statistiche della tabella, più accurata è la stima. Per le attività con una sola tabella che non prevede alcuna statistica delle righe stimate, non siamo in grado di fornire alcuna stima della percentuale di completamento. In questo caso, lo stato dell'attività e l'indicazione delle righe caricate può essere utilizzata per confermare che l'attività è effettivamente in esecuzione e in avanzamento.

Tieni presente che la colonna "Ultimo aggiornamento" della console DMS indica solo l'ora in cui AWS DMS ha eseguito l'ultimo aggiornamento del record delle statistiche per una tabella. Non indica l'ora dell'ultimo aggiornamento della tabella.

Oltre a utilizzare la console DMS, è possibile generare una descrizione delle attività di replica correnti comprensiva dello stato usando il comando aws dms describe-replication-tasks nella AWS CLI, come illustrato nell'esempio seguente.

{ "ReplicationTasks": [ { "ReplicationTaskIdentifier": "moveit2", "SourceEndpointArn": "arn:aws:dms:us-east-1:123456789012:endpoint:6GGI6YPWWGAYUVLKIB732KEVWA", "TargetEndpointArn": "arn:aws:dms:us-east-1:123456789012:endpoint:EOM4SFKCZEYHZBFGAGZT3QEC5U", "ReplicationInstanceArn": "arn:aws:dms:us-east-1:123456789012:rep:T3OM7OUB5NM2LCVZF7JPGJRNUE", "MigrationType": "full-load", "TableMappings": ...output omitted... , "ReplicationTaskSettings": ...output omitted... , "Status": "stopped", "StopReason": "Stop Reason FULL_LOAD_ONLY_FINISHED", "ReplicationTaskCreationDate": 1590524772.505, "ReplicationTaskStartDate": 1590619805.212, "ReplicationTaskArn": "arn:aws:dms:us-east-1:123456789012:task:K55IUCGBASJS5VHZJIINA45FII", "ReplicationTaskStats": { "FullLoadProgressPercent": 100, "ElapsedTimeMillis": 0, "TablesLoaded": 0, "TablesLoading": 0, "TablesQueued": 0, "TablesErrored": 0, "FreshStartDate": 1590619811.528, "StartDate": 1590619811.528, "StopDate": 1590619842.068 } } ] }

Stato delle tabelle durante le attività

La console AWS DMS aggiorna le informazioni riguardanti lo stato delle tabelle durante la migrazione. La tabella seguente mostra i valori di stato possibili:

Istanza di replica AWS Database Migration Service
Stato Descrizione

Table does not exist (Questa tabella non esiste)

AWS DMS non è in grado di trovare la tabella sull'endpoint di origine.

Before load (Prima del caricamento)

Il processo di caricamento completo è stato attivato, ma non ancora avviato.

Full load (Caricamento completo)

Il processo di caricamento completo è in corso.

Table completed (Tabella completata)

Il caricamento completo è stato eseguito.

Table cancelled (Tabella annullata)

Il caricamento della tabella è stato annullato.

Table error (Errore della tabella)

Si è verificato un errore durante il caricamento della tabella.

Monitoraggio delle attività di replica usando Amazon CloudWatch

Puoi usare gli allarmi o gli eventi di Amazon CloudWatch per monitorare la migrazione in maniera più efficace. Per ulteriori informazioni su Amazon CloudWatch, consulta Che cosa sono Amazon CloudWatch, Eventi Amazon CloudWatch e File di log Amazon CloudWatch? nella Guida per l'utente di Amazon CloudWatch. Tieni presente che l'utilizzo di Amazon CloudWatch comporterà un addebito.

Se l'attività di replica non crea i log CloudWatch, consulta AWS DMSnon crea registri CloudWatch nella guida alla risoluzione dei problemi.

La console AWS DMS mostra le statistiche CloudWatch di base per ciascuna attività, che includono lo stato dell'attività, la percentuale di completamento, il tempo trascorso e le statistiche delle tabelle, come mostrato di seguito. Seleziona l'attività di replica, quindi scegli la scheda Parametri CloudWatch.

Per visualizzare e modificare le impostazioni del log delle attività CloudWatch scegli Modifica la registrazione delle attività. Per ulteriori informazioni, consulta Registrazione delle impostazioni delle attività.

Monitoraggio di AWS DMS

Quando si seleziona la scheda Statistiche della tabella, la console AWS DMS mostra per ogni tabella le statistiche delle prestazioni, tra cui il numero di inserimenti, eliminazioni e aggiornamenti.

Monitoraggio di AWS DMS

Inoltre, se selezioni un'istanza di replica nella pagina Istanza di replica, puoi visualizzare le metriche relative alle prestazioni dell'istanza selezionando la scheda Parametri CloudWatch.

Monitoraggio di AWS DMS

Parametri di AWS Database Migration Service

AWS DMS fornisce le statistiche per i seguenti elementi:

  • Parametri host: statistiche di prestazioni e utilizzo dell'host di replica fornite da Amazon CloudWatch. Per un elenco completo dei parametri disponibili, consulta Parametri dell'stanza di replica.

  • Parametri dell'attività di replica: statistiche delle attività di replica, tra cui le modifiche in entrata e quelle sottoposte a commit nonché la latenza tra l'host di replica ed entrambi i database di origine e di destinazione. Per un elenco completo dei parametri disponibili, consulta Parametri dell'attività di replica.

  • Parametri tabella: statistiche delle tabelle in fase di migrazione, tra cui il numero di inserimenti, aggiornamenti, eliminazioni e istruzioni DDL completati.

I parametri dell'attività sono divisi in statistiche tra l'host di replica e l'endpoint di origine e statistiche tra l'host di replica e l'endpoint di destinazione. Puoi determinare le statistiche totali di un'attività unendo due statistiche correlate. Ad esempio, puoi determinare la latenza totale o il ritardo della replica di un'attività combinando i valori CDCLatencySource e CDCLatencyTarget.

I valori dei parametri dell'attività possono essere influenzati dall'attività corrente sul database di origine. Ad esempio, se una transazione è iniziata ma non è stata sottoposta al commit, il parametro CDCLatencySource continua a crescere finché non verrà eseguito il commit della transazione.

Per l'istanza di replica, il parametro FreeableMemory richiede chiarimenti. La memoria liberabile non è un'indicazione della memoria effettiva libera disponibile. È la memoria attualmente in uso che può essere liberata e utilizzata per altri scopi; è una combinazione di buffer e cache in uso sull'istanza di replica.

Sebbene il parametro FreeableMemory non rifletta la memoria effettiva libera disponibile, la combinazione dei parametri FreeableMemory e SwapUsage può indicare se l'istanza di replica è sovraccarica.

Monitora questi due parametri per le seguenti condizioni.

  • Prossimità allo zero del parametro FreeableMemory.

  • Aumento o oscillazione del parametro SwapUsage.

Se si verifica una di queste due condizioni, significa che devi considerare il passaggio a un'istanza di replica di dimensioni maggiori. Devi anche considerare di dover ridurre il numero e il tipo di attività in esecuzione nell'istanza di replica. Le attività di caricamento completo richiedono più memoria di quelle che replicano solo modifiche.

Per stimare approssimativamente i requisiti di memoria effettivi per un'attività di migrazione AWS DMS, è possibile utilizzare i seguenti parametri.

Colonne LOB

Il numero medio di colonne LOB di ogni tabella nell'ambito della migrazione.

Maximum number of tables to load in parallel (Numero massimo di tabelle da caricare in parallelo)

Il numero massimo di tabelle caricate da AWS DMS in parallelo in un'unica attività.

Il valore predefinito è 8.

Dimensione blocco LOB

La dimensione in kilobyte dei blocchi LOB utilizzati da AWS DMS per replicare i dati nel database di destinazione.

Tasso di commit durante il pieno carico

Il numero massimo di record che AWS DMS può trasferire in parallelo.

Il valore predefinito è 10,000.

Dimensione LOB

La dimensione massima in kilobyte di un singolo LOB.

Dimensione array in blocco

Il numero massimo di righe che vengono recuperate o elaborate dal driver dell'endpoint. Questo valore dipende dalle impostazioni del driver.

Il valore predefinito è 1,000.

Dopo aver determinato questi valori, puoi utilizzare uno dei seguenti metodi per stimare la quantità di memoria richiesta per l'attività di migrazione. I metodi dipendono dall'opzione scelta per Impostazioni della colonna LOB nell'attività di migrazione.

  • Per Modalità LOB completa usa la formula seguente.

    Required memory = (LOB columns) * (Maximum number of tables to load in parallel) * (LOB chunk size) * (Commit rate during full load)

    Considera un esempio in cui le tabelle di origine includono in media 2 colonne LOB e la dimensione dei blocchi LOB è di 64 KB. Se utilizzi i valori predefiniti per Maximum number of tables to load in parallel e Commit rate during full load, la quantità di memoria richiesta per l'attività è determinata come segue.

    Required memory = 2 * 8 * 64 * 10,000 = 10,240,000 KB

    Nota

    Per ridurre il valore di Tasso di commit durante il pieno carico, apri la console AWS DMS, scegli Attività di migrazione del database e crea o modifica un'attività. Espandi Impostazioni avanzate e inserisci il valore per Tasso di commit durante il pieno carico.

  • Per Modalità LOB limitata usa la formula seguente.

    Required memory = (LOB columns) * (Maximum number of tables to load in parallel) * (LOB size) * (Bulk array size)

    Considera un esempio in cui le tabelle di origine includono in media 2 colonne LOB e la dimensione massima di un singolo LOB è di 4.096 KB. Se utilizzi i valori predefiniti per Maximum number of tables to load in parallel e Bulk array size, la quantità di memoria richiesta per l'attività è determinata come segue.

    Required memory = 2 * 8 * 4,096 * 1,000 = 65,536,000 KB

AWS DMS esegue le conversioni in modo ottimale quando la CPU è disponibile al momento delle conversioni. Il sovraccarico della CPU e la mancanza di risorse CPU sufficienti possono causare migrazioni lente. AWS DMS può richiedere un uso intensivo della CPU, soprattutto quando si eseguono migrazioni e repliche eterogenee, come la migrazione da Oracle a PostgreSQL. In questi casi, la classe di istanza di replica C4 può rappresentare una scelta adeguata. Per ulteriori informazioni, consulta Scelta dell'istanza di replica AWS DMS giusta per la migrazione.

Parametri dell'stanza di replica

Il monitoraggio dell'istanza di replica include le metriche Amazon CloudWatch per le seguenti statistiche.

Parametro

Descrizione

AvailableMemory

Una stima della quantità di memoria disponibile per l'avvio di nuove applicazioni, senza swap. Per ulteriori informazioni, consulta il valore MemAvailable nella sezione /proc/memInfo di Linux man-pages.

Unità: byte

CPUAllocated

La percentuale massima di CPU allocata per l'attività (0 indica nessun limite).

AWS DMS aumenta questa metrica in relazione alle dimensioni combinate di ReplicationInstanceIdentifer e ReplicationTaskIdentifier nella console CloudWatch. Utilizza la categoria ReplicationInstanceIdentifier, ReplicationTaskIdentifier per visualizzare questa metrica.

Unità: percentuale

CPUUtilization

La percentuale della vCPU (CPU virtuale) allocata attualmente in uso nell'istanza.

Unità: percentuale

DiskQueueDepth

Il numero di richieste di lettura/scrittura (I/O) in sospeso che sono in attesa di accedere al disco.

Unità: numero

FreeStorageSpace

La quantità di spazio di storage disponibile.

Unità: byte

FreeMemory

La quantità di memoria fisica disponibile per l'uso da parte delle applicazioni, della cache delle pagine e delle strutture di dati del kernel. Per ulteriori informazioni, consulta il valore MemFree nella sezione /proc/memInfo di Linux man-pages.

Unità: byte

FreeableMemory

La quantità di memoria RAM disponibile.

Unità: byte

MemoryAllocated

L'allocazione massima di memoria per l'attività (0 indica nessun limite).

AWS DMS aumenta questa metrica in relazione alle dimensioni combinate di ReplicationInstanceIdentifer e ReplicationTaskIdentifier nella console CloudWatch. Utilizza la categoria ReplicationInstanceIdentifier, ReplicationTaskIdentifier per visualizzare questa metrica.

Unità: MiB

WriteIOPS

Il numero medio di operazioni di I/O di scrittura su disco al secondo.

Unità: conteggio/secondo

ReadIOPS

Il numero medio di operazioni di I/O di lettura del disco al secondo.

Unità: conteggio/secondo

WriteThroughput

Il numero medio di byte scritti sul disco al secondo.

Unità: byte/secondo

ReadThroughput

Il numero medio di byte letti dal disco al secondo.

Unità: byte/secondo

WriteLatency

La quantità di tempo media che occorre per ciascuna operazione I/O (output) su disco.

Unità: millisecondi

ReadLatency

La quantità di tempo media che occorre per ciascuna operazione I/O (input) su disco.

Unità: millisecondi

SwapUsage

La quantità di spazio di swapping utilizzato sull'istanza di replica.

Unità: byte

NetworkTransmitThroughput

Il traffico di rete in uscita (trasmissione) sull'istanza di replica, inclusi il traffico del database del cliente e il traffico di AWS DMS utilizzati per le attività di monitoraggio e replica.

Unità: byte/secondo

NetworkReceiveThroughput

Il traffico di rete in entrata (ricezione) sull'istanza di replica, inclusi il traffico del database del cliente e il traffico di AWS DMS utilizzati per le attività di monitoraggio e replica.

Unità: byte/secondo

Parametri dell'attività di replica

Il monitoraggio dell'attività di replica include le metriche per le seguenti statistiche.

Parametro

Descrizione

FullLoadThroughputBandwidthTarget

Dati in uscita trasmessi da un pieno carico per la destinazione in KB al secondo.

FullLoadThroughputRowsTarget

Modifiche in uscita da un pieno carico per la destinazione in righe al secondo.

CDCIncomingChanges

Numero totale di eventi di modifica in un momento specifico in attesa di essere applicati alla destinazione. Tieni presente che questo non equivale alla misura della frequenza di modifica della transazione dell'endpoint di origine. Un numero elevato per questa metrica indica in genere che AWS DMS non è in grado di applicare le modifiche acquisite in modo tempestivo, causando un'elevata latenza nella destinazione.

CDCChangesMemorySource

Quantità di righe che si accumulano in una memoria e attendono il commit dall'origine. È possibile visualizzare questa metrica insieme a CDCChangesDiskSource.

CDCChangesMemoryTarget

Quantità di righe che si accumulano in una memoria e attendono il commit alla destinazione. È possibile visualizzare questa metrica insieme a CDCChangesDiskTarget.

CDCChangesDiskSource

Quantità di righe che si accumulano su disco e attendono il commit dall'origine. È possibile visualizzare questa metrica insieme a CDCChangesMemorySource.

CDCChangesDiskTarget

Quantità di righe che si accumulano su disco e attendono il commit alla destinazione. È possibile visualizzare questa metrica insieme a CDCChangesMemoryTarget.

CDCThroughputBandwidthTarget

Dati in uscita trasmessi per la destinazione in KB al secondo. CDCThroughputBandwidth registra i dati in uscita trasmessi sui punti di campionamento. Se non viene rilevato traffico di rete per l'attività, il valore è zero. CDC non emette transazioni di lunga durata, pertanto il traffico di rete potrebbe non essere registrato.

CDCThroughputRowsSource

Modifiche dell'attività in entrata dall'origine in righe al secondo.

CDCThroughputRowsTarget

Modifiche dell'attività in uscita per la destinazione in righe al secondo.

CDCLatencySource

Il divario, in secondi, tra l'ultimo evento acquisito dall'endpoint di origine e il timestamp di sistema corrente dell'istanza AWS DMS. CDCLatencySource rappresenta la latenza tra l'origine e l'istanza di replica. Un valore di CDCLatencySource elevato indica che il processo di acquisizione delle modifiche dall'origine è ritardato. Per identificare la latenza di una replica continua, è possibile visualizzare questa metrica insieme a CDCLatencyTarget. Se i valori di CDCLatencySource e CDCLatencyTarget sono entrambi elevati, esamina prima CDCLatencySource.

Il valore di CDCSourceLatency può essere 0 quando non vi è alcun ritardo di replica tra l'origine e l'istanza di replica. Inoltre, il valore di CDCSourceLatency può diventare zero quando l'attività di replica tenta di leggere l'evento successivo nel log delle transazioni dell'origine e non vengono rilevati nuovi eventi rispetto all'ultima lettura dell'origine. In questo caso, l'attività reimposta CDCSourceLatency su 0.

CDCLatencyTarget

Il divario, in secondi, tra il primo timestamp dell'evento in attesa di commit sulla destinazione e il timestamp corrente dell'istanza AWS DMS. La latenza della destinazione è la differenza tra l'ora del server dell'istanza di replica e l'ID dell'evento non confermato meno recente inoltrato a un componente di destinazione. In altre parole, la latenza della destinazione è la differenza di timestamp tra l'istanza di replica e l'evento meno recente applicato ma non confermato dall'endpoint di destinazione (99%). Quando il valore di CDCLatencyTarget è elevato, indica che il processo di applicazione degli eventi di modifica alla destinazione è ritardato. Per identificare la latenza di una replica continua, è possibile visualizzare questa metrica insieme a CDCLatencySource. Se il valore di CDCLatencyTarget è elevato, ma non quello di CDCLatencySource, verifica se:

  • mancano indici o chiave primarie nella destinazione;

  • si verificano colli di bottiglia relativi alle risorse nella destinazione o nell'istanza di replica;

  • i problemi di rete risiedono tra l'istanza di replica e la destinazione.

CPUUtilization

La percentuale di CPU utilizzata da un'attività su più core. La semantica della metrica CPUUtilization dell'attività è leggermente diversa da quella della metrica CPUUtilization della replica. Se una vCPU è completamente utilizzata, indica il 100%, ma se sono in uso più vCPU, il valore potrebbe essere superiore al 100%.

Unità: percentuale

SwapUsage

La quantità di memoria swap utilizzata dall'attività.

Unità: byte

MemoryUsage

La quantità di memory.usage_in_bytes utilizzata da un'attività nel gruppo di controllo (cgroup). DMS usa i cgroup per controllare l'utilizzo delle risorse di sistema, come memoria e CPU. Questa metrica indica l'utilizzo in megabyte della memoria di un'attività nel relativo cgroup allocato. I limiti del cgroup si basano sulle risorse disponibili per la classe di istanza di replica DMS. Il valore di memory.usage_in_bytes è costituito dai componenti di memoria RSS (Resident Set Size), cache e swap. Il sistema operativo può recuperare la memoria cache se necessario. Ti consigliamo di monitorare anche la metrica dell'istanza di replica AvailableMemory.

AWS DMS aumenta questa metrica in relazione alle dimensioni combinate di ReplicationInstanceIdentifer e ReplicationTaskIdentifier nella console CloudWatch. Utilizza la categoria ReplicationInstanceIdentifier, ReplicationTaskIdentifier per visualizzare questa metrica.

Visualizzazione e gestione dei log delle attività AWS DMS

È possibile utilizzare Amazon CloudWatch per registrare le informazioni sulle attività durante un processo di migrazione AWS DMS. Attivare la registrazione quando si selezionano le impostazioni delle attività. Per ulteriori informazioni, consulta Registrazione delle impostazioni delle attività.

Per visualizzare i registri di un'attività eseguita, attenersi alla seguente procedura:

  1. Aprire la console AWS DMS e scegliere Attività di migrazione database dal riquadro di navigazione. Viene visualizzata la finestra di dialogo Attività di migrazione del database.

  2. Selezionare il nome dell’attività. Viene visualizzata la finestra di dialogo Dettagli panoramica.

  3. Individuare la sezione Registri attività di migrazione e scegliere Visualizza log CloudWatch.

Inoltre, è possibile utilizzare la AWS CLI o l'API AWS DMS per visualizzare le informazioni sui log delle attività. Per farlo, usa il comando describe-replication-instance-task-logs della AWS CLI oppure l'operazione DescribeReplicationInstanceTaskLogs dell'API AWS DMS.

Ad esempio, il seguente comando della AWS CLI mostra i metadati dei log delle attività in formato JSON.

$ aws dms describe-replication-instance-task-logs \ --replication-instance-arn arn:aws:dms:us-east-1:237565436:rep:CDSFSFSFFFSSUFCAY

Un esempio di risposta del comando è la seguente.

{ "ReplicationInstanceTaskLogs": [ { "ReplicationTaskArn": "arn:aws:dms:us-east-1:237565436:task:MY34U6Z4MSY52GRTIX3O4AY", "ReplicationTaskName": "mysql-to-ddb", "ReplicationInstanceTaskLogSize": 3726134 } ], "ReplicationInstanceArn": "arn:aws:dms:us-east-1:237565436:rep:CDSFSFSFFFSSUFCAY" }

In questo tipo di risposta, un unico log dell'attività (mysql-to-ddb) è associato all'istanza di replica. La dimensione del log è 3.726.124 byte.

Puoi utilizzare le informazioni restituite da describe-replication-instance-task-logs per diagnosticare e risolvere eventuali problemi relativi ai log delle attività. Ad esempio, se abiliti la registrazione del log dettagliato del debug per un'attività, la dimensione del log delle attività crescerà rapidamente, consumando potenzialmente tutto lo spazio di archiviazione disponibile sull'istanza di replica e causando la modifica dello stato dell'istanza su storage-full. Con la descrizione dei log delle attività, puoi determinare quelli non più necessari ed eliminarli, liberando spazio di storage.

Per eliminare i log di un'attività, configura l'impostazione DeleteTaskLogs su true. Ad esempio, il JSON seguente elimina i log delle attività quando si modifica un'attività utilizzando il comando modify-replication-task della AWS CLI o l'operazione ModifyReplicationTask dell'API AWS DMS.

{ "Logging": { "DeleteTaskLogs":true } }

Registrazione delle chiamate API AWS DMS con AWS CloudTrail

AWS DMS è integrato con AWS CloudTrail, un servizio che offre un record delle operazioni eseguite da un utente, un ruolo o un servizio AWS in AWS DMS. CloudTrail acquisisce tutte le chiamate API per AWS DMS come eventi, incluse le chiamate della console AWS DMS e le chiamate del codice alle operazioni API AWS DMS. Se viene creato un trail, è possibile abilitare la distribuzione continua di eventi CloudTrail in un bucket Amazon S3, inclusi gli eventi per AWS DMS. Se non si configura un trail, è comunque possibile visualizzare gli eventi più recenti nella console di CloudTrail in Event history (Cronologia eventi). Le informazioni raccolte da CloudTrail consentono di determinare la richiesta effettuata ad AWS DMS, l'indirizzo IP da cui è partita la richiesta, l'autore della richiesta, il momento in cui è stata eseguita e altri dettagli.

Per ulteriori informazioni su CloudTrail, consultare la AWS CloudTrailGuida per l'utente di .

Informazioni su AWS DMS in CloudTrail

CloudTrail è abilitato sull'account AWS al momento della sua creazione. Quando si verifica un'attività in AWS DMS, tale attività viene registrata in un evento CloudTrail insieme ad altri eventi di servizio AWS nella Cronologia eventi. È possibile visualizzare, cercare e scaricare gli eventi recenti nell'account AWS. Per ulteriori informazioni, consulta Visualizzazione di eventi mediante la cronologia eventi di CloudTrail.

Per una registrazione continua degli eventi nell'account AWS che includa gli eventi per AWS DMS, creare un trail. Un percorso abilita la distribuzione da parte di CloudTrail dei file di log in un bucket Amazon S3. Per impostazione predefinita, quando si crea un trail nella console, il trail sarà valido in tutte le regioni AWS. Il percorso registra gli eventi da tutte le regioni AWSnella partizione AWS e distribuisce i file di log nel bucket Simple Storage Service (Amazon S3) specificato. Inoltre, è possibile configurare altri servizi AWS per analizzare con maggiore dettaglio e usare i dati evento raccolti nei log CloudTrail. Per ulteriori informazioni, consulta:

Tutte le operazioni AWS DMS vengono registrate da CloudTrail e sono documentate nella documentazione di riferimento delle API di AWS Database Migration Service. Ad esempio, le chiamate alle operazioni CreateReplicationInstance, TestConnection e StartReplicationTask generano voci nei file di log di CloudTrail.

Ogni evento o voce di log contiene informazioni sull'utente che ha generato la richiesta. Le informazioni di identità consentono di determinare quanto segue:

  • Se la richiesta è stata effettuata con le credenziali dell'utente IAM o root.

  • Se la richiesta è stata effettuata con le credenziali di sicurezza temporanee per un ruolo o un utente federato.

  • Se la richiesta è stata effettuata da un altro servizio AWS.

Per ulteriori informazioni, consulta Elemento CloudTrail userIdentity.

Comprensione delle voci dei file di log di AWS DMS

Un trail è una configurazione che consente la distribuzione di eventi come i file di log in un bucket Amazon S3 specificato. I file di log di CloudTrail possono contenere una o più voci di log. Un evento rappresenta una singola richiesta da un'fonte e include informazioni sul operazione richiesta, data e ora dell'operazione, parametri richiesti e così via. I file di log di CloudTrail non sono una traccia stack ordinata delle chiamate pubbliche dell'API, quindi non vengono visualizzati in un ordine specifico.

L'esempio seguente mostra una voce di log di CloudTrail che illustra l'operazione RebootReplicationInstance.

{ "eventVersion": "1.05", "userIdentity": { "type": "AssumedRole", "principalId": "AKIAIOSFODNN7EXAMPLE:johndoe", "arn": "arn:aws:sts::123456789012:assumed-role/admin/johndoe", "accountId": "123456789012", "accessKeyId": "ASIAYFI33SINADOJJEZW", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2018-08-01T16:42:09Z" }, "sessionIssuer": { "type": "Role", "principalId": "AKIAIOSFODNN7EXAMPLE", "arn": "arn:aws:iam::123456789012:role/admin", "accountId": "123456789012", "userName": "admin" } } }, "eventTime": "2018-08-02T00:11:44Z", "eventSource": "dms.amazonaws.com", "eventName": "RebootReplicationInstance", "awsRegion": "us-east-1", "sourceIPAddress": "72.21.198.64", "userAgent": "console.amazonaws.com", "requestParameters": { "forceFailover": false, "replicationInstanceArn": "arn:aws:dms:us-east-1:123456789012:rep:EX4MBJ2NMRDL3BMAYJOXUGYPUE" }, "responseElements": { "replicationInstance": { "replicationInstanceIdentifier": "replication-instance-1", "replicationInstanceStatus": "rebooting", "allocatedStorage": 50, "replicationInstancePrivateIpAddresses": [ "172.31.20.204" ], "instanceCreateTime": "Aug 1, 2018 11:56:21 PM", "autoMinorVersionUpgrade": true, "engineVersion": "2.4.3", "publiclyAccessible": true, "replicationInstanceClass": "dms.t2.medium", "availabilityZone": "us-east-1b", "kmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/f7bc0f8e-1a3a-4ace-9faa-e8494fa3921a", "replicationSubnetGroup": { "vpcId": "vpc-1f6a9c6a", "subnetGroupStatus": "Complete", "replicationSubnetGroupArn": "arn:aws:dms:us-east-1:123456789012:subgrp:EDHRVRBAAAPONQAIYWP4NUW22M", "subnets": [ { "subnetIdentifier": "subnet-cbfff283", "subnetAvailabilityZone": { "name": "us-east-1b" }, "subnetStatus": "Active" }, { "subnetIdentifier": "subnet-d7c825e8", "subnetAvailabilityZone": { "name": "us-east-1e" }, "subnetStatus": "Active" }, { "subnetIdentifier": "subnet-6746046b", "subnetAvailabilityZone": { "name": "us-east-1f" }, "subnetStatus": "Active" }, { "subnetIdentifier": "subnet-bac383e0", "subnetAvailabilityZone": { "name": "us-east-1c" }, "subnetStatus": "Active" }, { "subnetIdentifier": "subnet-42599426", "subnetAvailabilityZone": { "name": "us-east-1d" }, "subnetStatus": "Active" }, { "subnetIdentifier": "subnet-da327bf6", "subnetAvailabilityZone": { "name": "us-east-1a" }, "subnetStatus": "Active" } ], "replicationSubnetGroupIdentifier": "default-vpc-1f6a9c6a", "replicationSubnetGroupDescription": "default group created by console for vpc id vpc-1f6a9c6a" }, "replicationInstanceEniId": "eni-0d6db8c7137cb9844", "vpcSecurityGroups": [ { "vpcSecurityGroupId": "sg-f839b688", "status": "active" } ], "pendingModifiedValues": {}, "replicationInstancePublicIpAddresses": [ "18.211.48.119" ], "replicationInstancePublicIpAddress": "18.211.48.119", "preferredMaintenanceWindow": "fri:22:44-fri:23:14", "replicationInstanceArn": "arn:aws:dms:us-east-1:123456789012:rep:EX4MBJ2NMRDL3BMAYJOXUGYPUE", "replicationInstanceEniIds": [ "eni-0d6db8c7137cb9844" ], "multiAZ": false, "replicationInstancePrivateIpAddress": "172.31.20.204", "patchingPrecedence": 0 } }, "requestID": "a3c83c11-95e8-11e8-9d08-4b8f2b45bfd5", "eventID": "b3c4adb1-e34b-4744-bdeb-35528062a541", "eventType": "AwsApiCall", "recipientAccountId": "123456789012" }

Registrazione di log di contesto AWS DMS

AWS DMS utilizza la registrazione di log di contesto per fornire informazioni su una migrazione in corso. La registrazione di log di contesto scrive nel log CloudWatch dell'attività informazioni come le seguenti:

  • Informazioni sulla connessione dell'attività ai database di origine e di destinazione.

  • Comportamento dell'attività di replica. Puoi utilizzare i log delle attività per diagnosticare i problemi di replica.

  • Istruzioni SQL senza dati eseguite da AWS DMS sui database di origine e di destinazione. Puoi utilizzare i log SQL per diagnosticare i comportamenti di migrazione imprevisti.

  • Dettagli sulla posizione del flusso per ogni evento CDC.

La registrazione di log di contesto è disponibile solo in AWS DMS 3.5.0 o versioni successive.

AWS DMS attiva la registrazione di log di contesto per impostazione predefinita. Per controllare la registrazione di log di contesto, configura l'impostazione dell'attività EnableLogContext su true o false oppure modifica l'attività nella console.

AWS DMS scrive le informazioni del log di contesto nell'attività di replica del log CloudWatch ogni tre minuti. Assicurati che l'istanza di replica disponga dello spazio sufficiente per il log dell'applicazione. Per ulteriori informazioni sulla gestione dei log delle attività, consulta Visualizzazione e gestione dei log delle attività AWS DMS.

Tipi di oggetto

AWS DMS genera la registrazione di log di contesto in CloudWatch per i seguenti tipi di oggetti.

Tipo di oggetto Descrizione
TABLE_NAME Queste voci di log contengono informazioni sulle tabelle che rientrano nell'ambito della regola di mappatura delle attività corrente. Puoi utilizzare queste voci per esaminare gli eventi della tabella per un periodo specifico durante la migrazione.
SCHEMA_NAME Queste voci di log contengono informazioni sugli schemi utilizzati dalla regola di mappatura delle attività corrente. Puoi utilizzare queste voci per determinare lo schema usato da AWS DMS per un periodo specifico durante la migrazione.
TRANSACTION_ID Queste voci contengono l'ID della transazione per ogni modifica DML/DDL acquisita dal database di origine. Puoi utilizzare queste voci di log per determinare le modifiche che sono avvenute durante una determinata transazione.
CONNECTION_ID Queste voci contengono l'ID della connessione. Puoi utilizzare queste voci di log per determinare la connessione usata da AWS DMS per ogni fase della migrazione.
STATEMENT Queste voci contengono il codice SQL utilizzato per recuperare, elaborare e applicare ogni modifica della migrazione.
STREAM_POSITION Queste voci contengono la posizione nel file di log delle transazioni di ogni azione di migrazione sul database di origine. Il formato di queste voci varia a seconda del tipo di motore del database di origine. Inoltre, puoi utilizzare queste informazioni per determinare la posizione iniziale di un checkpoint di ripristino durante la configurazione della replica sola CDC.

Esempi di log

In questa sezione sono illustrati esempi di record di log che puoi utilizzare per monitorare la replica e diagnosticarne i problemi.

Esempi di log di connessione

In questa sezione sono illustrati esempi di log che includono gli ID della connessione.

2023-02-22T10:09:29 [SOURCE_CAPTURE ]I: Capture record 1 to internal queue from Source {operation:START_REGULAR (43), connectionId:27598, streamPosition:0000124A/6800A778.NOW} (streamcomponent.c:2920) 2023-02-22T10:12:30 [SOURCE_CAPTURE ]I: Capture record 0 to internal queue from Source {operation:IDLE (51), connectionId:27598} (streamcomponent.c:2920) 2023-02-22T11:25:27 [SOURCE_CAPTURE ]I: Capture record 0 to internal queue from Source {operation:IDLE (51), columnName:region, connectionId:27598} (streamcomponent.c:2920)

Esempi di log di comportamento delle attività

In questa sezione sono illustrati esempi di log relativi al comportamento del log delle attività di replica. Puoi utilizzare queste informazioni per diagnosticare i problemi di replica, ad esempio un'attività nello stato IDLE.

I seguenti log SOURCE_CAPTURE indicano che non ci sono eventi disponibili da leggere nel file di log del database di origine e contengono record TARGET_APPLY che indicano che non ci sono eventi ricevuti dai componenti CDC AWS DMS da applicare al database di destinazione. Questi eventi contengono anche i dettagli di contesto relativi agli eventi applicati in precedenza.

2023-02-22T11:23:24 [SOURCE_CAPTURE ]I: No Event fetched from wal log (postgres_endpoint_wal_engine.c:1369) 2023-02-22T11:24:29 [TARGET_APPLY ]I: No records received to load or apply on target , waiting for data from upstream. The last context is {operation:INSERT (1), tableName:sales_11, schemaName:public, txnId:18662441, connectionId:17855, statement:INSERT INTO "public"."sales_11"("sales_no","dept_name","sale_amount","sale_date","region") values (?,?,?,?,?),

Esempi di log di istruzioni SQL

In questa sezione sono illustrati esempi di log relativi alle istruzioni SQL eseguite sui database di origine e di destinazione. Le istruzioni SQL presenti nei log mostrano solo l'istruzione e non i dati. Il seguente log TARGET_APPLY mostra un'istruzione INSERT eseguita sulla destinazione.

2023-02-22T11:26:07 [TARGET_APPLY ]I: Applied record 2193305 to target {operation:INSERT (1), tableName:sales_111, schemaName:public, txnId:18761543, connectionId:17855, statement:INSERT INTO "public"."sales_111"("sales_no","dept_name","sale_amount","sale_date","region") values (?,?,?,?,?),

Limitazioni

Le seguenti limitazioni si applicano alla registrazione di log di contesto AWS DMS:

  • AWS DMS crea una registrazione di log minima per tutti i tipi di endpoint e la registrazione di log di contesto estesa specifica del motore è disponibile solo per i seguenti tipi di endpoint. Ti consigliamo di attivare la registrazione di log di contesto quando usi questi tipi di endpoint.

    • MySQL

    • PostgreSQL

    • Oracle

    • Microsoft SQL Server

    • MongoDB/Amazon DocumentDB

    • Amazon S3