12.2 Monitoring Alarm 만들기
Compute 인스턴스에 설정한 모니터링 중에서 CPU 사용률이 지정한 수치에 이르면 메일을 발송하도록 알람을 생성해 보겠습니다.
- OCI 콘솔에서 내비게이션 메뉴의 Observability & Management > Monitoring > Alarm Definition에서 정의
- 자원 모니터링 메트릭의 옵션 메뉴에서 정의
위 두 가지 방법이 있지만, 본 문서에서는 선택한 모니터링 메트릭으로 Alarm의 메트릭이 자동으로 설정되어 사용이 쉬운 두 번째 방법으로 진행하겠습니다.
메트릭에서 Alarm 만들기
-
앞서 설정한 Compute 인스턴스의 Resources > Metrics 선택
-
CPU Utilization의 옵션에서 Create an Alarm on the Query 클릭
Alarm 정의
복잡한 Alarm 조건은 고급모드의 Query로 가능하며 아래는 기본모드로 UI에 선택하는 방식입니다.
-
Alarm 정의
- Alarm Name: 만들 Alarm 이름 입력, 예) CPU Alarm
- Alarm severity: 레벨을 선택, 일단은 기본값인 Critical 선택
- Alarm body: Alarm 메시지로, 이후에 Email 전달할 메시지를 입력
-
Metric description
- Metric name: CpuUtilization을 선택합니다.
-
Metric dimensions
- 선택한 Compartment내 모든 Compute 인스턴스를 대상으로 하기 위해 추가적인 조건은 지정하지 않습니다.
-
Trigger rule
알람을 설정할 조건을 지정합니다. 앞서 설정한 메트릭 기준(CPU 사용룔이 1분 평균)이 50% 이상일 때
Notification 정의
-
Notification 대상 선택
알람이 기동할 때 통지할 Notification 서비스의 대상 Topic을 지정합니다. 이미 Topic이 있는 경우에 선택하면 되지만, 없는 경우 만들기 위해 Create a topic 클릭
-
대상 Topic 만들기
-
Destination으로 만든 Topic 선택된 것을 확인합니다.
-
아래쪽 Save alarm 클릭
Notification - EMail 구독 확인
-
앞서 Topic의 구독 프로토콜을 이메일로 정하면 대상 이메일로 구독 확인 메일이 발송됩니다.
-
수신된 메일을 확인하고 인증 링크를 클릭합니다.
-
구독 확인 창
Notification - EMail Topic 상태 확인
-
앞서 생성한 CPU Alarm의 Notification 대상 클릭
-
이메일 구독이 Active 상태임을 확인
Alarm 발생 테스트
-
모니터링과 Alarm을 설정한 Compute 인스턴스에 SSH로 접속합니다.
-
stress 툴 설치
# EPEL(Extra Packages for Enterprise Linux) 활성화 sudo yum-config-manager --enable ol8_developer_EPEL # 테스트 툴 설치 sudo yum install -y stress
-
stress 수행
sudo stress --cpu N --timeout N
실행 예시
사용할 Compute Instance의 CPU에 갯수에 맞춰 조정합니다.
[opc@web-server-1 ~]$ sudo stress --cpu 2 --timeout 60
stress: info: [69871] dispatching hogs: 2 cpu, 0 io, 0 vm, 0 hdd
stress: info: [69871] successful run completed in 60s
Alarm 발생 확인
-
만든 Alarm Definition 화면 아래쪽에 발생한 내역을 확인할 수 있습니다. 대상내 인스턴스 중에 부하를 준 한 인스턴스에 에러 알람이 발생하였습니다.
-
Alarm 메일 수신 확인
-
조건이 만족하여 발생한 Alarm과, 조건이 해제되었을 때 2건의 메일이 수신되었습니다.
-
아래와 같이 설정한 내용을 바탕으로 발생한 내용을 알려줍니다.
-
이 글은 개인으로서, 개인의 시간을 할애하여 작성된 글입니다. 글의 내용에 오류가 있을 수 있으며, 글 속의 의견은 개인적인 의견입니다.