시스템 장애 발생시 APM 을 통한 자동 경고 정책 구축
안녕하세요.
오픈나루 솔루션 서비스팀 안병욱 주임입니다.
이번 포스팅을 통해 OPENMARU APM 의 “이벤트 경고 정책”에 대해 설명드리려고 합니다.
APM 에서 경고 정책이란 ?
모니터링 대상 WAS, 시스템의 데이터 통계정보를 기반으로 운영자에게 경고를 알리기 위한 정책 및 발생한 이벤트를 확인할 수 있는 메뉴입니다.
OPENMARU APM 을 사용하고 계신 운영자분들이라면 아래 캡처사진과 비슷한 경고 문구를 보신적이 있으실 텐데요.
실시간으로 발생된 이벤트는 위 캡처와 같이 APM Web Console의 오른쪽 상단에 알림이 옵니다.
해당 캡처의 경고 정책을 간략히 설명 드리면 특정 서버의 Memory 리소스에 이상 상황이 발생한것인데요.
Memory의 사용량이 평균적으로 75%이며 APM 이 경고를 하는 시점에는 95% 이상 사용량을 사용을 했기에 APM 이 경고 이벤트를 발생시킨 예시입니다.
뿐만 아니라 알림으로 시각적인 요소뿐만 아니라 청각적인 요소까지 넣어서 운영자분들이 실시간으로 APM 을 보고있지 않더라도 알림 소리를 통해서
이벤트 알림을 확인하실 수도 있습니다.
최근에 시스템 문제점이나 장애사항 즉 이벤트 경고를 알 수 있는 방법은 어떤 것이 있을까요?
OPENMARU APM에서는 시간별로 3가지 방법이 있습니다.
-
실시간 경고 리스트 / 최근 경고 리스트 / 기간별 경고 리스트
실시간은 앞서 설명 드렸고 이어서 최근, 기간별 을 설명드리겠습니다.
최근 경고 이벤트
위의 그림에서도 확인할 수 있듯이 실시간으로 발생하는 이벤트 알림 뿐만 아니라 최근에 발생했던 이벤트 리스트를 확인할 수도 있습니다.
메인 Dashboard 화면에서 오른쪽 상단의 종 아이콘을 클릭하면 확인할 수 있습니다.
기간별 경고이벤트
발생했던 이벤트들은 DB에 저장되기 때문에 최근에 발생한 이벤트뿐만 아니라 과거에 발생했던 이벤트들도 확인하실 수 있습니다.
위의 그림에서 이벤트 차트를 살펴보면, 위쪽 그래프에 발생 건수에 대한 바그래프를 볼 수 있습니다. 아래 이벤트 목록 부분에서는 상세한 이벤트 내용을 확인할 수 있습니다.
APM 경고 정책이 필요한 이유
APM 은 모니터링을 위한 “도구” 입니다. 그렇기에 사람이 개입해야하죠. 하지만 운영자분들은 단순히 APM 화면만 들여다보고 있을 정도로 한가하지 않습니다.
또한 APM 화면을 24시간 바라보고 있다고 하더라도 모니터링되는 그래프만으로 “현재 WAS, SYSTEM 상태가 이상이 있다.”라고 파악하기 위해서는 정상 상태일때의 그래프 수치를 알고 있어야 합니다.
굳이 그럴 필요가 있을까요? APM 이 이상상황을 감지하고 알림을 통해서 사람의 개입이 필요한 순간을 특정해준다면 단순히 APM 화면을 24시간 바라볼 필요도 없고, 정상 상태의 그래프 수치를 숙지하고 있지 않아도 됩니다.
OPENMARU APM – 경고 정책 리스트
앞서서 경고 정책에 대해 알아 보았습니다. 그럼 이제 어떠한 항목들을 경고 정책으로 설정 가능한지 알아 보겠습니다.
간략히 설명드리면 다음과 같은 항목들에 경고 정책을 설정할 수 있습니다.
구분 |
정책 |
설명 |
---|---|---|
WAS |
JVM Heap Usage |
JVM의 Heap 사용률 |
Apdex |
사용자 만족도 지수 |
|
Error Rate |
어플리케이션의 상태 코드로 판단한 오류율 |
|
JVM Perm Usage |
JVM의 Perm 영역 사용률 |
|
Database Response Time |
데이터베이스의 평균 응답시간 |
|
Pending Transaction |
처리 되지 못한 트랜잭션 개수 |
|
GC Usage |
전체 시간 중에 GC에 소요되는 시간의 비율 |
|
Error Transaction |
에러가 발생한 트랜잭션의 |
|
Database Connection Pool Usage |
데이터베이스 커넥션 풀 사용률 |
|
WEB |
WEB Traffic |
웹서버가 처리하는 트래픽의 Byte 량 |
Worker Usage |
Worker의 Thread 사용량 |
|
SYSTEM |
Memory Usage |
시스템의 메모리 사용률 |
Memory Swap Usage |
시스템의 Swap 메모리 사용률 |
|
Disk Usage |
시스템의 디스크 사용률 |
|
CPU Usage |
시스템의 CPU 사용률 |
|
Network Packet Error Rate |
네트워크 패킷의 오류율 |
|
CUBRID |
CAS Usage |
CAS 사용률 |
경고 정책을 어떻게 커스터마이징할 수 있을까?
APM이 설치되면 기본값으로 경고 정책이 설정됩니다. 이 기본값만으로도 어플리케이션의 이상 상태에서 경고 정책이 훌륭하게 동작하지만 사용자와 서버의 환경, 스펙에 따라 커스터마이징을 한다면 보다 적재적소에 경고 이벤트를 알림 받을 수 있을것입니다.
커스터마이징 하는법도 간단합니다. 이벤트탭의 경고정책탭으로 이동하여서 마우스를 이용하여 드래그만 하면 되는데요.
그림을 통해 확인하겠습니다.
JVM Heap Usage의 85%로 되어 있던 Warning 경고 정책을 30%로 바꾸는 방법입니다. 마우스 드래그만으로도 경고 정책을 수정할 수 있습니다.
경고 정책을 어떻게 활용할 수 있을까?
앞서 OPENMARU APM은 시각적인 경고 이벤트 뿐만 아니라 청각적인 경고 이벤트 알림도 지원을 한다고 말씀드렸었는데요.
사실 시각적인 부분과 청각적인 부분은 장소의 제한을 많이 받습니다. OPENMARU APM을 띄워논 모니터 혹은 컴퓨터가 위치한 곳이 아니라면 어떠한 경고 이벤트가 발생했는지 파악할 수 없죠.
이러한 장소의 제한을 극복할 수 있게 다른 서비스 혹은 플랫폼을 이용한 알림을 받을 수 있는데요. 다음과 같은 방법들이 있습니다.
-
Slack
-
SMS
-
이메일
-
Synology Chat
실사례가 있나요?
OPENMARU APM을 사용하시는 많은 고객사분들이 이메일을 통한 알림을 받고 계십니다.
사내에 SMTP 서버가 있다라고 하면 해당 서버를 이용할 수도 있고, Gmail 같은 외부 메일서버를 이용할 수도 있습니다.
메일로 전달받은 경고 이벤트의 예시입니다.
상단에는 어떠한 경고인지(심각, 경고, 예측, 정보) 또한 경고의 회수는 몇번인지 출력이 되고
그 밑 부분에는 경고에 대한 이름과 유형 및 WAS 인스턴스 정보들이 출력됩니다.
결론
이번 포스팅을 통해 OPENMARU APM의 경고 이벤트에 대해 알아보았는데요. 갈수록 IT업계에서의 단순 업무들이 배제되고 있습니다.
단순히 모니터링만 하는 것이 아닌 특정 상황(경고이벤트)이 발생했을 시에만 사람이 개입하고
개입하였을 때 장애에 특화된 도구를 이용하여 장애분석 및 장애처리를 한다면 일의 효율성이 늘어날텐데요.
이때 ‘OPENMARU APM의 경고 이벤트 발생’이라는 특정상황에서 ‘OPENMARU APM’이라는 도구를 이용하는것이 최적일것입니다.
이 글은 오픈마루 클라우드 서비스팀 안병욱 님이 작성해 주셨습니다.
Written by ByeongUk Ahn ( ahbo1028@opennaru.com )
ChatGPT 장애로 본 쿠버네티스 모니터링의 필요성
/in APM, Kubernetes/by 오픈마루 마케팅1오픈마루, 일본에서 “MSA 호출 관계 추적” 관련 특허 등록
/in APM, OPENMARU/by 오픈마루 마케팅1브로드컴 VM웨어 인수에 따른 고객의 우려
/in APM, OPENMARU/by 오픈마루 마케팅2