[AWS] EC2 인스턴스 모니터링 설정 Setting UP EC2 Instance Monitoring

이번 포스팅은 EC2 인스턴스 모니터링에 대해 설정을 할건데 EC2 인스턴스 만들지 않으셨다면 링크에 들어가시면 됩니다. EC2 인스턴스 참고 링크 모니터링으로 수동 모니터링과 자동 모니터링을 설정할건데 자동 모니터링은 생성 후 인스턴스 상태 확인 후 삭제할 예정이라 수동과 자동 설정 후 삭제하는 법도 알려드릴게요.

Step 1. 수동 모니터링

아래 사진과 같이 EC2 인스턴스 대시보드를 클릭 후 인스턴스를 클릭하면 생성한 인스턴스가 뷰에 보여지게 됩니다. 생성한 인스턴스 클릭 후 아래 뷰에 나오는 모니터링 탭을 클릭하면 여러 지표들이 보이게 되는데 통계 정보를 확인할 수 있습니다. 모니터링을 자세히 확인하기 위해 네트워크 패킷 입력 통계 위에 있는 대시보드에 추가를 클릭해주세요.


대시보드 이름 적고 생성해주시고 대시보드에 추가해주세요.







대시보드를 추가하면 CloudWatch 대시보드에 추가된 것을 볼 수 있습니다.





Step 2. 자동 모니터링

자동 모니터링은 CloudWatch 설정을 통해 자동 모니터링을 진행해보도록 하겠습니다. 서비스 클릭 후 CloudWatch 검색한 후 클릭하시면 됩니다.


CloudWatch를 들어가셨다면 경보 생성을 클릭해주세요.


지표 선택해주세요.


지표 선택을 하면 찾아보기 탭을 클릭한 후 CPUUtilization을 검색 후 생성했던 인스턴스의 CPUUtilization를 선택 후 그래프로 표시된 지표 탭을 클릭하세요. 그래프로 표시된 지표 페이지에 들어간 후 기간을 5분에서 1분으로 설정해주시고 옵션 탭을 선택하세요.



옵션 탭 클릭하셨다면 누적 면적 선택 후 지표 선택을 누르신 후 임계값은 정적 선택, 정보 조건은 보다 큼 선택 및 ...보다에는 50 입력 후 추가 구성을 클릭 후 누락된 데이터를 양호(임계값 위반 안 함)으로 처리 선택하시고 다음 클릭하세요.




조건 설정을 완료하신 후 작업 구성 페이지로 넘어가셨다면 정보 상태 트리거는 경보 상태로 클릭, SNS 주제 선택은 새 주제 생성 클릭하시고 이미 있으시다면 기존 SNS 주제 선택 클릭, 새 주제 생성 후 알람명은 자유롭게 작성하시고 알림 수신할 이메일은 본인 이메일 입력하시면 됩니다. 이메일 알림 받는건 시도를 해봤지만 알림이 안 와서..물론 하는 사람마다 다를 수 있어요. 그 후 주제 생성 클릭


주제 생성하면 이메일 주소로 Subscription Confirm 이메일이 전송되고 Confirm subscription 링크를 클릭하면 승인 메세지가 출력이 됩니다. 


그 후 아래로 스크롤 하면 EC2 작업 설정하는 뷰가 보이는데 EC2 작업 추가 클릭 후 정보 상태 트리거는 경보 상태로 클릭  및 다음 작업 수행...은 이 인스턴스 재부팅을 선택하고 다음을 클릭하시면 됩니다.


생성할 경보 이름과 설정을 입력하고 다음 클릭


미리 보기 및 생성은 지금까지 설정했던 정보를 확인하는 과정이며 아래로 스크롤 내린 후 경보 생성을 클릭해주세요. 클릭 후 생성한 것을 볼 수 있는데 우선 저는 바로 확인하기 위해 MobaXterm을 오픈하고 CPU 사용률을 높여보겠습니다.


CPU 과부하를 일으키기 위해 CPU 부하 설정 툴을 설치하도록 하겠습니다. 명령어들은 아래에 적어두겠습니다.

1
2
3
amazon-linux-extras install -y epel
yum install -y stress-ng
stress-ng --cpu 1 --cpu-load 70% --timeout 10m --metrics --times --verify
cs

CPU 부하 툴 설치




현재 설정해둔 Amazon CloudWatch 경보 설정은 CPU 사용량 임계값이 50프로 이상일 경우 이메일을 발송하게 설정을 해두었습니다. 과부하 설정을 하기 전 현재 상태는 CPU 부하 상태가 낮기 때문에 아래 사진과 같이 CPU 부하 명령어를 작성해보도록 하겠습니다. 아래 명령어는 CPU에 70프로 과부하를 10분동안 작동 시켜줍니다. 자세한 설명은 아래에 적어두겠습니다.

stress-ng : 시스템에 부하를 일으키고 하드웨어 안정성 테스트나 성능 검사 때 사용
cpu 1 : 1개의 cpu 코어를 대상으로 테스트를 진행, 1은 cpu의 스레드나 코어 개수
cpu-load 70% : 지정된 cpu에 70프로만큼 부하를 가합니다. 즉, 최대 70프로만 처리 능력으로 사용하는 의미
timeout 10m 10분동안 테스트 진행, “s”는 seconds | “m”은 minutes | “h”는 hours | “d”는 days
metrics : cpu 사용, 메모리 사용량, 디스크나 네트워크 등 여러 입출력 활동 등 여러 성능을 수집하고 보고
times : 테스트의 시작 및 종료 시간 기록
verify : 테스트 과정에서 수행한 작업이 올바르게 수행되었는지 검사


부하 일으키는 명령어 실행 후 CloudWatch 확인하면 설정해두었던 임계값 50프로를 넘어 70프로에 도달하여 경보 상태가 뷰에 보여지게 되는 것을 확인할 수 있습니다.



10분동안 부하를 설정한 후 시간이 지나고 부하가 줄어든게 뷰에서 확인할 수 있습니다. 하지만 이메일로 송신이 안돼서 확인이 안되지만 계정마다 다를 수 있습니다. 원래 설정대로는 CPU 임계값이 초과된 후 이메일 전송이 되고 Amazon EC2 인스턴스는 재부팅이 됩니다.



이와 같이 Amazon CloudWatch를 활용한 자동 모니터링 도구를 이용하여 관리자가 CPU 상태를 확인하지 않아도 메일을 통해 알림이 오기 때문에 빠르게 인지할 수 있습니다.

댓글 쓰기

0 댓글