RHQ 공감 Seminar 6th

1,693 views

Published on

Open Source Monitoring & Management Project

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,693
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
20
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

RHQ 공감 Seminar 6th

  1. 1. Open Source Monitoring & Management Project RHQ 원종석 http://tedwon.com/display/dev/RHQ 2011. 12. 3.
  2. 2. Agenda <ul><ul><li>RHQ 소개 </li></ul></ul><ul><ul><li>Demo </li></ul></ul><ul><ul><li>RHQ Contribution 활동 소개 </li></ul></ul>
  3. 3. What is RHQ?
  4. 4. For Instance... <ul><ul><li>내가 만든 Java Application 을 모니터링하고 싶다 . </li></ul></ul><ul><ul><li>장기간 지속적으로 ... Chart 도 필요하고 ... Statistics 도 필요하고 ... </li></ul></ul><ul><ul><li>직접 만들려고 해보면 너무 일이 커지고 </li></ul></ul><ul><ul><li>돈 주고 사기에는 너무 비싸고 </li></ul></ul><ul><ul><li>손쉽게 공짜로 사용 할 수 있는 것 어디 없을까 ? </li></ul></ul><ul><ul><li>게다가 좀 더 체계적이고 다양한 기능을 제공했으면 좋겠다 . </li></ul></ul>
  5. 5. &quot;RHQ&quot; would be One of the Solutions!!
  6. 6. RHQ would be one of the Solutions!
  7. 7. RHQ would be one of the Solutions!
  8. 8. RHQ would be one of the Solutions!
  9. 9. RHQ would be one of the Solutions!
  10. 10. RHQ would be one of the Solutions!
  11. 11. RHQ Project Home http://rhq-project.org http://www.jboss.org/jopr
  12. 12. Conclusions in Advance <ul><ul><li>RHQ Server 와 Agent 설치 </li></ul></ul><ul><ul><li>Java Application 에 JMX MBean 추가 </li></ul></ul><ul><ul><li>JMX MBean 기반 Plugin Descriptor XML 파일 정의  </li></ul></ul><ul><ul><li>나의 Application 용 JMX Plugin 을  RHQ Server 에 등록 </li></ul></ul><ul><ul><li>모니터링 및 관리 시작 !! </li></ul></ul>
  13. 13. What is RHQ? <ul><ul><li>JBoss Enterprise Management Platform </li></ul></ul><ul><ul><li>JBoss Middleware 제품의 모니터링 Platform </li></ul></ul><ul><ul><ul><li>JBoss AS 5/6 </li></ul></ul></ul><ul><ul><ul><li>HornetQ </li></ul></ul></ul><ul><ul><ul><li>Infinispan </li></ul></ul></ul><ul><ul><ul><li>BlackTie </li></ul></ul></ul><ul><ul><ul><li>Mobicents </li></ul></ul></ul><ul><ul><ul><li>CirrAS </li></ul></ul></ul><ul><ul><ul><li>etc ... </li></ul></ul></ul>
  14. 14. http://www.jboss.com/products RHQ
  15. 15. What is RHQ? <ul><ul><li>Make technologies more manageable!! </li></ul></ul><ul><ul><li>Aims to develop a common services management platform </li></ul></ul><ul><ul><li>Java 기반의 Open Source System Management Project </li></ul></ul><ul><ul><li>Sigar API 를 사용하여 System Information Gathering (Mem, CPU) </li></ul></ul><ul><ul><li>JMX 기술 기반으로 원격 관리 기능 제공 - JMX Plugin </li></ul></ul><ul><ul><li>OS 플랫폼에서 Server 리소스까지 전반적인 모니터링 / 관리 기능 제공 </li></ul></ul><ul><ul><li>Enterprise Management Platform </li></ul></ul>
  16. 16. What is RHQ? <ul><ul><li>Client - Server Architecture </li></ul></ul><ul><ul><li>Agent 의 plugin 을 통해서 모니터링 정보 수집 </li></ul></ul><ul><ul><li>필요한 plugin 인만 구성해서 사용하면 적절 </li></ul></ul><ul><ul><li>실시간 모니터링 서버는 아님 -  최소 30 초 주기로 모니터링 </li></ul></ul><ul><ul><li>장기간 모니터링에 적합 </li></ul></ul><ul><ul><li>설치시 DBMS 로 MySQL 를 지원하지 않으며 , PostgreSQL/Oracle 을 지원 </li></ul></ul><ul><ul><li>Jopr 라는 이름에서 RHQ 라는 이름 하나로 통합 - 2010 년 </li></ul></ul>
  17. 17. What is RHQ?
  18. 18. RHQ Management Functionality <ul><ul><li>Inventory </li></ul></ul><ul><ul><li>Monitoring </li></ul></ul><ul><ul><li>Configuration </li></ul></ul><ul><ul><li>Events </li></ul></ul><ul><ul><li>Control </li></ul></ul>
  19. 19. RHQ Management Functionality <ul><ul><li>Inventory </li></ul></ul><ul><ul><ul><li>모니터링 대상 정의 / 등록 / 관리 </li></ul></ul></ul><ul><ul><ul><li>Resource directory </li></ul></ul></ul><ul><ul><li>Monitoring </li></ul></ul><ul><ul><ul><li>Monitoring any resource </li></ul></ul></ul><ul><ul><ul><li>Automatic discovery of resources </li></ul></ul></ul><ul><ul><ul><li>Monitoring for availability and performance </li></ul></ul></ul><ul><ul><ul><li>Complex alerting </li></ul></ul></ul><ul><ul><li>Configuration </li></ul></ul><ul><ul><ul><li>Configuration management </li></ul></ul></ul><ul><ul><ul><li>Audited, validated configuration editing and history </li></ul></ul></ul>
  20. 20. RHQ Management Functionality <ul><ul><li>Events </li></ul></ul><ul><ul><ul><li>WAS 의 로그 에러 트래킹과 레포트 </li></ul></ul></ul><ul><ul><li>Control </li></ul></ul><ul><ul><ul><li>원격에서 operation 실행 </li></ul></ul></ul><ul><ul><ul><li>Operation 스케쥴링 </li></ul></ul></ul>
  21. 21. RHQ License GNU General Public License GNU Lesser General Public License http://svn.rhq-project.org/repos/rhq/trunk/LICENSE
  22. 22. <ul><ul><li>RHQ Commercial Product Version </li></ul></ul><ul><ul><li>RHQ 유료 기술 지원 버전 </li></ul></ul><ul><ul><li>Code base 동일 </li></ul></ul><ul><ul><li>Fully quality-tested & certified by Red Hat </li></ul></ul><ul><ul><li>JBoss ON 으로 줄여서 호칭 </li></ul></ul><ul><li>                       http://www.jboss.com/products/jbosson </li></ul><ul><li>            http://en.wikipedia.org/wiki/JBoss_operations_network </li></ul>JBoss Operations Network
  23. 23. <ul><ul><li>Embedded Jopr </li></ul></ul><ul><ul><li>JBoss Application Server 전용 administration console </li></ul></ul><ul><ul><li>JBoss AS built-in admin console </li></ul></ul><ul><ul><li>RHQ 코드 재사용 </li></ul></ul>JBoss AS 5/6 Admin Console
  24. 24. RHQ History <ul><ul><li>2005 년 부터 시작한 Hyperic & Red Hat joint project </li></ul></ul><ul><ul><li>Hyperic 이 Sigar API 를 기반으로 프로젝트를 처음 시작 </li></ul></ul><ul><ul><li>Red Hat 이 확장 및 발전 </li></ul></ul><ul><ul><li>2008 년 2 월 RHQ 1.0 배포 </li></ul></ul><ul><ul><li>Red Hat and Hyperic Launch Common Services Platform Project & Hyperic for RHX - 2008. 2 </li></ul></ul><ul><ul><li>RHQ Project Overview   </li></ul></ul><ul><ul><li>Red Hat  RHQ vs. SpringSource  Hyperic HQ </li></ul></ul>
  25. 25. RHQ 3 Implementation Techniques <ul><ul><li>JBoss Seam 2.1 </li></ul></ul><ul><ul><li>JBoss AS 4.2.3 </li></ul></ul>JSF 1.2 + EJB 3
  26. 32. Pop-up Reference Migrating Hyperic from EJB to Spring from JBoss to Apache Tomcat Hyperic HQ EJB + JBoss AS (EAR) Spring + Apache Tomcat (WAR)
  27. 33. Migrating Hyperic from EJB to Spring from JBoss to Apache Tomcat
  28. 34. RHQ 4 New Techniques Adoption <ul><ul><li>New Ajax Dynamic GUI </li></ul></ul><ul><ul><li>Use Java SE 6 Script Feature for RHQ   CLI </li></ul></ul>SmartGWT
  29. 35. RHQ 4's New GUI <ul><ul><li>New Ajax Dynamic UI </li></ul></ul><ul><ul><li>Use Java SE 6 Script Feature for CLI </li></ul></ul>SmartGWT
  30. 36. Useful Documentation Links RHQ User Documentation RHQ Server Installation Guide RHQ Server Users Guide RHQ Agent Users Guide Frequently Asked Questions
  31. 37. <ul><ul><li>Server/Agent Architecture 여기에 내용을 넣어주세요 . </li></ul></ul>RHQ Architecture <ul><ul><li>Server / Agent Architecture </li></ul></ul>
  32. 38. RHQ Architecture
  33. 39. RHQ Server Architecture
  34. 40. <ul><ul><li>OS 당 하나의 Agent 설치 </li></ul></ul><ul><ul><li>각 Plugin 은 특정 대상 (resource) 을 전담해서 모니터링 </li></ul></ul><ul><ul><li>DB 저장 없는 Standalone Java Instance </li></ul></ul><ul><ul><li>주기적으로 모니터링 정보를 수집하여 서버로 레포팅 </li></ul></ul><ul><ul><li>JBoss Remoting   프레임워크를 이용한 socket 통신 </li></ul></ul>RHQ Agent Architecture
  35. 41. RHQ Monitor Architecture
  36. 42. RHQ Monitor Architecture <ul><ul><li>모니터링 대상을 Resource 라고 통칭한다 . </li></ul></ul>OS Process
  37. 43. RHQ Agent Plugins <ul><ul><li>http://rhq-project.org/display/RHQ/Plugin+Community </li></ul></ul><ul><ul><li>다양한 리소스를 위한 Plugin 제공 </li></ul></ul><ul><ul><li>Apache, Tomcat, JBoss AS </li></ul></ul><ul><ul><li>MySQL, PostgreSQL, Oracle </li></ul></ul><ul><ul><li>JMX Plugin  </li></ul></ul><ul><ul><li>필요에 맞는 Custom Plugin 제작 가능 </li></ul></ul>
  38. 44. RHQ Agent Plugin XML Schema See rhq-plugin.xsd
  39. 45. Writing Custom JMX Plugins <ul><ul><li>Java Application 을 모니터링 할 수 있는 Custom JMX Plugin 제작 </li></ul></ul><ul><ul><li>rhq-plugin.xml 파일에 JMX 에서 정의한 Attribute/Operation 정의 </li></ul></ul><ul><ul><li>모니터링 대상 데이터를 선정하고 Chart 속성을 정의 </li></ul></ul><ul><ul><li>Jar Archive 로 패키징 </li></ul></ul><ul><ul><li>RHQ Server 에 Custom JMX Plugin 등록 </li></ul></ul>
  40. 46. Writing Custom JMX Plugins <ul><ul><li>Sample Custom JMX Plugin 프로젝트 구조 </li></ul></ul>
  41. 47. Writing Custom JMX Plugins <ul><ul><li>JMX Plugin 을 상속하면 Plugin Descriptor XML 파일만 정의하면 OK </li></ul></ul>
  42. 48. Writing Custom JMX Plugins <ul><ul><li>Download Sample Project:  custom-jmx-plugin-demo-code.zip </li></ul></ul><ul><ul><li>RHQ Server 에 Custom JMX Plugin 등록 후 </li></ul></ul><ul><ul><li>RHQ Agent Plugin 업데이트 실시 </li></ul></ul><ul><ul><li>RHQ Server 에 신규 리소스 추가 </li></ul></ul><ul><ul><li>모니터링 시작 ! </li></ul></ul><ul><ul><li>See  Writing And Using Your Own Custom JMX Plugin </li></ul></ul><ul><ul><li>See Demo Video </li></ul></ul>
  43. 49. Example: Sample JMX Application <ul><ul><li>Sample JMX Application 클래스 : Business Class </li></ul></ul><ul><li>public class MyJmxObject implements MyJmxObjectMBean { </li></ul><ul><li>    // 모니터링 하고자하는 대상 데이터 </li></ul><ul><li>    public double getRandomNumber() { </li></ul><ul><li>        return Math.random(); </li></ul><ul><li>    } </li></ul><ul><li>    // 원격에서 실행하고자 하는 Operation </li></ul><ul><li>    public String toUppercase(String string) { </li></ul><ul><li>        return (string != null) ? string.toUpperCase() : &quot;&quot;; </li></ul><ul><li>    } </li></ul><ul><li>} </li></ul>
  44. 50. Example: Sample JMX Application <ul><ul><li>Sample JMX Application MBean 인터페이스 </li></ul></ul><ul><li>public interface MyJmxObjectMBean { </li></ul><ul><li>    // Attribute:  모니터링 하고자하는 대상 데이터 </li></ul><ul><li>     double getRandomNumber(); </li></ul><ul><li>    // Operation:  원격에서 실행하고자 하는 Operation </li></ul><ul><li>    String toUppercase(String string); </li></ul><ul><li>} </li></ul>
  45. 51. Example: Sample JMX Application <ul><ul><li>Sample JMX Application 프로젝트 구조 </li></ul></ul>
  46. 52. Example: Sample JMX Application <ul><ul><li>Sample JMX Application 을 구동합니다 </li></ul></ul><ul><li>java -Dcom.sun.management.jmxremote.port=19999 </li></ul><ul><li>-Dcom.sun.management.jmxremote.authenticate=false </li></ul><ul><li>-Dcom.sun.management.jmxremote.ssl=false </li></ul><ul><li>-jar ./jmxapp.jar </li></ul>
  47. 53. Example: rhq-plug.xml <plugin name =&quot;CustomJmx&quot; displayName =&quot;Custom JMX Plugin&quot;>     <depends plugin=&quot;JMX&quot; useClasses=&quot;true&quot;/>     <service name=&quot;First Custom Service&quot;>                 ==> 모니터링 서비스 정의       <operation name=&quot;toUppercase&quot;                          ==> Operation 정의                   displayName=&quot;String To Uppercase&quot;/>       <metric property=&quot;RandomNumber&quot;                     ==> Chart 정의               displayType=&quot;summary&quot;               defaultInterval=&quot;30000&quot;/>     </service> </plugin> <ul><ul><li>Central Server GUI 에 표현될 서비스 스타일 정의 </li></ul></ul>
  48. 54. Example: Custom JMX Plugin  
  49. 55. Example: Custom JMX Plugin  
  50. 56. Online Demos http://rhq-project.org/display/JOPR2/Demos
  51. 57. Videos about RHQ, Jopr and JBossON http://support.rhq-project.org/display/RHQ/Videos
  52. 58. RHQ / JBoss ON Team   https://plus.google.com/114249341487134308671/posts/6gNTfxEr1zQ Red Hat building in Westford, Massachusetts
  53. 59. Demo
  54. 60. RHQ Contributions Korean Translation Jobs
  55. 61. Thanks Q&A
  56. 62. JBoss Community (http://www.jboss.org) Korea JBoss User Group (http://cafe.naver.com/jbossug)

×