본문 바로가기
개발/AWS

CloudWatch Logs Agent 테스트(awslogs)

by 궁즉변 변즉통 통즉구 2022. 2. 20.
반응형

AWS CloudWatch Logs를 사용하여 EC2 인스턴스에 설치 된 Apache의 AccessLog와 ErrorLog를 CloudWatch Logs Agent(awslogs)를 통해 CloudWatch에서 확인

 

1.  EC2용 Policy와 Role 생성

- IAM의 정책 메뉴에서 정책생성, 기존 생성되어 있는 Policy를 사용해도 되지만 Policy를 부터 직접 만들어서 테스트

 

- 서비스: "CloudWatch Logs" 선택,   

  작업: "CreateLogGroup", "CreateLogStream", "PutLogEvents", "DescribeLogStreams" 검색해서 선택,  

  리소스: "모든 리소스" 선택

- 다음으로 정책 이름 "mytest-CloudWatchLogsPolicy" 입력하고 생성

 

- IAM Role메뉴이동 후 생성버튼 클릭 후 "AWS 서비스"의 "EC2" 선택하고 다음

- 정책추가에서 위에서 생성한 Policy 선택

 

- Role 이름 간단히 입력(mytest-CloudWatchLogsRoles)하고 생성

 

2.  EC2 인스턴스 생성 및 Apache 설치

- 디폴트 설정으로 생성하고, 인스턴스 세부 구성에서 "IAM 역할"에 위에서 생성한 Role을 선택한다

- 인스턴스 생성 확인, Name은 다른 인스턴스와 구별되도록 'cloudWatchLogs-Apache'로 입력 했음

 

- Apache 접속을 위해 EC2 SG 80port InBound 열어줌

 

- EC2 ssh로 접속해서 아래 명령어 실행으로 Apache 설치

# 업데이트 및 루트 권한 변경
sudo yum update -y
sudo -s

# Apache 설치
yum install httpd -y
systemctl start httpd
systemctl enable httpd

 

- PublicIP로 접속해서 Apache 접속 확인

 

3.  CloudWatch Logs Agent 설치 및 구성

- CloudWatch Logs Agent 설치

# 설치
yum install awslogs -y

 

- /etc/awslogs/awslogs.conf 파일 설정

vi /etc/awslogs/awslogs.conf

- 파일의 제일 하단에 Apache accessLog, errorLog 전송을 위해 아래 내용 추가

[/var/log/httpd/access_log]
datetime_format = %b %d %H:%M:%S
file = /var/log/httpd/access_log
buffer_duration = 5000
log_stream_name = {instance_id}
initial_position = start_of_file
log_group_name = /var/log/httpd/access_log

[/var/log/httpd/error_log]
datetime_format = %b %d %H:%M:%S
file = /var/log/httpd/error_log
buffer_duration = 5000
log_stream_name = {instance_id}
initial_position = start_of_file
log_group_name = /var/log/httpd/error_log

 

- /etc/awslogs/awscli.conf 파일 설정

vi /etc/awslogs/awscli.conf

아래와 같이 자신의 region으로 변경해서 저장

 

- aws configure로 AWS CLI 환경설정

aws configure

- CloudWatch Logs Agent 실행

systemctl start awslogsd
systemctl enable awslogsd

 

4.  CloudWatch 에서 Log 확인

- CloudWatch 메뉴의 '로그그룹'에서 access_log, error_log 확인 

 

* 최근에는 CloudWatch Agent가 지표 및 로그를 동시에 처리 할 수 있어서 이번 테스트의 CloudWatch Logs Agent를 사용하는 것보다 CloudWatch Agent를 사용하라고 권장하고 있음(참조: https://happy-jjang-a.tistory.com/109)

반응형

'개발 > AWS' 카테고리의 다른 글

AWS CodeCommit 시작하기  (0) 2022.02.24
AWS Cloud9 살펴보기  (0) 2022.02.22
CloudWatch Event 테스트(EventBridge)  (0) 2022.02.20
AWS CloudWatch 이해 및 지표보기  (0) 2022.02.20
AWS Lambda-Layers 테스트 Python  (0) 2022.02.19

댓글