안녕하세요 "미들웨어" 입니다.

이번 장에서는  지난번 소개해드린 scouter 외에 실 사용으로 많이 사용하고 있는 오픈소스 툴인 Grafana를 소개해드려 보겠습니다.

Grafana를 사용해서 현장에서는 상당히 많이 사용합니다.

그 이유로는 상용S/W 와는 다르게 범용성과 확장성이 자유롭고, 상황에 따라 워하는 서비스가 다르기 때문에 DB Pool 만 모니터링 하고 싶다던가, 

아니면 Batch process 만 모니터링 하필요한 기능을 구현 가능합니다.  

 

자신이 운영하고 있는 서비스에 원하는 항목만을 모니터링하고자 할때는 Grafana 만큼 괜찮은 모니터링 솔루션도 현재로서는 많지 않습니다.

아래 다운로드 할 수 있는 경로 공유해드리니, 참고해서 설치 해보시고, 해당 가이드 젤 아래 보시면 제가 Grafana & Promoteus 를 접목해서 

Scouter 발생되는 알림에 대해 Slack 로 알람을 전송하고 나아가 이미지까지 inFluxDB를 사용해서 보낼 수 있도록 하는데 성공한 간략 구성도 공유해드립니다.

 

그럼 설명 시작하겠습니다..

 

1. Grafana 모니터링툴 다운로드 경로

https://grafana.com/grafana/ 


 

 

- Grafana 구성 샘플 화면

 


 위 화면들 처럼 Grafana를 사용해서 서비스항목에 필요한 부분만을 모니터링 할 수 있습니다.

InfuxDB 와 Prometues 오픈소스를 추가로 사용해야 한다는 부분이 다소 낮설고 어려우실 수도 있지만, 현재 트랜드상.. 한번은 도전해보시는 것이 좋을 것 같습니다.

 

 

2. Grafana & Prometues 직접 구성 사례

예로 Grafana 와 Prometues 를 결합하여 제가 직접 구성했던 사례를 설명해드리겠습니다.

일기장 처럼 작성했던 거니 참고해서 읽어봐주세요.

 

이번에 batch cpu monitoring 을 하기 위해 apm을 분석하다보니..
현재 java deamon (instance) 형대의 batch 는 scuter batch로 모니터링이 어느정도 가능하나..
서버 내에 단발성으로 실행되는 batch process 는 모니터링 분석이 안되는 것을 알게되었다.
 
예를들어... A 서버의 CPU가 갑자기 100% 를 쳤고 그에 대한 분석을 하려면 CPU모니터링을 분석할 수 있는 apm을 확인해야 한다.
java instance로 구성되있지 않다보니 일반적으로 사용하는 미들웨어 APM 인 jennifer, scouter 로는 모니터링 자체가 안된다.
서버 cpu를 모니터링 하는 도구로 jabbix 로 cpu 모니터링을 하지만, 서버 cpu가 100% 이고 그건 java process 다.. 이정도로 끝날것이다.
그럼 A 란 서버의 cpu가 100% 를 쳤고 그건 java process 인건 알겠는데.... 그게 어떤 java cpu process 일까???
이건 분석해주는 도구가 마땅히 없다..
그래서 만들어봤다. 
물론.. 100% 오픈소스로 구현했다
 
1. 만든 이유 : 서버 CPU를 잡아먹는 batch process 의 이름을 확인 하고 싶었다.
2. 사용 도구
  • grafana - view 시각화를 위해 구축
  • prometheus - batch cpu process를 모니터링 하기 위해 존재하는 cpu export를 사용하기 위해 사용
  • slack - 이벤트 알람을 받기위해 사용
  • AC3 - 이벤트 알람시 이벤트 발생시 이미지 까지 전송받기 위해 사용할 저장소
 
3. 내가 만들어본 Grafana 설계 구상도 이다.
여기서 초록색으로 색칠된 부분은 1차 테스트로 진행해봤던거고 알람 + 이미지까지 성공했다.
두번째로 진행한 핑크색 구현부분은 내가 이걸 시작하고 구현하려던 목표인데, 성공 했으니 참고해서 사용하시길 바랍니다.


 
 

 

 

누군가에게는 절실할 수도 있는 batch cpu process 모니터링 입니다. 

저 또한 시행착오를 많이 하면서 구현에 성공했지만, 개념도 없는 상태에서 접근하기란 쉽지 않았습니다.

적은 도움이라도 되기 바라며 제가 구성중인 구성도를 공개해드렸습니다.

 

 

+ Recent posts