현재 aws (ecs / fargate 사용)로 전송중인 모놀리스가 있으며 나중에 마이크로 서비스로 분할됩니다. Apache, PHP 및 모든 프로덕션 웹 사이트 데이터로 프로비저닝 된 Amazon Linux 1 이미지를 사용합니다. 현재는 / etc / httpd / logs 및 / var / www / vhosts / logs의 여러 파일에 로그를 보냅니다.
로그 구성 및 볼륨이있는 ecs 작업 정의에서 수행 할 수있는 작업이있을 수 있지만 그렇게하는 방법에 대한 세부 정보를 설명하는 항목을 찾을 수 없었습니다.
컨테이너의 경우 로그 컨테이너를 stdout 및 stderr로 작성하는 것이 좋습니다.
또 다른 흥미로운 점은 Fargate로 이동 한 경우 로그 파일을 어떻게 처리 할 것인가? 따라서 파일에 로그를 쓰지 말고 컨테이너를 인스턴스 머신처럼 취급하지 마십시오.
AWS 로그 드라이버의 장점은 로그를 클라우드 워치 로그로 푸시하고 클라우드 워치에서이를 ELK로 푸시하는 것도 매우 쉽다는 것입니다.
AWS 로그 드라이버로 이동 하여 컨테이너의 stdout 및 stderr에 로그를 작성하는 방식으로 진입 점 을 설계하십시오 . 일반적으로 포 그라운드에서 프로세스를 실행하면 컨테이너 표준 출력에 자동으로 로그를 기록합니다.
작업 정의에이 줄을 추가하고 클라우드 감시 역할을 추가하기 만하면됩니다.
"logConfiguration": {
"logDriver": "awslogs",
"options": {
"awslogs-group": "awslogs-wordpress",
"awslogs-region": "us-west-2",
"awslogs-stream-prefix": "awslogs-example"
}
}
구성되면 로그를 볼 수 있습니다.
awslogs 로그 드라이버 사용
CloudWatch Logs에 로그 정보를 보내도록 작업의 컨테이너를 구성 할 수 있습니다. 작업에 Fargate 시작 유형을 사용하는 경우이를 통해 컨테이너의 로그를 볼 수 있습니다. EC2 시작 유형을 사용하는 경우 편리한 한 위치에서 컨테이너의 여러 로그를 볼 수 있으며 컨테이너 로그가 컨테이너 인스턴스의 디스크 공간을 차지하지 않도록 방지 할 수 있습니다. 이 주제는 작업 정의에서 awslogs 로그 드라이버 사용을 시작하는 데 도움이됩니다.
노트
작업의 컨테이너가 기록하는 정보 유형은 대부분
ENTRYPOINT command
. 기본적으로 캡처 된 로그는 당신이있는 로컬 컨테이너를 실행 한 경우 정상적으로 대화 형 터미널에서 볼 것을 명령 출력 표시STDOUT
등을STDERR I/O streams
. awslogs 로그 드라이버는 이러한 로그를 Docker에서 CloudWatch Logs로 전달하기 만하면됩니다. 다른 파일 데이터 또는 스트림을 캡처하는 대체 방법을 포함하여 Docker 로그가 처리되는 방법에 대한 자세한 내용은 Docker 설명서에서 컨테이너 또는 서비스에 대한 로그보기를 참조하세요.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다