O monitoramento é uma parte essencial da fase de manutenção no ciclo de vida de desenvolvimento de software. No entanto, à medida que as empresas mudam suas operações para ambientes baseados na nuvem, ele se tornou ainda mais crítico para segurança, confiabilidade e disponibilidade de aplicações.
A Amazon Web Services (AWS) oferece várias ferramentas de monitoramento para auxiliar os usuários a monitorar seus sistemas de nuvem. As mais utilizadas e essenciais são o CloudTrail e o CloudWatch. Nesta postagem, vamos comparar essas duas ferramentas, explorar suas principais funcionalidades, capacidades, diferenças e semelhanças.
Saiba mais
Leia este artigo para saber dos benefícios de implementar a observabilidade de infraestrutura na AWS. Também vamos explorar o que a AWS oferece nessa área, além dos serviços externos que você pode integrar à sua conta da AWS para aprimorar suas capacidades de observabilidade.
O que é o AWS CloudTrail?
O AWS CloudTrail captura um registro completo de todas as atividades da API em uma conta, incluindo informações sobre o usuário ou serviço responsável, o horário e as alterações feitas. Isso fornece uma trilha de auditoria abrangente de todas as alterações na infraestrutura da AWS. Ele mantém um histórico de eventos completo com todas as atividades em contas AWS, o que o torna uma ferramenta vital para fins de conformidade e segurança.
Nos casos em que um usuário percebe que há um recurso ausente na sua conta AWS, o CloudTrail ajuda a investigar qual ação removeu o recurso, quem (ou o que) realizou a ação e quando a execução ocorreu.
O CloudTrail registra três tipos de eventos:
- Eventos de gerenciamento que afetam o ambiente da AWS (como criação de um novo usuário do IAM, inicialização de uma instância Ec2 ou modificação de grupos de segurança).
- Os eventos de dados envolvem dados dentro do serviço da AWS (como recuperação de um objeto em um bucket S3, download de um arquivo de uma instância Ec2 ou modificação do conteúdo de um banco de dados).
- Os eventos de insight fornecem informações sobre o desempenho e a integridade operacional de uma conta AWS (como cotas de serviço da AWS, práticas recomendadas de segurança e verificações de segurança).
Somente os eventos de gerenciamento são acessíveis sem custos adicionais. Eventos de dados e de insight podem incorrer em custos.
Principais funcionalidades
As principais funcionalidades do CloudTrail incluem:
- Geração de um histórico detalhado de eventos com todas as atividades em uma conta AWS.
- Possibilidade de encaminhamento de log para o CloudWatch Logs ou buckets S3 para armazenamento e análise.
- Suporte à integração com outros serviços da AWS, como SNS e CloudWatch, para facilitar arquiteturas automatizadas.
- Validação de integridade de arquivos de log para garantir sua autenticidade e a preservação.
O que é o AWS CloudWatch?
O AWS CloudWatch é um serviço de monitoramento que coleta métricas, registra eventos em log e oferece alarmes. Ele monitora os recursos da AWS e aplicações em tempo real, permitindo aos usuários da AWS otimizar seus sistemas para obter melhor desempenho e custo.
O CloudWatch consiste em vários componentes importantes, todos funcionando em conjunto para formar uma solução de monitoramento completa. Vamos analisá-los.
CloudWatch Metrics
CloudWatch Metrics usa pontos de dados quantitativos para mensurar o desempenho de recursos e aplicações da AWS. Com ele, os usuários podem monitorar a integridade e o desempenho de seus sistemas. Por exemplo, eles podem mensurar o uso da CPU, o tráfego da rede e o uso de disco/RAM.
CloudWatch Alarms
O CloudWatch Alarms dispara ações quando métricas específicas ultrapassam valores de limite críticos. Por exemplo, um usuário pode criar um CloudWatch Alarm quando a utilização da CPU de uma instância Ec2 exceder 80%. As ações disparadas pelo alarme podem ser um escalonamento da aplicação para oferecer suporte à carga adicionada e o envio de uma notificação por e-mail ao engenheiro de DevOps de plantão.
CloudWatch Events
O CloudWatch Events dispara ações em resposta a eventos específicos. Por exemplo, um CloudWatch Event pode ser configurado para ser acionado toda vez que uma instância Ec2 é inicializada. A ação resultante pode invocar uma função Lambda ou publicar em um tópico do SNS.
A AWS recomenda que seus usuários gerenciem seus eventos por meio do AWS EventBridge em vez de CloudWatch Events.
CloudWatch Logs
CloudWatch Logs coleta, analisa e armazena arquivos de log de aplicações personalizadas dentro e fora da nuvem da AWS ou dos serviços da AWS (como CloudTrail ou Lambda). Além disso, o CloudWatch Logs analisa e filtra dados de log para solucionar problemas e monitorar o desempenho de aplicações.
Outras funcionalidades do CloudWatch incluem:
- O CloudWatch Dashboards fornece uma visão personalizável das métricas e alarmes.
- O CloudWatch Unified Agent é usado para coletar métricas e logs personalizados.
- O CloudWatch Synthetics testa e monitora endpoints de aplicações.
Comparação entre o AWS CloudTrail e o AWS CloudWatch
O CloudTrail e o CloudWatch são serviços de monitoramento oferecidos pela AWS com funcionalidades diferentes e capacidades adequadas para casos de uso distintos.
O CloudTrail é usado em auditorias e monitoramento de conformidade, pois captura todas as atividades da API em uma conta AWS. Uma organização pode usar o CloudTrail para rastrear todas as chamadas de API feitas em sua conta AWS para garantir que os recursos estejam sendo acessados apenas por pessoas autorizadas.
É importante observar que, embora o CloudTrail capture os eventos de atividade da API e gere logs, ele não tem a capacidade de analisar esses logs para visualização ou de criar processos automatizados. Para fazer análises de logs do CloudTrail e estabelecer processos automatizados, é necessário transferi-los para o CloudWatch Logs. Com ele, você pode examinar os logs, criar alarmes e acionar notificações.
Por outro lado, o CloudWatch coleta, rastreia e monitora métricas, arquivos de log e eventos de recursos da AWS. Ele também fornece alarmes para notificar quando eventos específicos ocorrerem. Uma organização pode usar o CloudWatch para monitorar a integridade e o desempenho de suas aplicações e facilitar uma solução de problemas mais eficaz, caso necessário.
Os pontos a seguir mostram algumas distinções adicionais entre os dois serviços:
| CloudWatch | CloudTrail | |
|---|---|---|
| Funcionalidades gratuitas |
|
|
| Funcionalidades pagas |
|
|
| Frequência dos dados |
|
|
Sumário
O CloudTrail e o CloudWatch são duas ferramentas de monitoramento essenciais oferecidas pela AWS com diferentes funcionalidades. O CloudTrail registra todas as atividades da API em uma conta AWS, sendo adequado para fins de auditoria e conformidade. O CloudWatch é principalmente usado para monitoramento do desempenho de aplicações e recursos, alertando quando determinadas métricas exigem atenção e encontrando oportunidades de otimização e redução de custos.
A combinação dos pontos fortes desses dois serviços leva a um sistema abrangente e automatizado de monitoramento e resposta para o seu ambiente da AWS.