Todas as notas

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.