NOTAS DE ESTUDO
AWS - Monitoramento em nuvem
Métricas do Amazon CloudWatch
- CloudWatch fornece métricas para os serviços AWS.
- Uma métrica é uma variável monitorada, como CPUUtilization ou NetworkIn.
- As métricas possuem timestamps.
- É possível criar dashboards com essas métricas.
Métricas importantes
- EC2: utilização de CPU, verificações de estado e rede; RAM não é incluída por padrão.
- Métricas padrão a cada cinco minutos.
- Monitoramento detalhado: métricas a cada minuto.
- EBS: leituras e gravações em disco.
- S3: BucketSizeBytes, NumberOfObjects e AllRequests.
- Cobrança: Total Estimated Charge, apenas em us-east-1.
- Limites de serviços: uso de APIs de um serviço.
- Métricas personalizadas: envio de métricas próprias.
Alarmes do Amazon CloudWatch
- Disparam notificações a partir de métricas.
- Ações disponíveis:
- Auto Scaling: aumentar ou diminuir a quantidade desejada de instâncias EC2.
- EC2: parar, encerrar, reiniciar ou recuperar uma instância.
- SNS: enviar uma notificação para um tópico.
- O período de avaliação do alarme é configurável.
- Exemplo: alarme de cobrança usando a métrica Billing.
- Estados: OK, INSUFFICIENT_DATA e ALARM.
Amazon CloudWatch Logs
- Coleta logs de:
- Aplicações no Elastic Beanstalk.
- Contêineres no ECS.
- Funções AWS Lambda.
- CloudTrail, com filtros.
- Agentes CloudWatch em EC2 ou servidores locais.
- Consultas DNS no Route 53.
- Permite monitoramento em tempo real.
- A retenção dos logs é ajustável.
CloudWatch Logs para EC2
- Por padrão, os logs da instância EC2 não são enviados ao CloudWatch.
- É necessário executar um agente e selecionar os arquivos enviados.
- As permissões IAM precisam estar corretas.
- O agente também pode ser instalado em servidores locais.
Amazon EventBridge
- Agendamento: tarefas cron e scripts programados.
- Padrões de eventos: regras que reagem a ações de serviços.
- Pode invocar Lambda e enviar mensagens SQS/SNS.
- Schema Registry: modelagem de esquemas de eventos.
- É possível arquivar todos os eventos ou um subconjunto do event bus, por prazo determinado ou indefinidamente.
- Eventos arquivados podem ser reproduzidos.
AWS CloudTrail
- Governança, conformidade e auditoria da conta AWS.
- Habilitado por padrão.
- Histórico de eventos e chamadas de API realizados por console, SDK, CLI e serviços AWS.
- Logs podem ser enviados a CloudWatch Logs ou S3.
- Uma trilha pode abranger todas as regiões, padrão, ou apenas uma.
AWS X-Ray
- A abordagem tradicional de depuração em produção envolve testes locais, logs espalhados pelo código e novo deploy.
- Formatos de log diferentes entre aplicações dificultam a análise.
- Depurar um monólito é mais simples que depurar serviços distribuídos.
- Falta uma visão comum de toda a arquitetura.
- O X-Ray oferece análise visual das aplicações.
- Vantagens:
- Investigar gargalos de desempenho.
- Entender dependências em microsserviços.
- Localizar problemas nos serviços.
- Analisar o comportamento das requisições.
- Encontrar erros e exceções.
- Verificar o cumprimento de SLAs de tempo.
- Identificar pontos de limitação de requisições.
- Identificar os usuários afetados.
Amazon CodeGuru
- Serviço de aprendizado de máquina para revisão automática de código e recomendações de desempenho.
- CodeGuru Reviewer: análise estática durante o desenvolvimento.
- CodeGuru Profiler: visibilidade e recomendações de desempenho em execução, na produção.
CodeGuru Reviewer
- Identifica problemas críticos, vulnerabilidades e bugs difíceis de localizar.
- Exemplos: boas práticas, vazamento de recursos, detecção de problemas de segurança e validação de entrada.
- Usa aprendizado de máquina e raciocínio automatizado.
- Aproveita aprendizados de milhões de revisões em milhares de repositórios abertos e da Amazon.
- Suporta Java e Python.
- Integração com GitHub, Bitbucket e AWS CodeCommit.
CodeGuru Profiler
- Ajuda a entender o comportamento da aplicação em execução.
- Exemplo: identificar uso excessivo de CPU em uma rotina de logging.
- Recursos:
- Identificar e remover ineficiências.
- Melhorar desempenho, como reduzir utilização de CPU.
- Diminuir custos computacionais.
- Resumir o heap, identificando objetos que consomem memória.
- Detectar anomalias.
- Atender aplicações na AWS ou em ambiente local.
- Gerar pouca sobrecarga na aplicação.
AWS Health Dashboard - histórico dos serviços
- Mostra a saúde dos serviços em todas as regiões.
- Histórico diário.
- Feed RSS para assinatura.
- Anteriormente chamado AWS Service Health Dashboard.
AWS Health Dashboard - sua conta
- Anteriormente chamado AWS Personal Health Dashboard.
- Alertas e orientações de recuperação quando eventos AWS podem afetar seus recursos.
- O painel geral mostra o estado dos serviços; o painel da conta oferece uma visão personalizada do desempenho e da disponibilidade dos serviços utilizados pelos seus recursos.
- Apresenta informações relevantes sobre eventos em andamento e notificações proativas para atividades agendadas.
- Pode agregar dados de uma organização AWS inteira.
- Serviço global.
- Mostra como interrupções da AWS afetam diretamente seus recursos.
- Inclui alertas, recuperação, informações proativas e atividades agendadas.