Scouter APM, influxdb, grafana 로 모니터링 대시보드 만들기

시계열 DB 인  influxdb와 Scouter APM을 연동해 보았습니다.

influxDB는 시계열 DB 로 일정 시간 간격으로 배치되는 데이터에 최적화된 DB 입니다.
센서로 지속적으로 수집되는 데이터가 쌓이는 IoT 분야에 활용하기 좋을 듯 합니다.
마찬가지로 모니터링 데이터도 대부분 시계열이기 때문에 Scouter와 연동해 봐도 좋을 듯 하여 선택해 보았습니다.

influxDB(link)를 선택한 이유가 몇가지 있는데 그 이유는 이렇습니다.

  • 모니터링 데이터를 저장하기에 좋은 시계열 DB
  • Grafana를 통해 클릭 몇번으로 쉽게 대시보드화 가능
  • Line Protocol 이라는 Simple한 문자열 프로토콜을 제공하여 쉽게 연동 가능 (JSON serialization이 필요 없어 CPU cost에 유리)
  • UDP로 연동 가능 (일부 유실되어도 되는 시계열 데이터 연동시 light-weight 하게 연동 가능)
  • Schemaless

그외 countinuous query라는 재미있는 기능을 제공하는데 보다 넓은 시계열에 대한 통계 데이터나 리샘플링에 대해 기존 배치 작업으로 수행하던 것을 쉽게 단일 쿼리로 대치할 수 있는 기능으로 이해하시면 될 것 같습니다.

Grafana(link)는 [Grafana is a leading open source application for visualizing large-scale measurement data.] 라고 소개하고 있는데 대시보드를 정말 쉽게(정말 상상 이상으로 쉽게) 구성해주는 소프트웨어로 influxDB와는 매우 궁합이 좋습니다.
Scouter와 결합하여 그럴싸한 대시보드를 구성하는데 처음 사용해 보는데도 하루 정도가 걸렸으며 다시 한다면 반나절이면 가능 할 것 같네요.
쿼리와 메소드레벨로 들어가는 상세한 어플리케이션 추적은 SCOUTER의 전용 클라이언트가 담당하게 하고 숫자로 표현되는 성능카운터 데이터는 이렇게 연동해 놓은 후 스마트폰으로 종종 접속해 상황을 모니터링해 보는 것도 좋을 것 같네요.

물론 오픈소스 조합으로 구성하는 것이 내가 원하는 것을 딱 떨어지게 해줄수는 없지만 어느 정도 필요한 부분을 빠르게 만족시키기는 정말 좋은 것 같습니다.

Scouter의 Plugin 기능과 InfluxDB, Grafana를 조합하여 완성한 화면입니다.

http://demo.scouterapm.com:3000 에서 실시간으로 들어오는 데이터를 직접 확인해 볼 수 있습니다. ( scouter / scouter 로 LOGIN )

grafana-scouter

Scouter 와 influxDB의 연동은 https://github.com/influxdata/influxdb-java 를 참고하여 slf4j와 guava의 dependency를 없애고 기존 TCP이던 방식을 UDP 프로토콜로 변환하여 만들어 보았습니다.

프로토타입으로 만든 모듈이라 공개는 어렵고 빠른시일안에 Scouter-InfluxDB-Plugin 의 공식버전을 제작하여 공유하도록 하겠습니다.

Grafana 를 사용해 보지 않으신 분은 위에 제공한 demo.scouterapm.com:3000 으로 접속해서 들어가서 사용해 보시기 바랍니다.

#AWS트래픽요금많이나올수도, #오픈소스짱임금방만들어, #SCOUTER공식플러그인조만간릴리즈

Scouter APM, influxdb, grafana 로 모니터링 대시보드 만들기”에 대한 2개의 생각

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중