본문 바로가기

Log Aggregation/CloudWatch or S3

(6)
4. ELB, CloudFront, VPC Flow Logs, CloudTrail 수집 - S3 서버의 CMD, Application Logs들에 대한 수집 외에도 ELB, CloudFront, VPC Flowlogs, CloudTrail 로그들도 모두 S3에 남긴 후 ES Service에서 중앙화 한 후 Kibana를 통해 간편하게 볼 수 있습니다. 각 서비스들에 대해서 로그를 남기는 방법을 간단하게 보도록 하겠습니다. 먼저, CloudTrail입니다. 추적생성을 통해서 각 계정의 서비스에 이벤트나, S3에서 일어나는 API콜 등에 대해서 모두 종합적으로 로그를 남기게 할 수 있습니다. 그 다음은 VPC Flow Logs입니다. 해당 VPC에서 통신되는 부분들에 대한 로그들을 수집해서 보실 수 있으나, 서비스가 크면 클수록 데이터량이 상당하여 생각보다 많은 비용을 발생시킵니다. 따라서 해당 로그활..
3. EC2 Linux Application Logs - S3 (Logstash) 가장 먼저 S3 Bucket을 만들어 주도록 하겠습니다. 이제 서버 설정을 해보겠습니다. EC2에 S3 FullAccess 정책을 붙인 롤을 할당해줍니다. (Put과 Describe에 대한 권한으로 최소화 시키셔도 됩니다.) 먼저, Java11을 설치해야 합니다. 아래 명령어를 수행해서 기본적인 업데이트를 해주겠습니다. sudo yum -y update sudo amazon-linux-extras install -y epel Amazon Linux2에서는 openjdk를 설치할 수 있는것이 아래와 같습니다. 직접 11버전을 찾아서 강제로 설치하는 방법도 있겠으나, 가장 최신버전을 그냥 설치하도록 하겠습니다. sudo yum -y install java-latest-openjdk-devel cat > ja..
6. ECS Log 수집 - S3 (Fluent.D)
5. ECS Log 수집 - Cloudwatch ECS Container의 로그를 수집하는 방법에 대해 알아보겠습니다. 먼저 컨테이너에서 돌아가는 서비스의 로그 중 STDOUT, STDEER I/O 스트림에 대한 부분을 전송해준다고 합니다. 로그는 아래와같이 구성하시면 됩니다. 위와 같은 구성으로 전달할 수 있으나, STDOUT, STDERR외에 Custom하게 생성된 로그에 대해서는 전달 할 방법이 없게됩니다. 따라서 저는 기존에 EC2 로그 수집방법을 활용하여서 Cluster Logs 폴더를 만들고 이를 Conatiner에 매핑한 후 Logs를 해당 폴더에 쌓아서 수집하는 형태로 구성하시는 것이 더 좋을 것이라고 판단됩니다. 이러한 구성을 만들어보도록 하겠습니다.
2. EC2 Linux Command Log 수집 - CW Agent CloudWatchAgentServerPolicy를 가진 Role을 EC2에 준 후, Cloudwatch Agent를 설치하고 어떠한 로그를 수집할지 정한 후 Agent를 실행시켜주면 됩니다. 하지만 Amazon Linux2에서는 세팅이 안 되기 때문에, CWAgent를 통해 수집해야합니다. 기본적으로 CWAgent 설치 및 세팅까지의 과정은 CWAgent Metric 수집과 동일합니다. 또한, CMD로그 세팅은 이전 CloudWatch Logs Agent글을 참고해주세요. 이 과정을 하나씩 진행해보도록 하겠습니다. 먼저, IAM에서 CloudWatchAgentServerPolicy을 가진 Role을 구성해보도록 하겠습니다. 사용 서비스는 EC2를 선택해주시고 다음으로 넘어가주시면 됩니다. 그 다음에는 ..
1. EC2 Linux Command Log 수집 - CloudWatch Logs Agent CloudWatch Logs 에이전트 필수 조건 CloudWatch Logs 에이전트에는 Python 버전 2.7, 3.0 또는 3.3과 다음과 같은 버전의 Linux가 필요합니다. Amazon Linux 버전 2014.03.02 이상. Amazon Linux 2는 지원되지 않습니다. Ubuntu Server 버전 12.04, 14.04 또는 16.04 CentOS 버전 6, 6.3, 6.4, 6.5 또는 7.0 Red Hat Enterprise Linux(RHEL) 버전 6.5 또는 7.0 Debian 8.0 먼저 서버에 CloudWatchAgentServerPolicy를 붙여줍니다. 서버에서 CMD Log를 쌓도록 세팅하는 명령어입니다. 아래 명령어를 수행해주세요 sudo bash -c 'echo "..