1

AWS EC2 인스턴스에서 도커 작성으로 실행되는 몇 개의 도커 컨테이너가 있습니다. AWS CloudWatch로 로그를 보내려고합니다. 또한 Docker 컨테이너에서 AWS CloudWatch로 Sierra를 실행하는 Mac에서 로그를 가져 오는 중에 문제가 발생하여 Amazon AMI를 실행하는 EC2 인스턴스로 이동했습니다.AWS에 로그 Docker 컨테이너에서 Cloudwatch

내 고정 표시기-작성 파일 : 나는 실행하면

version: '2' 
services: 
    scraper: 
    build: ./Scraper/ 
    logging: 
    driver: "awslogs" 
    options: 
     awslogs-region: "eu-west-1" 
     awslogs-group: "permission-logs" 
     awslogs-stream: "stream" 
    volumes: 
    - ./Scraper/spiders:/spiders 

가 고정 표시기를-구성 나는 다음과 같은 오류 얻을 :

scraper_1 | WARNING: no logs are available with the 'awslogs' log driver

을하지만 용기가 실행 중입니다. AWS CloudWatch 스트림에 로그가 표시되지 않습니다. 고정 컨테이너가 실행되는 EC2 컨테이너에 IAM 역할을 할당했습니다.

저는 지금해야 할 일에 대해 완전히 손해를 보았고 조언을 듣고 싶습니다.

+0

당신은 ECS 클러스터에서 또는 일반 EC2에서이 작업을 실행하고 있습니까 :

나는 그것이 나를 위해 일한이 튜토리얼을 사용? – talentedmrjones

+0

일반 EC2에서 실행 중입니다. – user7692855

답변

-1

사용중인 AWS 로그 드라이버 awslogs은 EC2 컨테이너 서비스 (ECS)와 함께 사용하기위한 것입니다. 일반 EC2에서는 작동하지 않습니다. See documentation.

단일 노드 ECS cluster을 만드는 것이 좋습니다. 해당 클러스터의 EC2 인스턴스에 역할이 있고 해당 역할이 Cloudwatch 로그에 쓸 수있는 권한을 제공하는지 확인하십시오.

stdout에 로그하는 컨테이너의 내용은 awslogs 드라이버에 캡처되어 Cloudwatch 로그로 스트리밍됩니다.

+0

https://docs.docker.com/engine/admin/logging/awslogs/#tag에는 ECS에서만 작동한다는 것을 나타내는 내용이 없습니다. 사실, 또는 "(Amazon EC2 인스턴스에서 Docker 데몬을 실행중인 경우) Amazon EC2 인스턴스 프로파일." 다른 곳에서 일한다고 믿게 만들 것입니다. – user7692855

+0

Docker 문서를 사용하여 AWS 작동에 대한 권한을 부여하지 않습니다. 실수하지 않으면 EC2에서 실행되는 ECS 클라이언트에 의존하는 해당 로그 드라이버. 그 점에서 클라이언트를 설치하고 잠재적으로 도움이되는지 확인할 수 있습니다. – talentedmrjones

+0

일반 EC2 인스턴스에서 ECS를 사용하고 있습니다. ECS는 필요하지 않습니다. – user2707671

관련 문제