Amazon Elastic Container Service (ECS) é um serviço de orquestração de contêineres fornecido pela Amazon Web Services (AWS). É uma solução desenvolvida pela AWS para resolver o problema de gerenciamento de grandes cluster de contêineres.

Por que usar o ECS?

Existem outras ferramentas de orquestração de contêineres, cada uma com suas vantagens, mas o ECS é feito para a AWS e oferece integração fácil com o ecossistema AWS. Você pode usá-lo com o AWS Elastic Load Balancer (ELB), AWS Identity and Access Management (IAM), AWS CloudTrail, armazenar dados persistentes no AWS Elastic Block Store ou monitorá-los com AWS CloudWatch.

Você pode usá-lo também com AWS Fargate, que é um motor de computação sem serviço que fornece contêineres totalmente gerenciados.

O que é Monitoramento?

Monitoramento é o processo de rastrear e observar o desempenho, disponibilidade e saúde geral de seus recursos, serviços e aplicações. Isso ajuda a detectar e resolver problemas antes que eles afetem usuários, melhorar a confiabilidade e disponibilidade das aplicações, otimizar o uso de recursos e aumentar a segurança das suas aplicações.

É apenas uma forma de certificar-se que toda a infraestrutura estiver rodando como deveria. Também o ajuda a saber quanto tráfego sua aplicação está recebendo, se for um aplicativo web ou site, e o que realmente está acontecendo com ele.

Existem diferentes aspectos de monitoramento, alguns dos quais incluem:

  • Monitoramento de desempenho: Aqui, rastreamos e monitorizamos as métricas de desempenho da infraestrutura, como uso de CPU, consumo de memória, disco, I/O e redes, e assim por diante.

  • Monitoramento de erros e logs: Aqui, coletamos e analisamos logs e mensagens de erro.

  • Monitoramento de disponibilidade: Garantimos que os sistemas estejam funcionando.

  • Monitoramento de segurança: Também rastreamos e monitamos eventos e atividades relacionadas à segurança para responder a ameaças e vulnerabilidades potenciais. O monitoramento pode ajudar você a detectar coisas como um ataque de DoS, identificando padrões incomuns no tráfego de entrada.

O que você monitora no ECS?

No monitoramento da nuvem, métricas são usadas para monitorar a saúde e o desempenho da infraestrutura. Elas são usadas em conjunto com dimensões. Métricas são os pontos de dados coletados e monitorados para medir o desempenho, saúde e uso de seus recursos e serviços na nuvem.

Dimensões são atributos e características que ajudam a filtrar, categorizar e dar contexto às métricas. Elas são representadas sob a forma de pares chave/valor.

A Amazon ECS fornece várias métricas para o monitoramento de recursos. Algumas delas incluem:

  • Reserva de CPU: Esta é a porcentagem de unidades de CPU reservadas por tarefas em execução.

  • Reserva de Memória: Porcentagem de memória reservada por tarefas em execução.

  • Utilização de CPU: Esta é a porcentagem de unidades de CPU utilizadas por tarefas em execução.

  • Utilização de Memória: Esta é a porcentagem de memória usada por tarefas em execução.

  • Instâncias de Container: Este é o número de instâncias de container no cluster.

  • Contagem de Tarefas em Execução: O número de tarefas que estão sendo executadas atualmente no cluster.

A Amazon ECS também fornece dimensões, algumas das quais são:

  • Nome do Container: O nome do container.

  • Nome do Cluster: O nome do cluster ECS.

  • ServiceName: O nome do serviço

  • ServiceNameSpace: O namespace usado para agrupar um conjunto de serviços em um cluster.

  • InstanceType: Isso se refere ao tipo de instância EC2 usada. Por exemplo: t2.micro, c4.large, r5.xlarge, e assim por diante.

  • TaskID: O identificador único atribuído a cada tarefa.

No AWS ECS, você pode monitorar seus recursos em diferentes níveis. Por exemplo, no nível do cluster, você pode olhar para coisas como CPUUtilization, CPUReservation, MemoryUtilization e MemoryReservation. No nível do serviço, você pode ver coisas como CPUUtilization e MemoryUtilization.

Como você monitora o ECS**?**

Você pode fazer isso usando:

Amazon CloudWatch: Este é um serviço de monitoramento da AWS que permite coletar, analisar e visualizar dados dos seus recursos AWS. Também ajuda você a configurar alarmes e ser notificado quando um limite é alcançado.

AWS Management Console: Você também pode visualizar as métricas do seu cluster ou serviço diretamente na console de gerenciamento.

A API do ECS: A API do ECS fornece acesso programático ao serviço ECS para que você possa usá-lo para criar, modificar e monitorar clusters e recursos fora da AWS.

Ferramentas de terceiros: Existem ferramentas de terceiros como Datadog, Prometheus e outras que podem ser usadas para monitorar essas métricas. Algumas funcionarão perfeitamente com a AWS, enquanto outras exigirão que você instale um agente.

Para monitorar o ECS em instâncias EC2, você tem acesso direto às instâncias EC2 subjacentes e pode usar ferramentas de monitoramento de servidor tradicionais para monitorar métricas no sistema operacional. No entanto, para o ECS no Fargate, você não tem acesso às instâncias EC2.

Como Monitorar Clusters ECS com o AWS CloudWatch

Com o AWS CloudWatch, você pode monitorar seus clusters ECS de várias maneiras, desde métricas até logs e configuração de alarmes. Neste guia, vou mostrar como usar os Painéis Automáticos para visualizar as métricas de cluster ECS. Para fazer isso, siga estes passos:

  1. Na Console de Gerenciamento da AWS, abra o CloudWatch e vá para Painéis na barra lateral.

  1. Clique na guia Painéis Automáticos.

  1. Clique em Cluster ECS. Isso o levará ao painel onde você verá as métricas pré-configuradas para seus clusters ECS.

Você também pode expandir métricas individuais.

Concluindo

Neste artigo, você aprendeu sobre monitoramento do ECS. Você aprendeu sobre as diferentes métricas que pode monitorar e como monitorá-las.

Por fim, você aprendeu como monitorar clusters ECS usando o AWS CloudWatch.

Obrigado por ler. Você pode se conectar comigo no LinkedIn ou me seguir no X.