spring boot 를 적용한 전사모니터링...

35
https://github.com/JM-Lab/jm-spring-boot-init Spring Boot 적용한 전사 모니터링 시스템 Backend 개발 사례 허제민

Upload: jemin-huh

Post on 21-Jul-2015

755 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

Spring Boot 를 적용한 전사 모니터링 시스템 Backend 개발 사례

허제민

Page 2: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

오늘 발표 내용

•  Planet Mon 소개 (전사 모니터링 시스템)

•  Spring Boot를 적용한 Backend 개발 사례

•  Backend 개발에 적용한 Spring Boot 기능

•  Spring Boot를 활용 해서 추가한 운영 기능

•  jm-spring-boot-init Template 소개

Page 3: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

Planet Mon 소개 (전사 모니터링 시스템)

Page 4: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

Planet Mon 소개 (전사 모니터링 시스템)

•  개발자가 보기 편한 모니터링 환경

•  Web, WAS log를 서비스 단위로 묶어서 서비스 상태 모니터링 •  서비스 단위로 실시간 그래프를 보여주고 알람도 되는 것이 중요함!

•  시스템 모니터링도 서비스나 그룹 단위로 묶고 쉽게 서로 비교 •  그래프를 그리기위한 데이터가 Raw 데이터에서 동적으로 생성 되야 함

•  RRD (Round-Robin Database) 방식은 미리 그래프를 그리기 위한 데이터가 만들어 져야만 함

•  서비스 모니터링 데이터와 시스템 모니터링 데이터간의 콜라보 •  분석을 할 수도 있을까?

Page 5: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

Planet Mon 소개 (전사 모니터링 시스템)

•  collectd - ELK (Elasticsearch-Logstash-Kibana)

•  Log Collector •  System

Monitoring Data Broker

•  System Monitoring Data Collector

•  Distributed, scalable, and highly available

•  Real-time search and analytics capabilities

•  Sophisticated RESTful API

•  Flexible analytics and visualization platform

•  Real-time charting of streaming data

•  Instant sharing and embedding of dashboards

Page 6: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

Planet Mon 소개 (전사 모니터링 시스템)

•  collectd - ELK (Elasticsearch-Logstash-Kibana)

•  Web, WAS log 수집

•  System Monitoring Data Collector

•  Distributed, scalable, and highly available

•  Real-time search and analytics capabilities

•  Sophisticated RESTful API

•  Flexible analytics and visualization platform

•  Real-time charting of streaming data

•  Instant sharing and embedding of dashboards

Page 7: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

Planet Mon 소개 (전사 모니터링 시스템)

•  collectd - ELK (Elasticsearch-Logstash-Kibana)

•  System Monitoring Data Collector

•  분산, 확장, 고가용성 보장

•  실시간 검색과 분석 가능

•  RESTful API QueryDSL

•  Flexible analytics and visualization platform

•  Real-time charting of streaming data

•  Instant sharing and embedding of dashboards

•  Web, WAS log 수집

Page 8: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

Planet Mon 소개 (전사 모니터링 시스템)

•  collectd - ELK (Elasticsearch-Logstash-Kibana)

•  System Monitoring Data Collector

•  분석과 시각화 플랫폼 •  실시간 차트 생성 •  Dash board를 쉽게 생성

•  분산, 확장, 고가용성 보장

•  실시간 검색과 분석 가능

•  RESTful API QueryDSL

•  Web, WAS log 수집

Page 9: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

Planet Mon 소개 (전사 모니터링 시스템)

•  collectd - ELK (Elasticsearch-Logstash-Kibana)

•  System Monitoring Data 수집

•  분석과 시각화 플랫폼 •  실시간 차트 생성 •  Dash board를 쉽게 생성

•  분산, 확장, 고가용성 보장

•  실시간 검색과 분석 가능

•  RESTful API QueryDSL

•  Web, WAS log 수집

•  collectd Data 중계

Page 10: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

Planet Mon 소개 (전사 모니터링 시스템)

•  collectd - ELK (Elasticsearch-Logstash-Kibana)

* http://johnhamelink.com/server-nirvana-my-journey-towards-infrastructural-mindfulness.html

* https://github.com/dCache/logstash4dcache

Page 11: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

Planet Mon 소개 (전사 모니터링 시스템)

•  collectd - ELK (Elasticsearch-Logstash-Kibana) 상용 서비스를 위해 사용 가능한가?

•  지역적으로 분리된 데이터 센터

•  수천대의 서버에서 생성된 Raw Data

•  서비스 중심 Dashboad •  LDAP 연동 계정 관리 •  서비스 별 커스텀한 요구사항 반영

Page 12: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

Planet Mon 소개 (전사 모니터링 시스템)

Page 13: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

Planet Mon 소개 (전사 모니터링 시스템)

Page 14: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

Spring Boot를 적용한 Backend 개발 사례

* 북두의 권

Page 15: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

Spring Boot를 적용한 Backend 개발 사례

•  시간과 인력이 충분하지 않으니 DevOps 를 한다! •  빨리 개발 해야하지만 개발한거 운영도 하고 그래야 빨리 전사 적용 하지…

•  그리고 모니터링 서비스 죽으면 책임도 져야지! •  전사 모니터링 시스템은 어떻게 모니터링 하지? 서버에 들어가서 봐야하나?

•  요청하면 Infra 운영 팀에서 무언가 해주긴 한다.

Page 16: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

Spring Boot를 적용한 Backend 개발 사례

•  시간과 인력이 충분하지 않으니 DevOps 를 한다! •  빨리 개발 해야하지만 개발한거 운영도 하고 그래야 빨리 전사 적용 하지…

•  그리고 모니터링 서비스 죽으면 책임도 져야지! •  전사 모니터링 시스템은 어떻게 모니터링 하지? 서버에 들어가서 봐야하나?

•  요청하면 Infra 운영 팀에서 무언가 해주긴 한다.

* 북두의 권

고!!!

Page 17: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

Spring Boot를 적용한 Backend 개발 사례

* http://movie.naver.com/movie/bi/mi/basic.nhn?code=101276

Page 18: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

Spring Boot를 적용한 Backend 개발 사례

* http://movie.naver.com/movie/bi/mi/basic.nhn?code=101276

Page 19: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

Spring Boot를 적용한 Backend 개발 사례

전기나 공압,유압 등과 같은 각종 신호 에너지를 이용하여 구체적인동작(기계적 에너지)으로 변환하는 소자를 말함.

* http://edu.smckorea.co.kr/learning/source/studyroom/bochung/actuator.html

Actuator

Page 20: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

Spring Boot를 적용한 Backend 개발 사례

Http endpoints (Rest API), JMX, remote shell 등을 이용하여구체적인 동작(관리와 모니터링)으로 변환하는 기능을 말함.

Spring Boot Actuator

Part V. Spring Boot Actuator: Production-ready features Spring Boot includes a number of additional features to help you monitor and manage your application when it’s pushed to production. You can choose to manage and monitor your application using HTTP endpoints, with JMX or even by remote shell (SSH or Telnet). Auditing, health and metrics gathering can be automatically applied to your application. http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#production-ready

Page 21: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

Backend 개발에 적용한 Spring Boot 기능

* http://presos.dsyer.com/decks/spring-boot-intro.html

Page 22: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

Backend 개발에 적용한 Spring Boot 기능

•  HTTP endpoints

Page 23: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

Backend 개발에 적용한 Spring Boot 기능

•  Scheduling

Page 24: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

Backend 개발에 적용한 Spring Boot 기능

•  JVM 모니터링 - /metrics

Page 25: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

Backend 개발에 적용한 Spring Boot 기능

•  상태 체크 - /health

Page 26: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

Backend 개발에 적용한 Spring Boot 기능

•  설정 파일 관리

Page 27: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

Spring Boot를 활용 해서 추가한 운영 기능

* http://pixshark.com/devops.htm

Page 28: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

Spring Boot를 활용 해서 추가한 운영 기능

* http://pixshark.com/devops.htm

Page 29: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

Spring Boot를 활용 해서 추가한 운영 기능

•  JVM Monitoring View

Page 30: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

Spring Boot를 활용 해서 추가한 운영 기능

•  Exception Table View

Page 31: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

Spring Boot를 활용 해서 추가한 운영 기능

•  서비스 현황 테이블

Page 32: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

jm-spring-boot-init Template 소개

Page 33: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

jm-spring-boot-init Template 소개

• https://github.com/JM-Lab/jm-spring-boot-init

• JVM Monitoring View • Exception Table View • Sample logback config • JMService Interface

Page 34: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

jm-spring-boot-init Template 소개

•  데모 시연

Page 35: Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례

https://github.com/JM-Lab/jm-spring-boot-init

Q & A