AWS Basic 02 : Cloudwatch
업데이트:
CloudWatch
- AWS 의 애플리케이션 상태를 모니터링하는 서비스로, Zabbix 와 같은 역할을 수행
→ 애플리케이션이 동작하고 있는 머신 혹은 인스턴스의 CPU 점유율, 메모리 용량 등을 모니터링할 수 있음 - Log Metric Trace 의 역할을 수행하여, 각 서버의 로그 데이터를 수집하여 지정한 설정에 따라 경보를 알림
→ 로그 데이터를 수집하여 유의미한 메트릭 정보의 임계치값을 경보로 알리며, 그 원인을 추적할 수 있는 기능을 제공
Cloudwatch Agent
- Cloudwatch 에서 지표값을 확인하기 위해서는 Cloudwatch Agent 설치가 필요
- Run Command 기능 사용 가능 : 복수의 System Manager 에 등록된 서버에 대해 동일한 명령어를 실행할 수 있음
기능
경보(Alarms)
- 이벤트 기능. 각 서비스 지표값에 알람을 전송하는 이벤트를 걸 수 있음
- 특정 애플리케이션의 상태가 특정 조건에 도달하면 어떤 동작(이벤트)를 일으킬지 지정한다
ex) CPU 가 80% 이상 도달한 것이 5분 이상 지속될 경우, 지정한 메일 주소로 알람 전송
※ Cloud Formation 언어로 신규 서버 추가시 자동 생성되도록 자동화 가능
- Alarms → Create Alarm : 알람을 지정할 수 있는 서비스를 지정
- Define Alarms : 알람 이름, 설명 등 지정
- Define Alarm Threshold : 알람을 울릴 임계치(역치) 설정
- Configure Actions
- (1) 알람을 울릴 당시의 상태 설정
- ALARM : 알람의 조건을 충족했을 때
- OK : 문제가 없을 때
- INSUFFICIENT_DATA : 알람을 동작시키기 위한 조건 만족이 안될 때
- (2) Tack Action
- EC2 삭제, EC2 중지, Autoscaling, 알람 전송 등
※ Billing Alarm : AWS 과금에 대한 알람 역시 cloudwatch 에서 설정 가능
※ nGrinder : 서버에 부하를 걸 수 있는 부하테스트 도구
로그(Logs)
어플리케이션 로그 등의 EC2 로그를 수집
지표(Metrics)
AWS 에서 관리 중인 서비스에 대해 각각의 지표값을 열람할 수 있음
- Namespace : 각각의 서비스 식별
- Metric : CPU, Memory, Disk 등 → 수치를 클릭해서 그래프 열람 가능
- Namespace 마다 메트릭 항목이 상이함 : EC2 의 경우 CPU 점유율, 네트워크 I/O / EBS 의 경우 인스턴스의 Health count 등
- time range 조절 가능
대시보드
관리 중인 데이터를 일목요연하게 볼 수 있음
- Overview of your alarms : 알람으로 등록된 것들이 열거
- Overview of yout resources : 운영 중인 서비스의 리소스 상태 확인
- Service health : 현재 사용 중인 리전의 헬스 체크
Cloudwatch VS Zabbix
Zabbix 는 꽤 친근한 모니터링 도구여서, Cloudwatch 관련 이야기가 나올 때마다 기능면에서 비교해 보고 싶었다.
참고 페이지는 https://qiita.com/qryuu/items/858e59ebafac589d6011
- 둘 다 감시 대상 서버에 Agent 를 설치할 필요가 있음
- 메트릭 연산, 역치 설정을 위한 템플릿과 개별 변경 기능, 예측 기능, 장애 알람 등의 기능 ※ Zabbix 의 경우 애플리케이션 내의 내장된 기능 사용, Cloudwatch 의 경우 AWS 의 다른 서비스와 연동하여 사용
- Zabbix 의 경우 물리 서버/클라우드 환경 모두 사용 가능하나, Cloudwatch 역시 Direct Connect 와 SystemManager 로 물리 서버와 연동한 환경 내에서 사용 가능
- 메인테넌스 설정 : Zabbix 에만 존재
- 데이터 보존 기간 : Zabbix 는 개별 설정 가능, Cloudwatch 는 15개월
활용(예시)
- 물리 서버 시스템(IDC) : 각 서버의 Collectd → InfluxDB → Grafana 로 모니터링
- 클라우드 시스템(AWS) : Cloudwatch → EC2 → Elasticsearch(Kibana) 로 모니터링
관련 AWS 서비스
System Manager
- AWS 의 시스템 관리 서비스
- 배포 대상 서버에 Agent 를 설치함으로서, System Manager 내에서 해당 서버의 리스트를 확인할 수 있다
- EC2 뿐 아니라 DC(Direct Connect)로 연결된 물리 서버 역시 EC2 와 같이 AWS 내에서 사용 가능해짐
Simple Notification Service
메일 그루핑 등 작업이 가능한 AWS 전용 서비스
Cloud Formation
코드를 통해 AWS 환경의 리소스를 관리 및 배포 서비스로, Ansible 및 Chef 등과 같은 역할을 수행
Direct Connect
물리 서버(IDC) 네트워크와 클라우드 환경 네트워크의 물리적인 연결을 통해, 논리적으로 하나의 네트워크를 구성하는 기술