2017-05-10 7 views
0

Kubernetes를 사용하여 응용 프로그램 고정 이미지를 배포하고 있습니다.docker에서 cloudwatch로 응용 프로그램 로그를 보내는 방법

응용 프로그램 로그를 가져 와서 cloudwatch에 넣을 수 있기를 바랍니다.

응용 프로그램 로그는 마이크로 서비스가 빌드 된 언어에 따라 log4j 또는 log4js를 사용하여 생성됩니다.

어떻게해야할까요?

+0

@ jersten 이것은 EC2 인스턴스에서 실행되는 고정 인스턴스가 아닌 EC2 인스턴스에서 수행하는 방법을 설명합니다. – user1676688

+0

@ jersten 어떻게 할 수 있는지에 대한 문서가 있습니까? 또한 IAM 정책은 어떻습니까? IAM 정책에 필요한 부두 고정자 관련 사항이 있습니까? – user1676688

답변

1

Cloudwatch 에이전트가 설치된 컨테이너를 만듭니다. to do this you will need a Dockerfile. Amazon even has docs specifically for this.

기본 컨테이너가 데비안 또는 RHEL 기반인지 확인해야합니다 (Amazon docs는 에이전트와 함께 이러한 유형의 배포를 지원하는 것 같습니다).

curl https://s3.amazonaws.com//aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -O 

그래서, 당신은 당신이 컨테이너를 빌드 할 때 위의를 실행해야합니다 예를 들어, 데비안 기반 시스템에 설치된 에이전트를해야합니다.

자세한 내용은 here입니다.

IAM 정책 관련 문제에 대해 언급하셨습니다. ; 컨테이너에 액세스 할 수 있는지 확인해야합니다.

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Effect": "Allow", 
      "Action": [ 
       "logs:CreateLogGroup", 
       "logs:CreateLogStream", 
       "logs:PutLogEvents", 
       "logs:DescribeLogStreams" 
      ], 
      "Resource": [ 
       "arn:aws:logs:*:*:*" 
      ] 
     }, 
     { 
      "Effect": "Allow", 
      "Action": [ 
       "s3:GetObject" 
      ], 
      "Resource": [ 
       "arn:aws:s3:::myawsbucket/*" 
      ] 
     } 
    ] 
} 

사람 GitHub has done this already에 :

FROM ubuntu:latest 
MAINTAINER Ryuta Otaki <[email protected]>, Sergey Zhukov <[email protected]> 
... 
RUN apt-get install -q -y python python-pip wget 
RUN cd/; wget https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py 

내가보기 엔 당신이 우위에 따라 제안; 우분투를 사용하고 문서를 따르십시오. 바퀴를 다시 발명하지 마십시오.

0

이 질문은 How to Send Kubernetes Logs to AWS CloudWatch?과 비슷하게 들립니다. Kubernetes는 도커 지원과 같은 사용자 지정 로그 드라이버를 지원하지 않습니다. fluentd를 사용하여 로그를 cloudwatch로 보낼 수 있습니다.