Imaginamos que você tem sua instância do EC2 executando contêineres docker. Você provavelmente está usando docker-compose para orquestração de contêiner (eu sei que existem soluções melhores).

Neste Dica, mostrarei o que você precisa fazer para armazenar logs de contêiner do Docker no serviço AWS Cloud Watch Logs.

O que é preciso fazer:

  • Criar um Log Group
  • Criar uma IAM Role
  • Configurar serviço Docker

Criar um Log Group:

No AWS Console, acesse o CloudWatch e localize Logs/Log groups. Em seguida, crie um novo Log Group. Uma dica é usar algo relacionado ao nome do software ou algo como Ec2-instanceid-docker:

Criar uma IAM Role

Tem mais de uma maneira de dar acesso à instância do EC2 para serviço AWS, mas usar uma função IAM é o jeito mais fácil.

Criar Nova Função IAM

Crie uma nova police com o conteúdo abaixo:

{}""]VSetrast{}ieomne"n"]"":tA,ER"cfe":tfs2i"""eo0[olllcu1noootr2"ggg"c-:sss:e1:::"0[CPC":-rurA1etel"7aLal*"toto",egewLEL"ovo,gegSnGttrrsoe"ua,pm"",

Depois anexe essa função a EC2 que possui os containers.

Configurar serviço Docker

Agora vem a parte mais mão na massa dessa dica, como ativar o pluguin do docker para o AWSLOGS:

O que vamos fazer é dizer ao docker daemon para falar com o AWS CloudWatch Logs. Primeiro edite /etc/docker/daemon.json para que tenha esta informação:

{}""}lloo""ggaa--wwdossrpllitoovsgge"ssr:--"rg:{ergo"iuaopwn"s"l::og""sem"uy,--cseenrtvriacle--1d"e,v"

Em seguida reinicie o docker:

systemctl restart docker.service ou service docker restart

A última etapa é opcional. Se você não fizer isso no docker-compose, verá fluxos de log com nomes baseados no ID do contêiner.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
services:

  mongo:
    logging:
      options:
        awslogs-stream: mongo
    image: mongo
    restart: always
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: example

  mongo-express:
    logging:
      options:
        awslogs-stream: mongo-express
    image: mongo-express
    restart: always
    ports:
      - 8081:8081
    environment:
      ME_CONFIG_MONGODB_ADMINUSERNAME: root
      ME_CONFIG_MONGODB_ADMINPASSWORD: example

Por hoje é isso pessoal espero que seja útil pra alguém e se quiser pode deixar um comentário aqui em baixo :D