SlideShare une entreprise Scribd logo
1  sur  58
Télécharger pour lire hors ligne
JBoss RHQ를 이용한 	
오픈소스 자바 애플리케이션 모니터링	
KTH 원종석	
JBoss User Group / RHQ Contributor
About Me
l  Korea	
  JBoss	
  User	
  Group	
  커뮤니티 부운영자	
–  h/p://www.facebook.com/groups/jbossusergroup	
  
l  JBoss	
  RHQ	
  Evangelist	
  /	
  Contributor	
  -­‐	
  한글화 작업	
l  tedwon.com	
  WIKI	
  운영	
	
  
l  오픈 소스로 일하는 Java	
  개발자	
l  Hadoop	
  /	
  CEP기반 Big	
  Data	
  플랫폼 설계/개발/운영	
l  현재 KTH에서 DAISY	
  데이터 분석 플랫폼 개발 중
Content
•  RHQ Overview
•  RHQ Architecture
•  RHQ History
•  JBoss ON
•  Contributions
•  Monitoring Practice
What is RHQ?
What is RHQ?
JBoss의 대표적인 Infrastructure Project
Open Source Management & Monitoring Project
In some cases
l  내가 만든 Java	
  Applica*on을 모니터링하고 싶다.	
  
l  장기간	
  지속적으로...	
  Chart도 필요하고...	
  Sta*s*cs도 필요하고...	
  
l  직접 만들려고 해보면 너무 일이 커지고	
l  돈 주고 사기에는 너무 비싸고	
l  손쉽게 공짜로 사용	
  할	
  수	
  있는	
  것	
  어디	
  없을까?	
  
l  게다가 좀 더 체계적이고 다양한 기능을 제공했으면 좋겠다.	
  
“JBoss RHQ”
One of the Solutions!!
RHQ Dashboards
Java Application Monitoring Graphs
l  Custom	
  Java	
  ApplicaPon	
  /	
  JVM	
  모니터링
Metric Chart
Remote Operations
l  원격 명령 실행 기능 제공
REST API
l  3th	
  party를 위한 API	
  제공
REST API
RHQ’d be one of the Solutions!
l  개발/운영 전체 라이프 사이클을 위한Enterprise	
  Management	
  PlaUorm	
  
–  배포,	
  리소스 추가,	
  모니터링,	
  통지 	
  	
  
What is RHQ?
l  JBoss	
  Enterprise	
  Management	
  PlaUorm	
  
l  JBoss	
  Middleware	
  제품의 모니터링 PlaUorm	
  
l  JBoss	
  AS	
  
l  Infinispan	
  
l  HornetQ	
  
l  BlackTie	
  
l  Mobicents	
  
l  CirrAS	
  
l  Byteman	
  
l  Hibernate	
  
l  etc	
  ...	
  
RHQ monitors any resources
l  JBoss	
  제품 뿐만아니라 다른 모든 애플리케이션에 대해 모니터링 가능	
l  Apache	
  Web	
  Server	
  
l  Apache	
  Tomcat	
  Server	
  
l  Apache	
  Hadoop	
  Cluster	
  
l  Apache	
  Zookeeper	
  Cluster	
  
l  Apache	
  Ka;a	
  Cluster	
  
l  Apache	
  Flume	
  
l  Facebook	
  Scribe	
  Log	
  Aggregator	
  (C-­‐daemon	
  provided	
  CLI)	
  
l  Etc...	
  
What is RHQ?
l  Make	
  technologies	
  more	
  manageable!!	
  
–  Aims	
  to	
  develop	
  a	
  common	
  services	
  management	
  plaAorm	
  
l  Java	
  기반의 Open	
  Source	
  System	
  Management	
  Project	
  
–  설치 매우 용이	
l  전세계의 수많은 Contributor들의 참여와 기여에 의해 개발 되고 있음	
l  소규모 단일 노드부터 대규모 클러스터 모니터링에 적용 가능
RHQ Architecture
l  Agent	
  /	
  Server	
  Architecture	
  
l  Extending	
  by	
  Plugins	
  
RHQ Agent
l  OS당 하나의 Agent	
  설치	
l  각 Plugin은 특정 대상(resource)을 전담해서 모니터링	
l  DB	
  저장 없는 Standalone	
  Java	
  Instance	
  
l  주기적으로 모니터링 정보를 수집하여 서버로 레포팅	
l  JBoss	
  RemoPng	
  프레임워크를 이용한 socket	
  통신
RHQ Agent Plugins
l  다양한 리소스를 위한 기본Plugin	
  제공	
l  Server	
  Plugins	
  
l  Apache,	
  Tomcat,	
  JBoss	
  AS	
  
l  RDBMS	
  Plugins	
  
l  MySQL,	
  PostgreSQL,	
  Oracle	
  
l  Java	
  JMX	
  Plugin	
  
l  C	
  daemon	
  프로세스 (Ex:	
  Scribe	
  Log	
  Aggregator)	
  	
  
l  Shell	
  Script,	
  Pid	
  file,	
  Process	
  Query	
  	
  
l  필요에 맞는 Custom	
  Plugin	
  제작 가능	
–  간단하게 또는 정교하게 개발 가능 	
l  h/ps://docs.jboss.org/author/display/RHQ/Plugin+Community	
  
SIGAR + JMX
RHQ 주요 모니터링 기술	
l  OS	
  플랫폼 별 SIGAR	
  API	
  활용	
–  SIGAR	
  API를 사용하여 System	
  InformaPon	
  Gathering	
  (CPU,	
  Memory)	
  
l  Java	
  표준 모니터링 스펙 JMX	
  활용	
–  JMX	
  기술 기반으로 원격 JVM	
  모니터링/관리 기능 제공 -­‐	
  JMX	
  Plugin	
  
	
  
What is JMX?
l  Java 표준 모니터링 스펙 JMX 활용	
l  RHQ는 하나의 JMX 클라이언트	
l  http://goo.gl/BLHfM
JSR 160
Java Management Extensions
RHQ Implementation Techniques
l  대부분 JBoss	
  project	
  기술로 구현	
l  JBoss	
  AS	
  v4.2.3	
  
l  JBoss	
  Remo*ng	
  v2	
  
l  Hibernate	
  
l  JBoss	
  Web	
  /	
  TransacPons	
  /	
  Cache	
  /	
  SerializaPon	
  
l  JBoss	
  Seam	
  v2.1	
  /	
  RishFaces	
  
l  GWT	
  v2.4.0	
  
l  SmartGWT	
  v3.0	
  
l  Java	
  SE	
  6	
  Script	
  Features	
  for	
  RHQ	
  CLI	
  
RHQ History
l  2005년	
  부터	
  시작한	
  Hyperic	
  &	
  Red	
  Hat	
  joint	
  project	
  
l  Hyperic이 SIGAR	
  API를 기반으로 프로젝트를 처음 시작	
l  Red	
  Hat이 확장 및 발전	
l  2008년 2월 RHQ	
  1.0	
  배포	
l  Red	
  Hat	
  and	
  Hyperic	
  Launch	
  Common	
  Services	
  PlaUorm	
  Project	
  
l  RHQ	
  Project	
  Overview	
  	
  
l  Red	
  Hat	
  RHQ	
  vs.	
  SpringSource	
  Hyperic	
  HQ	
  으로 발전 중	
l  RHQ에서 일부가 Jopr라는 프로젝트로 분리	
l  2010년에 Jopr	
  프로젝트를 RHQ	
  프로젝트 하나로 통합
RHQ History
GNU General Public License
GNU Lesser General Public License
http://git.fedorahosted.org/cgit/rhq/rhq.git/tree/LICENSE
RHQ License
JBoss AS 5/6/7 Admin Console
l  JBoss	
  AS	
  built-­‐in	
  admin	
  console	
  
l  Embedded	
  Jopr	
  
l  사실 RHQ	
  코드 재사용	
l  RHQ를 통해 더욱 자세한 관리 및 모니터링 가능
JBoss Operations Network
l  RHQ	
  Commercial	
  Product	
  Version	
  
l  RHQ	
  유료 기술 지원 버전	
l  Code	
  base	
  동일	
l  Fully	
  quality-­‐tested	
  &	
  cer*fied	
  by	
  Red	
  Hat	
  
l  JBoss	
  ON	
  으로 줄여서 호칭	
l  h/p://www.jboss.com/products/jbosson	
  
l  h/p://en.wikipedia.org/wiki/JBoss_operaPons_network	
  
Monitoring Practices
How to monitor My Java App
l  Step	
  1.	
  RHQ	
  Server와 Agent	
  설치	
l  Step	
  2.	
  Java	
  ApplicaPon에 JMX	
  MBean	
  추가	
l  Step	
  3.	
  JMX	
  MBean정의에 맞춰서 Plugin	
  XML	
  파일 정의	
l  Step	
  4.	
  나의 ApplicaPon용 JMX	
  Plugin으로 RHQ	
  Server에 등록	
l  Step	
  5.	
  모니터링 및 관리 시작!!	
  
Java JMX + RHQ XML = Menu 추가	
Standard & Simplicity
Sample JMX Application
l  Business	
  Class에 MBean	
  인터페이스 구현	
public	
  class	
  MyJmxObject	
  implements	
  MyJmxObjectMBean	
  {	
  
	
  	
  	
  	
  //	
  모니터링 하고자하는 대상 데이터 Ex:	
  throughput	
  
	
  	
  	
  	
  public	
  double	
  getRandomNumber()	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  return	
  Math.random();	
  
	
  	
  	
  	
  }	
  
	
  	
  	
  	
  //	
  원격에서 실행하고자 하는 Opera*on	
  Ex:	
  start/stop	
  
	
  	
  	
  	
  public	
  String	
  toUppercase(String	
  string)	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  return	
  (string	
  !=	
  null)	
  ?	
  string.toUpperCase()	
  :	
  "";	
  
	
  	
  	
  	
  }	
  
}	
  
Sample JMX Application
l  MBean	
  인터페이스 정의	
public	
  interface	
  MyJmxObjectMBean	
  {	
  
	
  	
  	
  	
  //	
  모니터링 하고자하는 대상 데이터 Ex:	
  throughput	
  
	
  	
  	
  	
  double	
  getRandomNumber();	
  
	
  	
  	
  	
  //	
  원격에서 실행하고자 하는 Opera*on	
  Ex:	
  start/stop	
  
	
  	
  	
  	
  String	
  toUppercase(String	
  string);	
  
}	
  
l  JMX	
  OpPon	
  추가	
	
  
	
  	
  	
  java	
  -­‐Dcom.sun.management.jmxremote.port=19999	
  	
  
	
  	
  	
  	
  -­‐Dcom.sun.management.jmxremote.authen*cate=false	
  	
  
	
  	
  	
  	
  -­‐Dcom.sun.management.jmxremote.ssl=false	
  	
  
	
  	
  	
  	
  -­‐jar	
  ./jmxapp.jar	
  
RHQ Plugin XML Schema
rhq-plugin.xml 정의	
l  MBean	
  정보를 rhq-­‐plugin태그와 맵핑	
	
  
<plugin	
  name="CustomJmx"	
  displayName="Custom	
  JMX	
  Plugin">	
  
	
  	
  	
  <depends	
  plugin="JMX"	
  useClasses="true"/>	
  
	
  	
  	
  <service	
  name="First	
  Custom	
  Service">	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ==>	
  모니터링 서비스 정의	
<opera*on	
  name="toUppercase"	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ==>	
  Opera*on	
  정의	
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  displayName="String	
  To	
  Uppercase"/>	
  
	
  	
  	
  	
  	
  	
  <metric	
  property="RandomNumber"	
  	
  	
  	
  	
  ==>	
  Chart	
  정의	
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  displayType="summary"	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  defaultInterval="30000"/>	
  
	
  	
  	
  </service>	
  
</plugin>	
  
Sample JMX Application
l  이제 모니터링 및 원격 명령을 위한 구성이 완료되었습니다.	
  
Live Chart
l  1초 단위의 실시간 모니터링 차트 제공
RHQ Monitoring Practices
l  Linux	
  Server	
  리소스 모니터링
RHQ Monitoring Practices
l  CPU	
  Usage	
  StaPsPcs	
  
RHQ Monitoring Practices
l  Memory	
  Usage	
  StaPsPcs	
  
RHQ Monitoring Practices
l  JVM	
  Monitoring	
  
–  CPU	
  /	
  Heap	
  /	
  Classes	
  /	
  Thread	
  
RHQ Monitoring Practices
l  JBoss	
  ApplicaPon	
  Server	
  7	
  
RHQ Monitoring Practices
l  JBoss	
  ApplicaPon	
  Server	
  7	
  
RHQ Monitoring Practices
l  JBoss	
  ApplicaPon	
  Server	
  7	
  
RHQ Monitoring Practices
l  JBoss	
  ApplicaPon	
  Server	
  7	
  
RHQ Monitoring Practices
l  Kata	
  Server	
  리소스 모니터링
RHQ Monitoring Practices
l  Hadoop	
  Cluster	
  리소스 모니터링
RHQ Monitoring Practices
l  Hadoop	
  Cluster	
  리소스 모니터링
RHQ Monitoring Practices
l  Hadoop	
  Cluster	
  리소스 모니터링
RHQ Monitoring Practices
l  Hadoop	
  Cluster	
  리소스 모니터링
RHQ Contributions
RHQ Contributions
	
  
l  Installer	
  UI	
  한글화	
  작업	
  완료	
  from	
  v4.2	
  
l  메인 메뉴 GWT	
  UI	
  한글화	
  작업	
  진행	
  중	
  
	
  
	
  
l  RHQ	
  Plugin	
  개발	
–  h/ps://github.com/tedwon/apache-­‐hadoop-­‐rhq-­‐plugin	
  
–  h/ps://github.com/tedwon/apache-­‐kata-­‐rhq-­‐plugin	
  
–  h/ps://github.com/tedwon/apache-­‐zookeeper-­‐rhq-­‐plugin	
  (Incomplete)	
  
	
  
	
  
RHQ Contributions
Motivations
l  모니터링 시스템 개발 공수	
  이슈	
  
l  우리가 사용하는 리소스에 대한 측정	
  필요	
  
l  장애	
  발생시	
  원인 파악에 도움	
l  측정하는 습관	
  필요	
  
l  Measure-­‐driven	
  Development	
  
l  A/B	
  test를 습관화하는 개발 문화	
l  Quality	
  향상	
l  이러한 활동을 위한 인프라	
  제공	
  
l  일종의 개발자의 무기	
l  Product	
 개발시 활용
http://www.jboss.org/rhq
https://docs.jboss.org/author/display/RHQ
RHQ Project Home
Demos & Videos
RHQ Related Links
l  RHQ	
  User	
  DocumentaPon	
  
l  RHQ	
  Server	
  InstallaPon	
  Guide	
  
l  RHQ	
  Server	
  Users	
  Guide	
  
l  RHQ	
  Agent	
  Users	
  Guide	
  
l  Frequently	
  Asked	
  QuesPons	
  
l  h/p://tedwon.com/display/dev/RHQ	
  
l  h/p://rhq-­‐project.org/display/JOPR2/Demos	
  
l  h/p://support.rhq-­‐project.org/display/RHQ/Videos	
  
Thanks
Q&A
iamtedwon@gmail.com

Contenu connexe

Tendances

스프링 부트와 로깅
스프링 부트와 로깅스프링 부트와 로깅
스프링 부트와 로깅Keesun Baik
 
LUA를 이용한 스마트한 웹서버 만들기 (Ray. Lee)
LUA를 이용한 스마트한 웹서버 만들기 (Ray. Lee)LUA를 이용한 스마트한 웹서버 만들기 (Ray. Lee)
LUA를 이용한 스마트한 웹서버 만들기 (Ray. Lee)삵 (sarc.io)
 
톰캣 운영 노하우
톰캣 운영 노하우톰캣 운영 노하우
톰캣 운영 노하우jieunsys
 
오픈소스를 활용한 Batch_처리_플랫폼_공유
오픈소스를 활용한 Batch_처리_플랫폼_공유오픈소스를 활용한 Batch_처리_플랫폼_공유
오픈소스를 활용한 Batch_처리_플랫폼_공유knight1128
 
[오픈소스컨설팅]스카우터엑스 소개
[오픈소스컨설팅]스카우터엑스 소개[오픈소스컨설팅]스카우터엑스 소개
[오픈소스컨설팅]스카우터엑스 소개Open Source Consulting
 
Spring batch와 함께 하는 TDD
Spring batch와 함께 하는 TDDSpring batch와 함께 하는 TDD
Spring batch와 함께 하는 TDDSanghyuk Jung
 
[1A4]자바스크립트 라이브러리 개발 운영 경험기
[1A4]자바스크립트 라이브러리 개발 운영 경험기[1A4]자바스크립트 라이브러리 개발 운영 경험기
[1A4]자바스크립트 라이브러리 개발 운영 경험기NAVER D2
 
JVM과 톰캣 튜닝
JVM과 톰캣 튜닝JVM과 톰캣 튜닝
JVM과 톰캣 튜닝Mungyu Choi
 
Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례
Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례
Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례Jemin Huh
 
Open source apm scouter를 통한 관제 관리 jadecross 정환열 수석
Open source apm scouter를 통한 관제  관리 jadecross 정환열 수석Open source apm scouter를 통한 관제  관리 jadecross 정환열 수석
Open source apm scouter를 통한 관제 관리 jadecross 정환열 수석uEngine Solutions
 
공감세미나 성능테스트
공감세미나 성능테스트공감세미나 성능테스트
공감세미나 성능테스트Lim SungHyun
 
Ahea Team Spring batch
Ahea Team Spring batchAhea Team Spring batch
Ahea Team Spring batchSunghyun Roh
 
Open source APM Scouter로 모니터링 잘 하기
Open source APM Scouter로 모니터링 잘 하기Open source APM Scouter로 모니터링 잘 하기
Open source APM Scouter로 모니터링 잘 하기GunHee Lee
 
WAS 마이그레이션 자동화 도구 RHAMT
WAS 마이그레이션 자동화 도구 RHAMTWAS 마이그레이션 자동화 도구 RHAMT
WAS 마이그레이션 자동화 도구 RHAMTOpennaru, inc.
 
오픈 소스를 활용한 게임 배치 플랫폼 개선 사례
오픈 소스를 활용한 게임 배치 플랫폼 개선 사례오픈 소스를 활용한 게임 배치 플랫폼 개선 사례
오픈 소스를 활용한 게임 배치 플랫폼 개선 사례형석 김
 
소프트웨어 개선 그룹(Sig) 개발 원칙
소프트웨어 개선 그룹(Sig) 개발 원칙소프트웨어 개선 그룹(Sig) 개발 원칙
소프트웨어 개선 그룹(Sig) 개발 원칙Hong Hyo Sang
 
톰캣 #10-모니터링
톰캣 #10-모니터링톰캣 #10-모니터링
톰캣 #10-모니터링GyuSeok Lee
 
Scouter Tutorial & Sprint
Scouter Tutorial & SprintScouter Tutorial & Sprint
Scouter Tutorial & SprintGunHee Lee
 
111 n grinder-deview_day1_track1_session_1_ver_2
111 n grinder-deview_day1_track1_session_1_ver_2111 n grinder-deview_day1_track1_session_1_ver_2
111 n grinder-deview_day1_track1_session_1_ver_2NAVER D2
 
Advanced nGrinder 2nd Edition
Advanced nGrinder 2nd EditionAdvanced nGrinder 2nd Edition
Advanced nGrinder 2nd EditionJunHo Yoon
 

Tendances (20)

스프링 부트와 로깅
스프링 부트와 로깅스프링 부트와 로깅
스프링 부트와 로깅
 
LUA를 이용한 스마트한 웹서버 만들기 (Ray. Lee)
LUA를 이용한 스마트한 웹서버 만들기 (Ray. Lee)LUA를 이용한 스마트한 웹서버 만들기 (Ray. Lee)
LUA를 이용한 스마트한 웹서버 만들기 (Ray. Lee)
 
톰캣 운영 노하우
톰캣 운영 노하우톰캣 운영 노하우
톰캣 운영 노하우
 
오픈소스를 활용한 Batch_처리_플랫폼_공유
오픈소스를 활용한 Batch_처리_플랫폼_공유오픈소스를 활용한 Batch_처리_플랫폼_공유
오픈소스를 활용한 Batch_처리_플랫폼_공유
 
[오픈소스컨설팅]스카우터엑스 소개
[오픈소스컨설팅]스카우터엑스 소개[오픈소스컨설팅]스카우터엑스 소개
[오픈소스컨설팅]스카우터엑스 소개
 
Spring batch와 함께 하는 TDD
Spring batch와 함께 하는 TDDSpring batch와 함께 하는 TDD
Spring batch와 함께 하는 TDD
 
[1A4]자바스크립트 라이브러리 개발 운영 경험기
[1A4]자바스크립트 라이브러리 개발 운영 경험기[1A4]자바스크립트 라이브러리 개발 운영 경험기
[1A4]자바스크립트 라이브러리 개발 운영 경험기
 
JVM과 톰캣 튜닝
JVM과 톰캣 튜닝JVM과 톰캣 튜닝
JVM과 톰캣 튜닝
 
Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례
Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례
Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례
 
Open source apm scouter를 통한 관제 관리 jadecross 정환열 수석
Open source apm scouter를 통한 관제  관리 jadecross 정환열 수석Open source apm scouter를 통한 관제  관리 jadecross 정환열 수석
Open source apm scouter를 통한 관제 관리 jadecross 정환열 수석
 
공감세미나 성능테스트
공감세미나 성능테스트공감세미나 성능테스트
공감세미나 성능테스트
 
Ahea Team Spring batch
Ahea Team Spring batchAhea Team Spring batch
Ahea Team Spring batch
 
Open source APM Scouter로 모니터링 잘 하기
Open source APM Scouter로 모니터링 잘 하기Open source APM Scouter로 모니터링 잘 하기
Open source APM Scouter로 모니터링 잘 하기
 
WAS 마이그레이션 자동화 도구 RHAMT
WAS 마이그레이션 자동화 도구 RHAMTWAS 마이그레이션 자동화 도구 RHAMT
WAS 마이그레이션 자동화 도구 RHAMT
 
오픈 소스를 활용한 게임 배치 플랫폼 개선 사례
오픈 소스를 활용한 게임 배치 플랫폼 개선 사례오픈 소스를 활용한 게임 배치 플랫폼 개선 사례
오픈 소스를 활용한 게임 배치 플랫폼 개선 사례
 
소프트웨어 개선 그룹(Sig) 개발 원칙
소프트웨어 개선 그룹(Sig) 개발 원칙소프트웨어 개선 그룹(Sig) 개발 원칙
소프트웨어 개선 그룹(Sig) 개발 원칙
 
톰캣 #10-모니터링
톰캣 #10-모니터링톰캣 #10-모니터링
톰캣 #10-모니터링
 
Scouter Tutorial & Sprint
Scouter Tutorial & SprintScouter Tutorial & Sprint
Scouter Tutorial & Sprint
 
111 n grinder-deview_day1_track1_session_1_ver_2
111 n grinder-deview_day1_track1_session_1_ver_2111 n grinder-deview_day1_track1_session_1_ver_2
111 n grinder-deview_day1_track1_session_1_ver_2
 
Advanced nGrinder 2nd Edition
Advanced nGrinder 2nd EditionAdvanced nGrinder 2nd Edition
Advanced nGrinder 2nd Edition
 

En vedette

JBoss Community's Application Monitoring Platform
JBoss Community's Application Monitoring PlatformJBoss Community's Application Monitoring Platform
JBoss Community's Application Monitoring PlatformTed Won
 
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기Ted Won
 
Nara - Personalized Web Recommendation Service Quick Review
Nara - Personalized Web Recommendation Service Quick ReviewNara - Personalized Web Recommendation Service Quick Review
Nara - Personalized Web Recommendation Service Quick ReviewTed Won
 
Real-time Big Data Analytics Practice with Unstructured Data
Real-time Big Data Analytics Practice with Unstructured DataReal-time Big Data Analytics Practice with Unstructured Data
Real-time Big Data Analytics Practice with Unstructured DataTed Won
 
Hadoop for the Data Scientist: Spark in Cloudera 5.5
Hadoop for the Data Scientist: Spark in Cloudera 5.5Hadoop for the Data Scientist: Spark in Cloudera 5.5
Hadoop for the Data Scientist: Spark in Cloudera 5.5Cloudera, Inc.
 
JDG 7 & Spark Integration
JDG 7 & Spark IntegrationJDG 7 & Spark Integration
JDG 7 & Spark IntegrationTed Won
 
Complex Event Processing with Esper
Complex Event Processing with EsperComplex Event Processing with Esper
Complex Event Processing with EsperTed Won
 
지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기Ted Won
 
Red Hat Enterprise Linux OpenStack Platform Overview - RHELOSP5
Red Hat Enterprise Linux OpenStack Platform Overview - RHELOSP5Red Hat Enterprise Linux OpenStack Platform Overview - RHELOSP5
Red Hat Enterprise Linux OpenStack Platform Overview - RHELOSP5Won Young Choi
 
Complex Event Processing with Esper
Complex Event Processing with EsperComplex Event Processing with Esper
Complex Event Processing with EsperTed Won
 
오픈소스 기반의 레드햇 클라우드 플랫폼 RhCI & Docker with PaaS
오픈소스 기반의 레드햇 클라우드 플랫폼   RhCI & Docker with PaaS오픈소스 기반의 레드햇 클라우드 플랫폼   RhCI & Docker with PaaS
오픈소스 기반의 레드햇 클라우드 플랫폼 RhCI & Docker with PaaSHojoong Kim
 
Microservices chat
Microservices chatMicroservices chat
Microservices chatYongHyuk Lee
 

En vedette (12)

JBoss Community's Application Monitoring Platform
JBoss Community's Application Monitoring PlatformJBoss Community's Application Monitoring Platform
JBoss Community's Application Monitoring Platform
 
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
 
Nara - Personalized Web Recommendation Service Quick Review
Nara - Personalized Web Recommendation Service Quick ReviewNara - Personalized Web Recommendation Service Quick Review
Nara - Personalized Web Recommendation Service Quick Review
 
Real-time Big Data Analytics Practice with Unstructured Data
Real-time Big Data Analytics Practice with Unstructured DataReal-time Big Data Analytics Practice with Unstructured Data
Real-time Big Data Analytics Practice with Unstructured Data
 
Hadoop for the Data Scientist: Spark in Cloudera 5.5
Hadoop for the Data Scientist: Spark in Cloudera 5.5Hadoop for the Data Scientist: Spark in Cloudera 5.5
Hadoop for the Data Scientist: Spark in Cloudera 5.5
 
JDG 7 & Spark Integration
JDG 7 & Spark IntegrationJDG 7 & Spark Integration
JDG 7 & Spark Integration
 
Complex Event Processing with Esper
Complex Event Processing with EsperComplex Event Processing with Esper
Complex Event Processing with Esper
 
지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기
 
Red Hat Enterprise Linux OpenStack Platform Overview - RHELOSP5
Red Hat Enterprise Linux OpenStack Platform Overview - RHELOSP5Red Hat Enterprise Linux OpenStack Platform Overview - RHELOSP5
Red Hat Enterprise Linux OpenStack Platform Overview - RHELOSP5
 
Complex Event Processing with Esper
Complex Event Processing with EsperComplex Event Processing with Esper
Complex Event Processing with Esper
 
오픈소스 기반의 레드햇 클라우드 플랫폼 RhCI & Docker with PaaS
오픈소스 기반의 레드햇 클라우드 플랫폼   RhCI & Docker with PaaS오픈소스 기반의 레드햇 클라우드 플랫폼   RhCI & Docker with PaaS
오픈소스 기반의 레드햇 클라우드 플랫폼 RhCI & Docker with PaaS
 
Microservices chat
Microservices chatMicroservices chat
Microservices chat
 

Similaire à Red Hat Forum 2012 - JBoss RHQ - Java Application Monitoring & Management Platform

Eclipse RAP - Single Source
Eclipse RAP - Single SourceEclipse RAP - Single Source
Eclipse RAP - Single Sourcecho hyun jong
 
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석Tommy Lee
 
초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드 초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드 YoungSu Son
 
Cloud life seminar open shift,이준영(배포용)
Cloud life seminar   open shift,이준영(배포용)Cloud life seminar   open shift,이준영(배포용)
Cloud life seminar open shift,이준영(배포용)Software in Life
 
Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기KwangSeob Jeong
 
[제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE
[제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE  [제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE
[제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE 흥래 김
 
장고로 웹서비스 만들기 기초
장고로 웹서비스 만들기   기초장고로 웹서비스 만들기   기초
장고로 웹서비스 만들기 기초Kwangyoun Jung
 
[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래NAVER D2
 
01.개발환경 교육교재
01.개발환경 교육교재01.개발환경 교육교재
01.개발환경 교육교재Hankyo
 
[오픈소스컨설팅] OpenShift PaaS Platform How-to
[오픈소스컨설팅] OpenShift PaaS Platform How-to[오픈소스컨설팅] OpenShift PaaS Platform How-to
[오픈소스컨설팅] OpenShift PaaS Platform How-toJi-Woong Choi
 
[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기
[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기
[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기Youngjae Kim
 
171220 웹프로그래밍 web app 토렌트 관리체계
171220 웹프로그래밍 web app 토렌트 관리체계171220 웹프로그래밍 web app 토렌트 관리체계
171220 웹프로그래밍 web app 토렌트 관리체계우진 신
 
라즈베리파이로 슬랙 봇 개발하기
라즈베리파이로 슬랙 봇 개발하기라즈베리파이로 슬랙 봇 개발하기
라즈베리파이로 슬랙 봇 개발하기YunSeop Song
 
Tensorflow service & Machine Learning
Tensorflow service & Machine LearningTensorflow service & Machine Learning
Tensorflow service & Machine LearningJEEHYUN PAIK
 
Meetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vsMeetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vsminseok kim
 
PHP Slim Framework with Angular
PHP Slim Framework with AngularPHP Slim Framework with Angular
PHP Slim Framework with AngularJT Jintae Jung
 

Similaire à Red Hat Forum 2012 - JBoss RHQ - Java Application Monitoring & Management Platform (20)

Eclipse RAP - Single Source
Eclipse RAP - Single SourceEclipse RAP - Single Source
Eclipse RAP - Single Source
 
RHAMT 소개
RHAMT 소개RHAMT 소개
RHAMT 소개
 
(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기
(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기
(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기
 
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
 
Eclipse RAP
Eclipse RAPEclipse RAP
Eclipse RAP
 
초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드 초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드
 
Cloud life seminar open shift,이준영(배포용)
Cloud life seminar   open shift,이준영(배포용)Cloud life seminar   open shift,이준영(배포용)
Cloud life seminar open shift,이준영(배포용)
 
Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기
 
[제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE
[제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE  [제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE
[제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE
 
장고로 웹서비스 만들기 기초
장고로 웹서비스 만들기   기초장고로 웹서비스 만들기   기초
장고로 웹서비스 만들기 기초
 
KAFKA 3.1.0.pdf
KAFKA 3.1.0.pdfKAFKA 3.1.0.pdf
KAFKA 3.1.0.pdf
 
[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래
 
01.개발환경 교육교재
01.개발환경 교육교재01.개발환경 교육교재
01.개발환경 교육교재
 
[오픈소스컨설팅] OpenShift PaaS Platform How-to
[오픈소스컨설팅] OpenShift PaaS Platform How-to[오픈소스컨설팅] OpenShift PaaS Platform How-to
[오픈소스컨설팅] OpenShift PaaS Platform How-to
 
[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기
[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기
[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기
 
171220 웹프로그래밍 web app 토렌트 관리체계
171220 웹프로그래밍 web app 토렌트 관리체계171220 웹프로그래밍 web app 토렌트 관리체계
171220 웹프로그래밍 web app 토렌트 관리체계
 
라즈베리파이로 슬랙 봇 개발하기
라즈베리파이로 슬랙 봇 개발하기라즈베리파이로 슬랙 봇 개발하기
라즈베리파이로 슬랙 봇 개발하기
 
Tensorflow service & Machine Learning
Tensorflow service & Machine LearningTensorflow service & Machine Learning
Tensorflow service & Machine Learning
 
Meetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vsMeetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vs
 
PHP Slim Framework with Angular
PHP Slim Framework with AngularPHP Slim Framework with Angular
PHP Slim Framework with Angular
 

Plus de Ted Won

Undertow RequestBufferingHandler 소개
Undertow RequestBufferingHandler 소개Undertow RequestBufferingHandler 소개
Undertow RequestBufferingHandler 소개Ted Won
 
JBoss EAP 7 & JDG 7 최신 기술 소개
JBoss EAP 7 & JDG 7 최신 기술 소개JBoss EAP 7 & JDG 7 최신 기술 소개
JBoss EAP 7 & JDG 7 최신 기술 소개Ted Won
 
JBoss Modules Internal
JBoss Modules InternalJBoss Modules Internal
JBoss Modules InternalTed Won
 
오픈 소스 컨트리뷰션 가이드
오픈 소스 컨트리뷰션 가이드오픈 소스 컨트리뷰션 가이드
오픈 소스 컨트리뷰션 가이드Ted Won
 
Jenkins X Hands-on - automated CI/CD solution for cloud native applications o...
Jenkins X Hands-on - automated CI/CD solution for cloud native applications o...Jenkins X Hands-on - automated CI/CD solution for cloud native applications o...
Jenkins X Hands-on - automated CI/CD solution for cloud native applications o...Ted Won
 
Jenkins X - automated CI/CD solution for cloud native applications on Kubernetes
Jenkins X - automated CI/CD solution for cloud native applications on KubernetesJenkins X - automated CI/CD solution for cloud native applications on Kubernetes
Jenkins X - automated CI/CD solution for cloud native applications on KubernetesTed Won
 
Hawkular overview
Hawkular overviewHawkular overview
Hawkular overviewTed Won
 
Building Real-time CEP Application with Open Source Projects
Building Real-time CEP Application with Open Source Projects Building Real-time CEP Application with Open Source Projects
Building Real-time CEP Application with Open Source Projects Ted Won
 

Plus de Ted Won (8)

Undertow RequestBufferingHandler 소개
Undertow RequestBufferingHandler 소개Undertow RequestBufferingHandler 소개
Undertow RequestBufferingHandler 소개
 
JBoss EAP 7 & JDG 7 최신 기술 소개
JBoss EAP 7 & JDG 7 최신 기술 소개JBoss EAP 7 & JDG 7 최신 기술 소개
JBoss EAP 7 & JDG 7 최신 기술 소개
 
JBoss Modules Internal
JBoss Modules InternalJBoss Modules Internal
JBoss Modules Internal
 
오픈 소스 컨트리뷰션 가이드
오픈 소스 컨트리뷰션 가이드오픈 소스 컨트리뷰션 가이드
오픈 소스 컨트리뷰션 가이드
 
Jenkins X Hands-on - automated CI/CD solution for cloud native applications o...
Jenkins X Hands-on - automated CI/CD solution for cloud native applications o...Jenkins X Hands-on - automated CI/CD solution for cloud native applications o...
Jenkins X Hands-on - automated CI/CD solution for cloud native applications o...
 
Jenkins X - automated CI/CD solution for cloud native applications on Kubernetes
Jenkins X - automated CI/CD solution for cloud native applications on KubernetesJenkins X - automated CI/CD solution for cloud native applications on Kubernetes
Jenkins X - automated CI/CD solution for cloud native applications on Kubernetes
 
Hawkular overview
Hawkular overviewHawkular overview
Hawkular overview
 
Building Real-time CEP Application with Open Source Projects
Building Real-time CEP Application with Open Source Projects Building Real-time CEP Application with Open Source Projects
Building Real-time CEP Application with Open Source Projects
 

Red Hat Forum 2012 - JBoss RHQ - Java Application Monitoring & Management Platform

  • 1.
  • 2. JBoss RHQ를 이용한 오픈소스 자바 애플리케이션 모니터링 KTH 원종석 JBoss User Group / RHQ Contributor
  • 3. About Me l  Korea  JBoss  User  Group  커뮤니티 부운영자 –  h/p://www.facebook.com/groups/jbossusergroup   l  JBoss  RHQ  Evangelist  /  Contributor  -­‐  한글화 작업 l  tedwon.com  WIKI  운영   l  오픈 소스로 일하는 Java  개발자 l  Hadoop  /  CEP기반 Big  Data  플랫폼 설계/개발/운영 l  현재 KTH에서 DAISY  데이터 분석 플랫폼 개발 중
  • 4. Content •  RHQ Overview •  RHQ Architecture •  RHQ History •  JBoss ON •  Contributions •  Monitoring Practice
  • 6. What is RHQ? JBoss의 대표적인 Infrastructure Project Open Source Management & Monitoring Project
  • 7. In some cases l  내가 만든 Java  Applica*on을 모니터링하고 싶다.   l  장기간  지속적으로...  Chart도 필요하고...  Sta*s*cs도 필요하고...   l  직접 만들려고 해보면 너무 일이 커지고 l  돈 주고 사기에는 너무 비싸고 l  손쉽게 공짜로 사용  할  수  있는  것  어디  없을까?   l  게다가 좀 더 체계적이고 다양한 기능을 제공했으면 좋겠다.  
  • 8. “JBoss RHQ” One of the Solutions!!
  • 10. Java Application Monitoring Graphs l  Custom  Java  ApplicaPon  /  JVM  모니터링
  • 12. Remote Operations l  원격 명령 실행 기능 제공
  • 13. REST API l  3th  party를 위한 API  제공
  • 15. RHQ’d be one of the Solutions! l  개발/운영 전체 라이프 사이클을 위한Enterprise  Management  PlaUorm   –  배포,  리소스 추가,  모니터링,  통지    
  • 16. What is RHQ? l  JBoss  Enterprise  Management  PlaUorm   l  JBoss  Middleware  제품의 모니터링 PlaUorm   l  JBoss  AS   l  Infinispan   l  HornetQ   l  BlackTie   l  Mobicents   l  CirrAS   l  Byteman   l  Hibernate   l  etc  ...  
  • 17.
  • 18. RHQ monitors any resources l  JBoss  제품 뿐만아니라 다른 모든 애플리케이션에 대해 모니터링 가능 l  Apache  Web  Server   l  Apache  Tomcat  Server   l  Apache  Hadoop  Cluster   l  Apache  Zookeeper  Cluster   l  Apache  Ka;a  Cluster   l  Apache  Flume   l  Facebook  Scribe  Log  Aggregator  (C-­‐daemon  provided  CLI)   l  Etc...  
  • 19. What is RHQ? l  Make  technologies  more  manageable!!   –  Aims  to  develop  a  common  services  management  plaAorm   l  Java  기반의 Open  Source  System  Management  Project   –  설치 매우 용이 l  전세계의 수많은 Contributor들의 참여와 기여에 의해 개발 되고 있음 l  소규모 단일 노드부터 대규모 클러스터 모니터링에 적용 가능
  • 20. RHQ Architecture l  Agent  /  Server  Architecture   l  Extending  by  Plugins  
  • 21. RHQ Agent l  OS당 하나의 Agent  설치 l  각 Plugin은 특정 대상(resource)을 전담해서 모니터링 l  DB  저장 없는 Standalone  Java  Instance   l  주기적으로 모니터링 정보를 수집하여 서버로 레포팅 l  JBoss  RemoPng  프레임워크를 이용한 socket  통신
  • 22. RHQ Agent Plugins l  다양한 리소스를 위한 기본Plugin  제공 l  Server  Plugins   l  Apache,  Tomcat,  JBoss  AS   l  RDBMS  Plugins   l  MySQL,  PostgreSQL,  Oracle   l  Java  JMX  Plugin   l  C  daemon  프로세스 (Ex:  Scribe  Log  Aggregator)     l  Shell  Script,  Pid  file,  Process  Query     l  필요에 맞는 Custom  Plugin  제작 가능 –  간단하게 또는 정교하게 개발 가능 l  h/ps://docs.jboss.org/author/display/RHQ/Plugin+Community  
  • 23. SIGAR + JMX RHQ 주요 모니터링 기술 l  OS  플랫폼 별 SIGAR  API  활용 –  SIGAR  API를 사용하여 System  InformaPon  Gathering  (CPU,  Memory)   l  Java  표준 모니터링 스펙 JMX  활용 –  JMX  기술 기반으로 원격 JVM  모니터링/관리 기능 제공 -­‐  JMX  Plugin    
  • 24. What is JMX? l  Java 표준 모니터링 스펙 JMX 활용 l  RHQ는 하나의 JMX 클라이언트 l  http://goo.gl/BLHfM JSR 160 Java Management Extensions
  • 25. RHQ Implementation Techniques l  대부분 JBoss  project  기술로 구현 l  JBoss  AS  v4.2.3   l  JBoss  Remo*ng  v2   l  Hibernate   l  JBoss  Web  /  TransacPons  /  Cache  /  SerializaPon   l  JBoss  Seam  v2.1  /  RishFaces   l  GWT  v2.4.0   l  SmartGWT  v3.0   l  Java  SE  6  Script  Features  for  RHQ  CLI  
  • 26. RHQ History l  2005년  부터  시작한  Hyperic  &  Red  Hat  joint  project   l  Hyperic이 SIGAR  API를 기반으로 프로젝트를 처음 시작 l  Red  Hat이 확장 및 발전 l  2008년 2월 RHQ  1.0  배포 l  Red  Hat  and  Hyperic  Launch  Common  Services  PlaUorm  Project   l  RHQ  Project  Overview     l  Red  Hat  RHQ  vs.  SpringSource  Hyperic  HQ  으로 발전 중 l  RHQ에서 일부가 Jopr라는 프로젝트로 분리 l  2010년에 Jopr  프로젝트를 RHQ  프로젝트 하나로 통합
  • 28. GNU General Public License GNU Lesser General Public License http://git.fedorahosted.org/cgit/rhq/rhq.git/tree/LICENSE RHQ License
  • 29. JBoss AS 5/6/7 Admin Console l  JBoss  AS  built-­‐in  admin  console   l  Embedded  Jopr   l  사실 RHQ  코드 재사용 l  RHQ를 통해 더욱 자세한 관리 및 모니터링 가능
  • 30. JBoss Operations Network l  RHQ  Commercial  Product  Version   l  RHQ  유료 기술 지원 버전 l  Code  base  동일 l  Fully  quality-­‐tested  &  cer*fied  by  Red  Hat   l  JBoss  ON  으로 줄여서 호칭 l  h/p://www.jboss.com/products/jbosson   l  h/p://en.wikipedia.org/wiki/JBoss_operaPons_network  
  • 32. How to monitor My Java App l  Step  1.  RHQ  Server와 Agent  설치 l  Step  2.  Java  ApplicaPon에 JMX  MBean  추가 l  Step  3.  JMX  MBean정의에 맞춰서 Plugin  XML  파일 정의 l  Step  4.  나의 ApplicaPon용 JMX  Plugin으로 RHQ  Server에 등록 l  Step  5.  모니터링 및 관리 시작!!   Java JMX + RHQ XML = Menu 추가 Standard & Simplicity
  • 33. Sample JMX Application l  Business  Class에 MBean  인터페이스 구현 public  class  MyJmxObject  implements  MyJmxObjectMBean  {          //  모니터링 하고자하는 대상 데이터 Ex:  throughput          public  double  getRandomNumber()  {                  return  Math.random();          }          //  원격에서 실행하고자 하는 Opera*on  Ex:  start/stop          public  String  toUppercase(String  string)  {                  return  (string  !=  null)  ?  string.toUpperCase()  :  "";          }   }  
  • 34. Sample JMX Application l  MBean  인터페이스 정의 public  interface  MyJmxObjectMBean  {          //  모니터링 하고자하는 대상 데이터 Ex:  throughput          double  getRandomNumber();          //  원격에서 실행하고자 하는 Opera*on  Ex:  start/stop          String  toUppercase(String  string);   }   l  JMX  OpPon  추가        java  -­‐Dcom.sun.management.jmxremote.port=19999            -­‐Dcom.sun.management.jmxremote.authen*cate=false            -­‐Dcom.sun.management.jmxremote.ssl=false            -­‐jar  ./jmxapp.jar  
  • 35. RHQ Plugin XML Schema
  • 36. rhq-plugin.xml 정의 l  MBean  정보를 rhq-­‐plugin태그와 맵핑   <plugin  name="CustomJmx"  displayName="Custom  JMX  Plugin">        <depends  plugin="JMX"  useClasses="true"/>        <service  name="First  Custom  Service">                                ==>  모니터링 서비스 정의 <opera*on  name="toUppercase"                    ==>  Opera*on  정의                                  displayName="String  To  Uppercase"/>              <metric  property="RandomNumber"          ==>  Chart  정의                            displayType="summary"                              defaultInterval="30000"/>        </service>   </plugin>  
  • 37. Sample JMX Application l  이제 모니터링 및 원격 명령을 위한 구성이 완료되었습니다.  
  • 38. Live Chart l  1초 단위의 실시간 모니터링 차트 제공
  • 39. RHQ Monitoring Practices l  Linux  Server  리소스 모니터링
  • 40. RHQ Monitoring Practices l  CPU  Usage  StaPsPcs  
  • 41. RHQ Monitoring Practices l  Memory  Usage  StaPsPcs  
  • 42. RHQ Monitoring Practices l  JVM  Monitoring   –  CPU  /  Heap  /  Classes  /  Thread  
  • 43. RHQ Monitoring Practices l  JBoss  ApplicaPon  Server  7  
  • 44. RHQ Monitoring Practices l  JBoss  ApplicaPon  Server  7  
  • 45. RHQ Monitoring Practices l  JBoss  ApplicaPon  Server  7  
  • 46. RHQ Monitoring Practices l  JBoss  ApplicaPon  Server  7  
  • 47. RHQ Monitoring Practices l  Kata  Server  리소스 모니터링
  • 48. RHQ Monitoring Practices l  Hadoop  Cluster  리소스 모니터링
  • 49. RHQ Monitoring Practices l  Hadoop  Cluster  리소스 모니터링
  • 50. RHQ Monitoring Practices l  Hadoop  Cluster  리소스 모니터링
  • 51. RHQ Monitoring Practices l  Hadoop  Cluster  리소스 모니터링
  • 53. RHQ Contributions   l  Installer  UI  한글화  작업  완료  from  v4.2   l  메인 메뉴 GWT  UI  한글화  작업  진행  중       l  RHQ  Plugin  개발 –  h/ps://github.com/tedwon/apache-­‐hadoop-­‐rhq-­‐plugin   –  h/ps://github.com/tedwon/apache-­‐kata-­‐rhq-­‐plugin   –  h/ps://github.com/tedwon/apache-­‐zookeeper-­‐rhq-­‐plugin  (Incomplete)      
  • 55. Motivations l  모니터링 시스템 개발 공수  이슈   l  우리가 사용하는 리소스에 대한 측정  필요   l  장애  발생시  원인 파악에 도움 l  측정하는 습관  필요   l  Measure-­‐driven  Development   l  A/B  test를 습관화하는 개발 문화 l  Quality  향상 l  이러한 활동을 위한 인프라  제공   l  일종의 개발자의 무기 l  Product 개발시 활용
  • 57. Demos & Videos RHQ Related Links l  RHQ  User  DocumentaPon   l  RHQ  Server  InstallaPon  Guide   l  RHQ  Server  Users  Guide   l  RHQ  Agent  Users  Guide   l  Frequently  Asked  QuesPons   l  h/p://tedwon.com/display/dev/RHQ   l  h/p://rhq-­‐project.org/display/JOPR2/Demos   l  h/p://support.rhq-­‐project.org/display/RHQ/Videos