Monitorar e registrar em log no DynamoDB
O monitoramento é uma parte importante da manutenção da confiabilidade, disponibilidade e performance do DynamoDB e de suas soluções da AWS. É necessário coletar dados de monitoramento de todas as partes da solução da AWS para facilitar a depuração de uma falha em vários pontos.
Tópicos
- Plano de monitoramento
- Linha de base de performance
- Serviços integrados
- Ferramentas de monitoramento automatizadas
- Monitorar métricas no DynamoDB com o Amazon CloudWatch
- Registrar em log as operações do DynamoDB usando o AWS CloudTrail
- Analisar acesso a dados usando o CloudWatch Contributor Insights para DynamoDB
Plano de monitoramento
Antes de começar a monitorar o DynamoDB, crie um plano de monitoramento que inclua as respostas para as seguintes perguntas:
-
Quais são seus objetivos de monitoramento?
-
Quais recursos você vai monitorar?
-
Com que frequência você vai monitorar esses recursos?
-
Quais ferramentas de monitoramento você usará?
-
Quem realizará o monitoramento das tarefas?
-
Quem deve ser notificado quando algo der errado?
Linha de base de performance
Estabeleça uma referência de performance normal do DynamoDB no ambiente. Para isso, é necessário medir a performance em vários momentos e em diferentes condições de carga. Ao monitorar o DynamoDB, você deve pensar na possibilidade de armazenar os dados históricos de monitoramento. Esses dados armazenados proporcionam uma linha de base com a qual comparar os dados de desempenho atuais, identificar padrões normais de desempenho e anomalias de desempenho e criar métodos para a solução de problemas. Para estabelecer uma linha de base, é preciso, no mínimo, monitorar os seguintes itens:
-
O número de unidades de capacidade de leitura ou gravação consumidas ao longo do período de tempo especificado, para que você possa acompanhar quanto do throughput provisionado foi usado.
-
As solicitações que excederam a capacidade de gravação ou de leitura provisionada de uma tabela durante o período especificado, para que você possa determinar as solicitações que excedem as cotas de throughput provisionado de uma tabela.
-
Erros de sistema, para que você possa determinar se todas as solicitações resultaram em um erro.
Serviços integrados
O DynamoDB monitora automaticamente as tabelas para você e relata métricas por meio do Amazon CloudWatch. Além disso, o DynamoDB integra-se aos Serviços da AWS a seguir para ajudar a monitorar e solucionar problemas nos recursos do DynamoDB.
-
O AWS CloudTrail captura chamadas de API e eventos relacionados feitos por sua conta da Conta da AWS ou em nome dela e entrega os arquivos de log a um bucket do Amazon S3 que você especificar. Para ter mais informações, consulte Registrar em log as operações do DynamoDB usando o AWS CloudTrail.
-
O Contributor Insights é uma ferramenta de diagnóstico para identificar rapidamente as chaves com controle de utilização acessadas com maior frequência na tabela ou no índice. Para ter mais informações, consulte Analisar acesso a dados usando o CloudWatch Contributor Insights para DynamoDB.
Ferramentas de monitoramento automatizadas
A AWS fornece várias ferramentas que você pode usar para monitorar o DynamoDB. Recomendamos que as tarefas de monitoramento sejam automatizadas ao máximo possível. Você pode usar as seguintes ferramentas de monitoramento automatizadas para observar o DynamoDB e gerar relatórios quando algo estiver errado:
-
Alarmes do AWS CloudTrail: observe uma única métrica ao longo de um período que você especificar e realize uma ou mais ações com base no valor da métrica em relação a determinado limite ao longo de vários períodos.
A ação é uma notificação enviada a um tópico do Amazon Simple Notification Service (Amazon SNS) ou a uma política do Amazon EC2 Auto Scaling. Os alarmes do AWS CloudTrail não invocam ações simplesmente porque estão em um estado específico. O estado deve ter sido alterado e mantido por um número específico de períodos. Para ter mais informações, consulte Monitorar métricas no DynamoDB com o Amazon CloudWatch.
-
Monitoramento de logs do AWS CloudTrail: compartilhe arquivos de log entre contas, monitore os arquivos de log do AWS CloudTrail em tempo real enviando-os ao AWS CloudTrail Logs, grave aplicações de processamento de logs em Java e confirme que os arquivos de log não foram alterados após a entrega pelo AWS CloudTrail. Para ter mais informações, consulte What is Amazon CloudWatch Logs no Guia do usuário do AWS CloudTrail.