Kubernetes를 사용하여 응용 프로그램 고정 이미지를 배포하고 있습니다.docker에서 cloudwatch로 응용 프로그램 로그를 보내는 방법
응용 프로그램 로그를 가져 와서 cloudwatch에 넣을 수 있기를 바랍니다.
응용 프로그램 로그는 마이크로 서비스가 빌드 된 언어에 따라 log4j 또는 log4js를 사용하여 생성됩니다.
어떻게해야할까요?
Kubernetes를 사용하여 응용 프로그램 고정 이미지를 배포하고 있습니다.docker에서 cloudwatch로 응용 프로그램 로그를 보내는 방법
응용 프로그램 로그를 가져 와서 cloudwatch에 넣을 수 있기를 바랍니다.
응용 프로그램 로그는 마이크로 서비스가 빌드 된 언어에 따라 log4j 또는 log4js를 사용하여 생성됩니다.
어떻게해야할까요?
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
내가보기 엔 당신이 우위에 따라 제안; 우분투를 사용하고 문서를 따르십시오. 바퀴를 다시 발명하지 마십시오.
이 질문은 How to Send Kubernetes Logs to AWS CloudWatch?과 비슷하게 들립니다. Kubernetes는 도커 지원과 같은 사용자 지정 로그 드라이버를 지원하지 않습니다. fluentd를 사용하여 로그를 cloudwatch로 보낼 수 있습니다.
@ jersten 이것은 EC2 인스턴스에서 실행되는 고정 인스턴스가 아닌 EC2 인스턴스에서 수행하는 방법을 설명합니다. – user1676688
@ jersten 어떻게 할 수 있는지에 대한 문서가 있습니까? 또한 IAM 정책은 어떻습니까? IAM 정책에 필요한 부두 고정자 관련 사항이 있습니까? – user1676688