본문 바로가기

⭐ AWS/CloudWatch

Apache Access 로그를 CloudWatch 에서 수집 및 모니터링하기

1. AWS EC2 인스턴스에 아파치 웹서버를 설치 한뒤 Apache 기본 화면을 띄웁니다.

2021.08.29 - [Applications] - EC2 인스턴스에 Apache 웹서버를 띄워보자

 

EC2 인스턴스에 Apache 웹서버를 띄워보자

1. 해당 인스턴스에 아파치를 설치 후 Apache Main 화면을 띄워보자. - SSH 툴을 이용해서 내 서버(인스턴스)로 접속한다. - 우선 명령어 sudo apt-get update 를 날려 설치 가능한 리스트를 업데이트 한다. -

may9noy.tistory.com

2. EC2 인스턴스 SSH로 접속하여 Apache Access.log 파일을 확인 합니다.

2021.04.06 - [AWS/EC2] - CMD를 활용, SSH로 EC2 인스턴스에 로그인하기!!

 

CMD를 활용, SSH로 EC2 인스턴스에 로그인하기!!

- 생성한 인스턴스를 클릭하여 인스턴스로 들어간다. - 해당 인스턴스에 접근하여 연결을 클릭! - SSH 클라이언트로 이동~ 하단에 ssh ~ 명령어를 복사! - 관리자 권한으로 CMD를 실행하여 CMD를 실행

may9noy.tistory.com

- SSH로 접속 한 뒤 아래와 같이 Apache Access.log 파일을 cat명령어로 열어 로그를 확인 할 수 있습니다.

> 아파치 기본 로그파일 경로 : /var/log/apache2/

> 아파치 로그파일 이름 : access.log

3. 이제 CloudWatch에서 아파치 Access.log 파일의 내용을 수집하여 모니터링하는 작업을 해봅시다.

> 우선 CloudWatch 서비스로 접속한 후, 로그 탭의 로그 그룹을 클릭합니다.

> 로그 그룹 생성을 클릭하여 그룹의 이름을 지정한 후 만들어줍니다.

3. 이전 포스트에서 CloudWatch Agent를 설치하면서 설정을 셋팅하였습니다.

2021.08.29 - [AWS/CloudWatch] - CloudWatch Agent를 통한 인스턴스 로그 수집

 

CloudWatch Agent를 통한 인스턴스 로그 수집

1. 로그를 수집할 대상의 인스턴스에 SSH로 접속을 합니다. (SSH 접속이 가능한지 테스트) 2. Cloud Agent를 이용하여 사용량을 조회 일단 CPU 사용량이나 네트워크 전송량 등은 CloudWatch에서 기본적으로

may9noy.tistory.com

> 이 때 셋팅값중에 로그를 설정하는 항목이 있었습니다. 이를 다시 '예'로 설정한 후 경로와 이름을 지정해줍니다.

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard

> log의 경로는 나의 경우는 apache를 쓰므로 /var/log/apache2/access.log 로 지정해주었고, 그룹의 이름은 로그 그룹 이름으로 해주어야 합니다.

> 위의 작업을 완료 후 config 파일을 확인해보면 logs 항목이 지정되어 있는 것을 확인할 수 있습니다.

sudo vi /opt/aws/amazon-cloudwatch-agent/bin/config.json

4. 설정 파일을 업데이트한 후 에이전트를 실행하고, 시작이 되었는지 확인합니다.

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json -s    sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a status

5. 인스턴스의 도메인 주소로 접속을 합니다.

6. 다시 CloudWatch의 로그를 들어가고, 해당 로그 그룹을 들어가보면 다음과 같이 로그 스트림에 인스턴스가 추가된 것을 볼 수 있습니다.

7. 해당 로그 스트림을 클릭해보면, 로그를 확인할 수 있습니다.

- 끝 -