Monitorar AWS DMStarefas - AWS Database Migration Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Monitorar AWS DMStarefas

O monitoramento é uma parte importante da manutenção da confiabilidade, disponibilidade e desempenho do AWS DMS e seu AWS soluções. Você deve coletar dados de monitoramento de todas as partes do seu AWS solução para que você possa depurar mais facilmente uma falha de vários pontos, caso ocorra. AWS fornece várias ferramentas para monitorar seu AWS DMS tarefas e recursos e resposta a possíveis incidentes:

AWS DMS eventos e notificações

AWS DMS usa o Amazon Simple Notification Service (AmazonSNS) para fornecer notificações quando um AWS DMS evento ocorre, por exemplo, a criação ou exclusão de uma instância de replicação. AWS DMS agrupa eventos em categorias nas quais você pode se inscrever, para que você possa ser notificado quando ocorrer um evento nessa categoria. Por exemplo, se você fizer uma assinatura na categoria de criação de uma instância de replicação específica, será notificado sempre que ocorrer um evento relacionado à criação que afete sua instância de replicação. Você pode trabalhar com essas notificações em qualquer formato suportado pela Amazon SNS por um AWS Região, como uma mensagem de e-mail, uma mensagem de texto ou uma chamada para um HTTP endpoint. Para ter mais informações, consulte Como trabalhar com eventos e notificações do Amazon SNS no AWS Database Migration Service

Status da tarefa

É possível monitorar o andamento de uma tarefa verificando o status da tarefa e monitorando a tabela de controle da tarefa. O status da tarefa indica a condição de um AWS DMS tarefa e seus recursos associados. Ele inclui indicações se a tarefa está sendo criada, iniciada, está em execução ou interrompida. Ele também inclui o estado atual das tabelas que a tarefa está migrando, por exemplo, se uma carga completa de uma tabela foi iniciada ou está em andamento e detalhes como o número de inserções, exclusões e atualizações que ocorreram para a tabela. Para obter mais informações sobre a condição de recurso de tarefa e tarefa de monitoramento, consulte Status da tarefa e Estado da tabela durante as tarefas. Para obter mais informações sobre tabelas de controle, consulte Configurações de tarefa de tabela de controle.

CloudWatch Alarmes e registros da Amazon

Usando CloudWatch os alarmes da Amazon, você observa uma ou mais métricas de tarefas em um período de tempo especificado por você. Se uma métrica exceder um determinado limite, uma notificação será enviada para um SNS tópico da Amazon. CloudWatch os alarmes não invocam ações porque estão em um estado específico. O estado deve ter sido alterado e mantido por uma quantidade especificada de períodos. AWS DMS também é usado CloudWatch para registrar as informações da tarefa durante o processo de migração. Você pode usar o AWS CLI ou o AWS DMS APIpara ver informações sobre os registros de tarefas. Para obter mais informações sobre como usar CloudWatch com AWS DMS, consulte Monitorando tarefas de replicação usando a Amazon CloudWatch. Para obter mais informações sobre monitoramento AWS DMS métricas, vejaAWS Database Migration Service métricas. Para obter mais informações sobre o uso AWS DMS registros de tarefas, consulteVisualizando e gerenciando AWS DMSregistros de tarefas.

Logs do Time Travel

Para registrar e depurar tarefas de replicação, você pode usar AWS DMS Viagem no tempo. Nessa abordagem, você utiliza o Amazon S3 para armazenar logs e criptografá-los utilizando as chaves de criptografia. É possível recuperar os logs do S3 utilizando filtros de data e hora e visualizar, baixar e ofuscar os logs conforme necessário. Ao fazer isso, é possível “voltar no tempo” para investigar as atividades do banco de dados.

Você pode usar o Time Travel com endpoints DMS de SQL origem Postgre compatíveis e endpoints Postgre e DMS My target SQL compatíveis. SQL Você pode ativar a Viagem no Tempo somente para carga total e CDC tarefas e CDC somente para tarefas. Para ativar o Time Travel ou modificar qualquer configuração existente do Time Travel, interrompa a tarefa.

Para obter mais informações sobre os logs do Time Travel, consulte Configurações de tarefa do Time Travel. Para obter as práticas recomendadas para a utilização dos logs do Time Travel, consulte Solução de problemas de tarefas de replicação com o Time Travel.

AWS CloudTrail logs

AWS DMS está integrado com AWS CloudTrail, um serviço que fornece um registro das ações realizadas por um usuário, uma IAM função ou um AWS serviço em AWS DMS. CloudTrailcaptura todas as API chamadas para AWS DMS como eventos, incluindo chamadas do AWS DMS console e de chamadas de código para o AWS DMS APIoperações. Se você criar uma trilha, poderá habilitar a entrega contínua de CloudTrail eventos para um bucket do Amazon S3, incluindo eventos para AWS DMS. Se você não configurar uma trilha, ainda poderá ver os eventos mais recentes no CloudTrail console no Histórico de eventos. Usando as informações coletadas por CloudTrail, você pode determinar a solicitação que foi feita para AWS DMS, o endereço IP do qual a solicitação foi feita, quem fez a solicitação, quando ela foi feita e detalhes adicionais. Para obter mais informações, consulte Registro em log AWS DMS APIchamadas com AWS CloudTrail.

Logs de banco de dados

Você pode visualizar, baixar e observar os registros do banco de dados dos endpoints de suas tarefas usando o AWS Management Console, AWS CLI, ou o API para o seu AWS serviço de banco de dados. Para obter mais informações, consulte a documentação do seu serviço de banco de dados em AWS documentação.

Para obter mais informações, consulte os tópicos a seguir.

Status da tarefa

O status da tarefa indica a condição da tarefa. A tabela a seguir mostra os possíveis status que uma tarefa pode ter:

Status da tarefa Descrição

Criando

AWS DMS está criando a tarefa.

Running

A tarefa está executando as ações de migração especificadas.

Interrompido

A tarefa foi interrompida.

Stopping

A tarefa está sendo interrompida. Em geral, esta é uma indicação de intervenção do usuário na tarefa.

Deleting

A tarefa está sendo excluída, normalmente a partir de uma solicitação de intervenção do usuário.

Com falha

A tarefa falhou. Para obter mais informações, consulte os arquivos de log da tarefa.

Erro

A tarefa foi interrompida devido a um erro. Uma breve descrição do erro da tarefa é fornecida na última seção de mensagens de falha da guia Visão geral.

Em execução com erros

A tarefa está sendo executada com um status de erro. Isso geralmente indica que uma ou mais tabelas na tarefa não puderam ser migradas. A tarefa continua carregando outras tabelas de acordo com as regras de seleção.

Starting

A tarefa está se conectando à instância de replicação e aos endpoints de origem e de destino. Todos os filtros e as transformações estão sendo aplicados.

Ready

A tarefa está pronta para ser executada. Este status geralmente ocorre depois do status “Creating”.

Modifying

A tarefa está sendo alterada, normalmente devido a uma ação do usuário que modificou as definições da tarefa.

Movendo

A tarefa está em processo de transferência para outra instância de replicação. A replicação permanece nesse estado até que a transferência seja concluída. A exclusão da tarefa é a única operação permitida na tarefa de replicação enquanto ela está sendo movida.

Falha na movimentação

A movimentação da tarefa falhou por algum motivo, como não haver espaço de armazenamento suficiente na instância de replicação de destino. Quando uma tarefa de replicação está nesse estado, ela pode ser iniciada, modificada, movida ou excluída.

no dispositivo

A migração do banco de dados especificada para essa tarefa está sendo testada em resposta à execução da StartReplicationTaskAssessmentRunoperação ou da StartReplicationTaskAssessmentoperação.

A barra de status de tarefa fornece uma estimativa do andamento da tarefa. A qualidade dessa estimativa depende da qualidade das estatísticas de tabela do banco de dados de origem: quanto melhores as estatísticas de tabela, mais precisa a estimativa. Para tarefas com apenas uma tabela que não tem estatísticas sobre linhas estimadas, não é possível fornecer qualquer estimativa sobre a porcentagem de conclusão. Nesse caso, o estado da tarefa e a indicação de linhas carregadas podem ser utilizados para confirmar que a tarefa realmente está sendo executada e progredindo.

Observe que a coluna “última atualização” do DMS console indica apenas a hora em que AWS DMS atualizou pela última vez o registro de estatísticas da tabela. Ela não indica a hora da última atualização da tabela.

Além de usar o DMS console, você pode gerar uma descrição das tarefas de replicação atuais, incluindo o status da tarefa, usando o aws dms describe-replication-tasks comando no AWS CLI, conforme mostrado no exemplo a seguir.

{ "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 } } ] }

Estado da tabela durante as tarefas

A ferramenta AWS DMSo console atualiza as informações sobre o estado de suas tabelas durante a migração. A tabela a seguir mostra os possíveis valores para o estado:

AWS Instância de replicação do Database Migration Service
Estado Descrição

Table does not exist

AWS DMSnão é possível encontrar a tabela no endpoint de origem.

Before load

O processamento de carga completa foi ativado, mas ainda não foi iniciado.

Full load

O processamento de carga completa está em andamento.

Table completed

O carregamento total foi concluído.

Table cancelled

O carregamento da tabela foi cancelado.

Erro de tabela

Ocorreu um erro durante o carregamento da tabela.

Monitorando tarefas de replicação usando a Amazon CloudWatch

Você pode usar CloudWatch os alarmes ou eventos da Amazon para acompanhar mais de perto sua migração. Para obter mais informações sobre a Amazon CloudWatch, consulte O que são Amazon CloudWatch, Amazon CloudWatch Events e Amazon CloudWatch Logs? no Guia do CloudWatch usuário da Amazon. Observe que há uma cobrança pelo uso da Amazon CloudWatch.

Se sua tarefa de replicação não criar CloudWatch registros, consulte o guia AWS DMS não cria CloudWatch registros de solução de problemas.

A ferramenta AWS DMS o console mostra CloudWatch estatísticas básicas para cada tarefa, incluindo o status da tarefa, a porcentagem concluída, o tempo decorrido e as estatísticas da tabela, conforme mostrado a seguir. Selecione a tarefa de replicação e, em seguida, selecione a guia de CloudWatch métricas.

Para visualizar e modificar as configurações do registro de CloudWatch tarefas, escolha Modificar registro de tarefas. Para obter mais informações, consulte Configurações de registro de tarefa.

AWS DMSmonitoramento

A ferramenta AWS DMSo console mostra estatísticas de desempenho para cada tabela, incluindo o número de inserções, exclusões e atualizações, quando você seleciona a guia Estatísticas da tabela.

AWS DMSmonitoramento

Além disso, se você selecionar uma instância de replicação na página Instância de Replicação, poderá visualizar as métricas de desempenho da instância escolhendo a guia CloudWatch Métricas.

AWS DMSmonitoramento

AWS Database Migration Service métricas

AWS O DMS fornece as seguintes estatísticas:

  • Métricas do host — estatísticas de desempenho e utilização do host de replicação, fornecidas pela Amazon. CloudWatch Para obter uma lista completa das métricas disponíveis, consulte Métricas de instâncias de replicação.

  • Métricas de tarefas de replicação: estatísticas das tarefas de replicação incluindo as alterações de entrada e confirmadas e a latência entre o host de replicação e os bancos de dados de origem e de destino. Para obter uma lista completa das métricas disponíveis, consulte Métricas de tarefas de replicação.

  • Métricas de tabela — Estatísticas de tabelas que estão sendo migradas, incluindo o número de inserções, atualizações, exclusões e DDL declarações concluídas.

As métricas de tarefas são divididas em estatísticas entre o host de replicação e o endpoint de origem, e estatísticas entre o host de replicação e o endpoint de destino. É possível determinar a estatística total de uma tarefa somando as duas estatísticas relacionadas. Por exemplo, você pode determinar a latência total, ou atraso na réplica, de uma tarefa combinando os valores e. CDCLatencySourceCDCLatencyTarget

Os valores das métricas de uma tarefa podem ser influenciados pela atividade atual do banco de dados de origem. Por exemplo, se uma transação foi iniciada, mas não foi confirmada, a CDCLatencySourcemétrica continua crescendo até que a transação seja confirmada.

Para a instância de replicação, a FreeableMemorymétrica exige esclarecimentos. Memória passível de liberação não é indicação de memória real livre disponível. É a memória que está em uso no momento que pode ser liberada e utilizada para outros fins. É uma combinação de buffers e cache em uso na instância de replicação.

Embora a FreeableMemorymétrica não reflita a memória livre real disponível, a combinação das SwapUsagemétricas FreeableMemorye pode indicar se a instância de replicação está sobrecarregada.

Monitore as seguintes condições destas duas métricas:

  • A FreeableMemorymétrica que se aproxima de zero.

  • A SwapUsagemétrica aumenta ou flutua.

Se você encontrar uma dessas duas condições, mude para uma instância de replicação maior. Você também deve reduzir o número e o tipo de tarefas em execução na instância de replicação. Tarefas de carregamento total exigem mais memória do que tarefas que apenas replicam alterações.

Para estimar aproximadamente os requisitos reais de memória para um AWS DMS tarefa de migração, você pode usar os seguintes parâmetros.

LOBcolunas

Um número médio de LOB colunas em cada tabela em seu escopo de migração.

Número máximo de tabelas para carga em paralelo

O número máximo de tabelas que AWS DMS carrega paralelamente em uma tarefa.

O valor padrão é 8.

LOBtamanho do pedaço

O tamanho dos LOB pedaços, em kilobytes, que AWS DMS usa para replicar dados no banco de dados de destino.

Taxa de confirmação durante carga máxima

O número máximo de registros que AWS DMS pode ser transferido em paralelo.

O valor padrão é 10.000.

LOBtamanho

O tamanho máximo de um indivíduoLOB, em kilobytes.

Tamanho da matriz em massa

O número máximo de linhas que são buscadas ou processadas pelo driver de endpoint. Esse valor depende das configurações do driver.

O valor padrão é 1,000.

Depois de determinar esses valores, é possível utilizar um dos métodos a seguir para estimar a quantidade de memória necessária para a tarefa de migração. Esses métodos dependem da opção escolhida para as configurações de LOB coluna em sua tarefa de migração.

  • Para o LOBmodo Completo, use a fórmula a seguir.

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

    Considere um exemplo em que suas tabelas de origem incluem, em média, 2 LOB colunas e o tamanho dos LOB fragmentos é 64 KB. Se você utilizar os valores padrão para Maximum number of tables to load in parallel e Commit rate during full load, a quantidade de memória necessária para a tarefa será a seguinte.

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

    nota

    Para reduzir o valor da taxa de confirmação durante a carga total, abra o AWS DMS console, escolha tarefas de migração de banco de dados e crie ou modifique uma tarefa. Expanda Configurações avançadas e insira seu valor para a Taxa de confirmação durante a carga máxima.

  • Para o LOBmodo Limitado, use a fórmula a seguir.

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

    Considere um exemplo em que suas tabelas de origem incluem, em média, 2 LOB colunas e o tamanho máximo de um indivíduo LOB é 4.096 KB. Se você utilizar os valores padrão para Maximum number of tables to load in parallel e Bulk array size, a quantidade de memória necessária para a tarefa será a seguinte.

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

Para AWS DMS para realizar conversões de forma otimizada, eles CPU devem estar disponíveis quando as conversões ocorrerem. Sobrecarregar o CPU e não ter CPU recursos suficientes pode resultar em migrações lentas. AWS DMS pode ser CPU intensivo, especialmente ao realizar migrações e replicações heterogêneas, como migrar do Oracle para o Postgre. SQL A classe da instância de replicação C4 pode ser uma boa opção para essas situações. Para obter mais informações, consulte Escolhendo o certo AWS DMSinstância de replicação para sua migração.

Métricas de instâncias de replicação

O monitoramento de instâncias de replicação inclui CloudWatch métricas da Amazon para as seguintes estatísticas.

Métrica

Descrição

AvailableMemory

Uma estimativa da memória disponível para iniciar novas aplicações, sem troca. Para obter mais informações, consulte o valor de MemAvailable na seção /proc/memInfo da página Linux man-pages.

Unidade: bytes

CPUAllocated

A porcentagem CPU máxima alocada para a tarefa (0 significa que não há limite).

AWS DMS eleva essa métrica em relação às dimensões combinadas de ReplicationInstanceIdentifer e ReplicationTaskIdentifier no CloudWatch console. Utilize a categoria ReplicationInstanceIdentifier, ReplicationTaskIdentifier para visualizar essa métrica.

Unidades: percentual

CPUUtilization

A porcentagem de v alocado CPU (virtualCPU) atualmente em uso na instância.

Unidades: percentual

DiskQueueDepth

O número de solicitações de leitura/gravação (E/Ss) pendentes aguardando para acessar o disco.

Unidades: contagem

FreeStorageSpace

A quantidade de espaço de armazenamento disponível.

Unidade: bytes

FreeMemory

A quantidade de memória física disponível para utilização por aplicativos, cache de páginas e para as estruturas de dados de propriedade do kernel. Para obter mais informações, consulte o valor de MemFree na seção /proc/memInfo da página Linux man-pages.

Unidade: bytes

FreeableMemory

A quantidade de memória de acesso aleatório disponível.

Unidade: bytes

MemoryAllocated

A alocação máxima de memória para a tarefa (0 significa que não há limites).

AWS DMS eleva essa métrica em relação às dimensões combinadas de ReplicationInstanceIdentifer e ReplicationTaskIdentifier no CloudWatch console. Utilize a categoria ReplicationInstanceIdentifier, ReplicationTaskIdentifier para visualizar essa métrica.

Unidades: MiB

Escreva IOPS

O número médio de operações de E/S de gravação de disco por segundo.

Unidade: contagem/segundo

Leia IOPS

O número médio de operações E/S de leitura de disco por segundo.

Unidade: contagem/segundo

WriteThroughput

O número médio de bytes gravados no disco por segundo.

Unidade: bytes/segundo

ReadThroughput

O número médio de bytes lidos do disco por segundo.

Unidade: bytes/segundo

WriteLatency

O tempo médio necessário por operação de I/O (saída) de disco.

Unidade: milissegundos

ReadLatency

O tempo médio necessário por operação de I/O (entrada) de disco.

Unidade: milissegundos

SwapUsage

A quantidade de espaço de troca utilizada na instância de replicação.

Unidade: bytes

NetworkTransmitThroughput

O tráfego de rede de saída (transmissão) na instância de replicação, incluindo o tráfego do banco de dados do cliente e AWS DMS tráfego usado para monitoramento e replicação.

Unidade: bytes/segundo

NetworkReceiveThroughput

O tráfego de rede de entrada (recebimento) na instância de replicação, incluindo o tráfego do banco de dados do cliente e AWS DMS tráfego usado para monitoramento e replicação.

Unidade: bytes/segundo

Métricas de tarefas de replicação

O monitoramento de tarefas de replicação inclui métricas para as seguintes estatísticas.

Métrica

Descrição

FullLoadThroughputBandwidthTarget

Dados de saída transmitidos de uma carga máxima para o destino em KB por segundo.

FullLoadThroughputRowsTarget

As alterações de saída de uma carga completa para o destino em linhas por segundo.

CDCIncomingChanges

O número total de eventos de alteração em um point-in-time que estão aguardando para serem aplicados ao alvo. Observe que isso não é o mesmo que uma medida da taxa de alteração de transação do endpoint de origem. Um número grande para essa métrica geralmente indica AWS DMS é incapaz de aplicar as alterações capturadas em tempo hábil, causando assim uma alta latência alvo.

CDCChangesMemorySource

O número de linhas que se acumulam na memória esperando para serem confirmadas a partir da origem. Você pode ver essa métrica junto comCDCChangesDiskSource.

CDCChangesMemoryTarget

O número de linhas que se acumulam na memória esperando para serem confirmadas no destino. Você pode ver essa métrica junto comCDCChangesDiskTarget.

CDCChangesDiskSource

O número de linhas que se acumulam no disco esperando para serem confirmadas a partir da origem. Você pode ver essa métrica junto comCDCChangesMemorySource.

CDCChangesDiskTarget

O número de linhas que se acumulam no disco esperando para serem confirmadas no destino. Você pode ver essa métrica junto comCDCChangesMemoryTarget.

CDCThroughputBandwidthTarget

Dados de saída transmitidos para o destino em KB por segundo. CDCThroughputBandwidthregistra os dados de saída transmitidos nos pontos de amostragem. Se nenhum tráfego de rede da tarefa for encontrado, o valor será zero. Como CDC não emite transações de longa duração, o tráfego de rede pode não ser registrado.

CDCThroughputRowsSource

As alterações das tarefas de entrada a partir de origem em linhas por segundo.

CDCThroughputRowsTarget

As alterações da tarefa de saída para o destino em linhas por segundo.

CDCLatencySource

A lacuna, em segundos, entre o último evento capturado do endpoint de origem e a data e hora atual do sistema do AWS DMS instância. CDCLatencySourcerepresenta a latência entre a origem e a instância de replicação. Alto CDCLatencySource significa que o processo de captura de alterações da fonte está atrasado. Para identificar a latência em uma replicação contínua, você pode visualizar essa métrica junto com o. CDCLatencyTarget Se ambos CDCLatencySource CDCLatencyTarget estiverem altos, investigue CDCLatencySource primeiro.

CDCSourceLatencypode ser 0 quando não há atraso de replicação entre a origem e a instância de replicação. CDCSourceLatencytambém pode se tornar zero quando a tarefa de replicação tenta ler o próximo evento no log de transações da origem e não há novos eventos em comparação com a última vez que ela foi lida da origem. Quando isso acontece, a tarefa redefine o CDCSourceLatency para 0.

CDCLatencyTarget

A lacuna, em segundos, entre o primeiro registro de data e hora do evento aguardando confirmação no alvo e o registro de data e hora atual do AWS DMS instância. A latência do destino é a diferença entre a hora do servidor da instância de replicação e o ID do evento não confirmado mais antigo encaminhado para um componente de destino. Em outras palavras, a latência desejada é a diferença de data e hora entre a instância de replicação e o evento mais antigo aplicado, mas não confirmado pelo TRG endpoint (99%). Quando CDCLatencyTarget está alto, indica que o processo de aplicação de eventos de mudança ao alvo está atrasado. Para identificar a latência em uma replicação contínua, você pode visualizar essa métrica junto com o. CDCLatencySource Se CDCLatencyTarget for alto, mas CDCLatencySource não for alto, investigue se:

  • Não existe nenhuma chave primária ou índice no destino

  • Os gargalos de recursos ocorrem no destino ou na instância de replicação

  • Os problemas de rede residem entre a instância de replicação e o destino

CPUUtilization

A porcentagem CPU de uso de uma tarefa em vários núcleos. A semântica da tarefa CPUUtilization é um pouco diferente da replicaçãoCPUUtilizaiton. Se 1 v CPU for totalmente usado, isso indica 100%, mas se vários vCPUs estiverem em uso, o valor poderá estar acima de 100%.

Unidades: percentual

SwapUsage

A quantidade de troca utilizada no host.

Unidade: bytes

MemoryUsage

O grupo de controle (cgroup) memory.usage_in_bytes consumido por uma tarefa. DMSusa cgroups para controlar o uso dos recursos do sistema, como memória e. CPU Essa métrica indica a utilização de memória de uma tarefa em megabytes dentro do cgroup alocado para essa tarefa. Os limites do cgroup são baseados nos recursos disponíveis para sua classe de instância de DMS replicação. memory.usage_in_bytes consiste em componentes de tamanho do conjunto residente (RSS), cache e swap da memória. O sistema operacional pode recuperar a memória cache, se necessário. Recomendamos que você também monitore a métrica da instância de replicação, AvailableMemory.

AWS DMS eleva essa métrica em relação às dimensões combinadas de ReplicationInstanceIdentifer e ReplicationTaskIdentifier no CloudWatch console. Utilize a categoria ReplicationInstanceIdentifier, ReplicationTaskIdentifier para visualizar essa métrica.

Visualizando e gerenciando AWS DMSregistros de tarefas

Você pode usar CloudWatch a Amazon para registrar as informações da tarefa durante um AWS DMS processo de migração. O registro em log é ativado quando você seleciona as configurações de tarefa. Para obter mais informações, consulte Configurações de registro de tarefa.

Para visualizar logs de uma tarefa executada, siga estas etapas:

  1. Abra as AWS DMS console e escolha Tarefas de migração de banco de dados no painel de navegação. A caixa de diálogo "Tarefas de migração de banco de dados" é exibida.

  2. Selecione o nome da tarefa. A caixa de diálogo "Detalhes da visão geral" é exibida.

  3. Localize a seção Registros de tarefas de migração e escolha Exibir CloudWatch registros.

Além disso, você pode usar o AWS CLI ou AWS DMS APIpara ver informações sobre registros de tarefas. Para fazer isso, use o describe-replication-instance-task-logs AWS CLI comando ou o AWS DMS APIaçãoDescribeReplicationInstanceTaskLogs.

Por exemplo, o seguinte AWS CLI O comando mostra os metadados do registro de tarefas em JSON formato.

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

O seguinte é um exemplo de resposta do comando.

{ "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" }

Nessa resposta, há um único log de tarefas (mysql-to-ddb) associado à instância de replicação. O tamanho do log é 3.726.124 bytes.

É possível utilizar as informações retornadas por describe-replication-instance-task-logs para diagnosticar e solucionar problemas com logs de tarefas. Por exemplo, se você ativar o log de depuração detalhada de uma tarefa, o log de tarefas crescerá rapidamente, potencialmente consumindo todo o armazenamento disponível na instância de replicação, e fazendo com que o status da instância seja alterado para storage-full. Descrevendo os logs de tarefas, é possível determinar de quais você não precisa mais e excluí-los, liberando espaço de armazenamento.

Para excluir os logs de tarefas de uma tarefa, defina a tarefa com DeleteTaskLogs definido como true. Por exemplo, o seguinte JSON exclui os registros de tarefas ao modificar uma tarefa usando o AWS CLI modify-replication-taskcomando ou o AWS DMS APIModifyReplicationTaskação.

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

Para cada instância de replicação, AWS DMS exclui registros com mais de 10 dias.

Registro em log AWS DMS APIchamadas com AWS CloudTrail

AWS DMS está integrado com AWS CloudTrail, um serviço que fornece um registro das ações realizadas por um usuário, uma função ou um AWS serviço em AWS DMS. CloudTrail captura todas as API chamadas para AWS DMS como eventos, incluindo chamadas do AWS DMS console e de chamadas de código para o AWS DMS APIoperações. Se você criar uma trilha, poderá habilitar a entrega contínua de CloudTrail eventos para um bucket do Amazon S3, incluindo eventos para AWS DMS. Se você não configurar uma trilha, ainda poderá ver os eventos mais recentes no CloudTrail console no Histórico de eventos. Usando as informações coletadas por CloudTrail, você pode determinar a solicitação que foi feita para AWS DMS, o endereço IP do qual a solicitação foi feita, quem fez a solicitação, quando ela foi feita e detalhes adicionais.

Para saber mais sobre CloudTrail, consulte o AWS CloudTrail Guia do usuário.

AWS DMS informações em CloudTrail

CloudTrail está habilitado em seu AWS conta quando você cria a conta. Quando a atividade ocorre em AWS DMS, essa atividade é registrada em um CloudTrail evento junto com outros AWS eventos de serviço no Histórico de eventos. Você pode visualizar, pesquisar e baixar eventos recentes em seu AWS conta. Para obter mais informações, consulte Visualização de eventos com histórico de CloudTrail eventos.

Para um registro contínuo dos eventos em seu AWS conta, incluindo eventos para AWS DMS, crie uma trilha. Uma trilha permite CloudTrail entregar arquivos de log para um bucket do Amazon S3. Por padrão, quando você cria uma trilha no console, a trilha se aplica a todos AWS Regiões. A trilha registra eventos de todos AWS Regiões no AWS particiona e entrega os arquivos de log para o bucket do Amazon S3 que você especificar. Além disso, você pode configurar outros AWS serviços para analisar e agir ainda mais com base nos dados do evento coletados nos CloudTrail registros. Para obter mais informações, consulte:

Todos AWS DMS as ações são registradas CloudTrail e documentadas no AWS Database Migration Service APIReferência. Por exemplo, chamadas para o CreateReplicationInstance TestConnection e StartReplicationTask as ações geram entradas nos arquivos de CloudTrail log.

Cada entrada de log ou evento contém informações sobre quem gerou a solicitação. As informações de identidade ajudam a determinar:

  • Se a solicitação foi feita com credenciais raiz ou de IAM usuário.

  • Se a solicitação foi feita com credenciais de segurança temporárias de um perfil ou de um usuário federado.

  • Se a solicitação foi feita por outro AWS serviço.

Para obter mais informações, consulte o CloudTrail userIdentityelemento.

Entendendo AWS DMS entradas do arquivo de log

Uma trilha é uma configuração que permite a entrega de eventos como arquivos de log para um bucket do Amazon S3 que você especificar. CloudTrail os arquivos de log contêm uma ou mais entradas de log. Um evento representa uma única solicitação de qualquer fonte e inclui informações sobre a ação solicitada, a data e a hora da ação, os parâmetros da solicitação e assim por diante. CloudTrail os arquivos de log não são um rastreamento de pilha ordenado das API chamadas públicas, portanto, eles não aparecem em nenhuma ordem específica.

O exemplo a seguir mostra uma entrada de CloudTrail registro que demonstra a RebootReplicationInstance ação.

{ "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" }

AWS DMS Registro em log de contexto

AWS DMS usa o registro de contexto para fornecer informações sobre uma migração em andamento. O registro de contexto grava informações, como as seguintes, no CloudWatch registro da tarefa:

  • Informações sobre a conexão da tarefa com os bancos de dados de origem e de destino.

  • Comportamento da tarefa de replicação. É possível utilizar os logs de tarefas para diagnosticar problemas de replicação.

  • SQLdeclarações sem dados que AWS DMS é executado em bancos de dados de origem e destino. Você pode usar os SQL registros para diagnosticar um comportamento de migração inesperado.

  • Detalhes da posição do stream para cada CDC evento.

O registro de contexto só está disponível em AWS DMS versão 3.5.0 ou superior.

AWS DMS ativa o registro de contexto por padrão. Para controlar o log de contexto, defina a configuração da tarefa EnableLogContext como true ou false ou modificando a tarefa no console.

AWS DMS grava as informações do log de contexto na tarefa de replicação do CloudWatch log a cada três minutos. Verifique se a instância de replicação tem espaço suficiente para o log da aplicação. Para obter mais informações sobre como gerenciar logs de tarefas, consulte Visualizando e gerenciando AWS DMSregistros de tarefas.

Tipos de objeto

AWS DMS produz login de contexto CloudWatch para os seguintes tipos de objetos.

Tipo de objeto Descrição
TABLE_NAME Essas entradas do log contêm informações sobre as tabelas que estão em escopo com a regra atual de mapeamento de tarefas. É possível utilizar essas entradas para examinar os eventos de tabelas em um período específico durante a migração.
SCHEMA_NAME Essas entradas do log contêm informações sobre os esquemas utilizados pela regra atual de mapeamento de tarefas. Você pode usar essas entradas para determinar qual esquema AWS DMS está sendo usado por um período específico durante a migração.
TRANSACTION_ID Essas entradas contêm o ID da transação para cada DML DDL /change capturada do banco de dados de origem. É possível utilizar essas entradas do log para determinar as alterações ocorridas durante uma determinada transação.
CONNECTION_ID Essas entradas contêm o ID da conexão. Você pode usar essas entradas de registro para determinar qual conexão AWS DMS usos para cada etapa da migração.
STATEMENT Essas entradas contêm o SQL código usado para buscar, processar e aplicar cada alteração de migração.
STREAM_POSITION Essas entradas contêm a posição no arquivo de log de transações de cada ação da migração no banco de dados de origem. O formato dessas entradas varia entre os tipos de mecanismo de banco de dados de origem. Você também pode usar essas informações para determinar uma posição inicial para um ponto de verificação de recuperação ao configurar a replicação CDC somente.

Exemplos de logs

Esta seção contém exemplos de registros de log que podem ser utilizados para monitorar a replicação e diagnosticar problemas de replicação.

Exemplos de logs de conexão

Esta seção contém exemplos de log que incluem conexãoIDs.

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)

Exemplos de logs de comportamento de tarefas

Esta seção contém exemplos de logs sobre o comportamento do log de tarefas de replicação. É possível utilizar essas informações para diagnosticar problemas de replicação, como uma tarefa no status IDLE.

Os SOURCE_CAPTURE registros a seguir indicam que não há eventos disponíveis para leitura no arquivo de log do banco de dados de origem e contêm TARGET_APPLY registros que indicam que não há eventos recebidos do AWS DMS CDCcomponentes a serem aplicados ao banco de dados de destino. Esses eventos também contêm detalhes de contexto relacionados a eventos aplicados anteriormente.

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

SQLexemplos de registros de instruções

Esta seção contém exemplos de log sobre SQL instruções executadas em bancos de dados de origem e destino. As SQL declarações que você vê nos registros mostram apenas a SQL declaração; elas não mostram os dados. O log de TARGET_APPLY a seguir mostra uma instrução INSERT executada no destino.

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

Limitações

As seguintes limitações se aplicam a AWS DMS registro de contexto:

  • Enquanto AWS DMS cria um registro mínimo para todos os tipos de endpoint. O extenso registro de contexto específico do mecanismo está disponível somente para os seguintes tipos de endpoint. É recomendável ativar o log de contexto ao utilizar esses tipos de endpoint.

    • Meu SQL

    • Postger SQL

    • Oracle

    • SQLServidor Microsoft

    • MongoDB/Amazon DocumentDB

    • Amazon S3