Ferramentas de monitoramento do Amazon ECS - Amazon Elastic Container Service

Ferramentas de monitoramento do Amazon ECS

A AWS fornece várias ferramentas que podem ser usadas para monitorar o Amazon ECS. É possível configurar algumas dessas ferramentas para fazer o monitoramento em seu lugar, e, ao mesmo tempo, algumas das ferramentas exigem intervenção manual. Recomendamos que as tarefas de monitoramento sejam automatizadas ao máximo possível.

Ferramentas de monitoramento automatizadas

É possível usar as seguintes ferramentas automatizadas de monitoramento para observar o Amazon ECS e gerar relatórios quando algo estiver errado:

  • Alarmes do Amazon CloudWatch: observe uma única métrica ao longo de um período que você especificar e execute uma ou mais ações com base no valor da métrica em relação a um determinado limite ao longo de vários períodos. A ação é uma notificação enviada para um tópico do Amazon Simple Notification Service (Amazon SNS) ou uma política do Amazon EC2 Auto Scaling. Os alarmes do CloudWatch não invocam ações simplesmente por estarem 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 Monitoramento do Amazon ECS usando o CloudWatch.

    Para serviços com tarefas que usam o tipo de inicialização do Fargate, você pode usar os alarmes do CloudWatch para expandir e reduzir as tarefas no serviço, com base em métricas do CloudWatch, como a utilização da CPU e da memória. Para ter mais informações, consulte Como escalar automaticamente o serviço do Amazon ECS.

    Para clusters com tarefas ou serviços que usam o tipo de inicialização do EC2, você pode usar os alarmes do CloudWatch para expandir e reduzir as instâncias de contêiner com base em métricas do CloudWatch, como a reserva de memória do cluster.

    Para instâncias de contêiner iniciadas com a AMI do Amazon Linux otimizada para Amazon ECS, é possível usar o CloudWatch Logs para exibir logs diferentes das suas instâncias de contêiner em um local conveniente. Você deve instalar o agente do CloudWatch nas suas instâncias de contêiner. Para obter mais informações, consulte Baixar e configurar o agente do CloudWatch usando a linha de comando no Guia do usuário do Amazon CloudWatch. Você também deve anexar a política ECS-CloudWatchLogs ao perfil ecsInstanceRole. Para ter mais informações, consulte Monitorar permissões de instâncias de contêiner.

  • Amazon CloudWatch Logs: monitore, armazene e acesse os arquivos de log nos contêineres nas tarefas do Amazon ECS especificando o driver de log awslogs nas definições de tarefa. Para ter mais informações, consulte Envio de logs do Amazon ECS para o CloudWatch .

    Você também pode monitorar, armazenar e acessar os arquivos de log do sistema operacional e do agente de contêiner do Amazon ECS nas instâncias de contêiner do Amazon ECS. Este método para acessar logs pode ser usado para contêineres que usem o tipo de inicialização do EC2.

  • Amazon CloudWatch Events: faça correspondência de eventos e direcione-os a uma ou mais funções ou streams de destino para fazer alterações, capturar informações de estado e realizar ações corretivas. Para obter mais informações, consulte Automatização de respostas a erros do Amazon ECS usando o EventBridge neste guia e O EventBridge é a evolução do Amazon CloudWatch Events no Guia do usuário Amazon EventBridge.

  • Container Insights: colete, agregue e resuma métricas e logs de aplicações e microsserviços em contêineres. O Container Insights coleta dados como eventos de log de performance usando formato de métrica incorporado. Esses eventos de log de desempenho são entradas que usam um esquema JSON estruturado que permite que dados de alta cardinalidade sejam ingeridos e armazenados em grande escala. Com base nesses dados, o CloudWatch cria métricas agregadas no nível de cluster, tarefa e serviço como métricas do CloudWatch. As métricas que o Container Insights coleta estão disponíveis nos painéis automáticos do CloudWatch e também podem ser visualizadas na seção Métricas do console do CloudWatch.

  • Monitoramento de log do AWS CloudTrail: compartilhe arquivos de log entre contas, monitore arquivos de log do CloudTrail em tempo real enviando-os para o CloudWatch Logs, grave aplicações de processamento de logs em Java e confirme se os arquivos de log não foram alterados após a entrega pelo CloudTrail. Para obter mais informações, consulte Registro em log das chamadas de API do Amazon ECS usando o AWS CloudTrail neste guia e Trabalhar com arquivos de log do CloudTrail noGuia do usuário do AWS CloudTrail.

  • Monitoramento de runtime: detecta ameaças em clusters e contêineres no ambiente da AWS. O monitoramento de runtime usa um agente de segurança do GuardDuty que adiciona visibilidade de runtime às workloads individuais do Amazon ECS, por exemplo, acesso a arquivos, execução de processos e conexões de rede.

Ferramentas de monitoramento manual

Outra parte importante do monitoramento do Amazon ECS envolve o monitoramento manual dos itens que os alarmes do CloudWatch não abrangem. O CloudWatch, o Trusted Advisor e outros painéis de console da AWS apresentam uma visão rápida do estado do seu ambiente na AWS. Recomendamos que você também verifique os arquivos de log nas instâncias de contêiner e os contêineres nas tarefas.

  • Console do Amazon ECS:

    • Métricas de cluster para o tipo de execução do EC2

    • Métricas de serviço

    • Estado de integridade do serviço

    • Evenetos de implantações de serviços

  • Página inicial do CloudWatch:

    • Alertas e status atual

    • Gráficos de alertas e recursos

    • Estado de integridade do serviço

    Além disso, é possível usar o CloudWatch para fazer o seguinte:

    • Criar painéis personalizados para monitorar os serviços com os quais você se preocupa.

    • Colocar em gráfico dados de métrica para solucionar problemas e descobrir tendências.

    • Pesquise e procure todas as métricas de recursos da AWS.

    • Criar e editar alertas para ser notificado sobre problemas.

  • Verificação de integridade do contêiner: esses comandos são executados localmente em um contêiner e validam a integridade e a disponibilidade da aplicação. Você os configura por contêiner na definição de tarefa.

  • O AWS Trusted Advisor pode ajudar a monitorar os recursos da AWS para melhorar a performance, a confiabilidade, a segurança e a economia. Quatro verificações do Trusted Advisor estão disponíveis a todos os usuários; mais de 50 verificações estão disponíveis para usuários com um plano de suporte Business ou Enterprise. Para ter mais informações, consulte AWS Trusted Advisor.

    O Trusted Advisor tem estas verificações que se referem ao Amazon ECS:

    • Uma tolerância a falhas que indica a existência de um serviço em execução em uma única zona de disponibilidade.

    • Uma tolerância a falhas indicando que você não usou a estratégia de posicionamento de distribuição para várias zonas de disponibilidade.

  • O AWS Compute Optimizer é um serviço que analisa as métricas de configuração e utilização dos seus recursos da AWS. O serviço informa se seus recursos estão em condições ideais e gera recomendações de otimização para reduzir o custo e melhorar a performance de suas workloads.

    Para ter mais informações, consulte Recomendações do AWS Compute Optimizer para o Amazon ECS.