달력

42024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
JMX (Java Management Extensions) Introduce
 
JMx는 프로그래머들에게 자바 어플리케이션의 모니터링과 관리 기능을 제공한다. 실제로 이 API는 웹서버에서 네트워크 디바이스, 웹폰에 이르기까지 자바로 이용가능한 것은 어느 것이든 로컬 혹은 원격으로 처리 할 수 있게 한다.
 
DownLoad
http://java.sun.com/products/JavaManagement/download.html 에서 다운로드 받을 수 있다. 현재 최종 버전은 다음과 같다.
 
l         JMX Remote API 1.0.1_03 Reference Implementation(JSR 3)
l        JMX 1.2.1 Reference Implementation(JSR 160)
 
JMS 환경
l        Instrumentation Tier(JSR 3에 포함) : 어플리케이션, 디바이스, 서비스와 같은 리소스들은 MBean(Managed Bean)이라고 불리는 자바 오브젝트를 이용하여 설치된다. MBean은 원격으로 관리하고 모니터링하는 JMS 에이전트를 통해 속성과 연산으로 구성된 관리 인터페이스를 보여준다.
l        Agent Tier(JSR 3에 포함) : JMS 에이전트의 주요 컴포넌트는 MBean서버이며, 이는  MBean이 등록되는 코어관리 에이전트 오브젝트 서버이다. JMX에이전트는 또한 MBean을 핸들링하기 위한 서비스들을 포함하고 있다. JMX에이전트는 직접적으로 리소스를 제어하고 관리가 가능하도록 한다.
l        Remote Management Tier(JSR 160에 부분 포함) : 이 티어는 에이전트 JVM외부의 원격 관리 어플리케이션으로부터 접근 가능한 JMX에이전트를 만드는 프로토롤 어덥터와 커넥터를 정의 한다. 커넥터는 원격 클라이언트 JMX-aware이고 로컬 클라이언트가 보게될 것과 같은 JMX API를 볼 때 사용된다. 어덥터는 원격 클라이언트가 SNMP(Simple Network Management Protocol) CIM/WBEM(Common Infromation Model and Web Base Enterprise Management)같은 일반 관리 프로토콜을 이용할 때 사용된다.
 
Developer Type
l        리소스 관리 MBean 개발 : JMX 기술은 관리를 위해 보여지는 인터페이스를 정의 한다.
l        에이전트를 생성하고 배치하는 개발
n         MBean 서버를 생성하거나 플랫폼에 의해 제공되는 것을 사용한다.
n         MBean 네이밍 컨베션을 이용하여 리소스를 나타내는 MBean을 등록한다.
n         플랫폼(RMI/SNMP)에 의해 공급된 커넥터와 프로토콜 어뎁터를 형성하거나, 리소스가 원격으로 접근되었을 때는 커스텀 커넥터나 어덥터를 추가한다.
l        원격 매니저를 작성하는 개발 : JMX 에이전트와 상호작용하는 커넥터나 프로토콜을 선택하고, 나타난 MBean을 통해 원격으로 관리되는 리소스의 뷰를 구축한다.
 
MBean 4가지 타입
l        Standard MBean : 표준MBean MBean 가장 일반적인 타입이다. 대부분의 개발자는 외의 MBean타입을 생성할 필요가 없다.
l        Dynamic MBean : introspection 통하는 대신 javax.management.DynamicMBean 인터페이스를 이용하여 관리 인터페이스를 프로그램적으로 구현한다. 이를 위해서는 관리를 위해 나타나는 속성과 작용을 표현하는 정보 클래스에 의존한다. Dynamic MBean MBean 관리 인터페이스가 컴파일시 알려지지 않았을 -예를 들어, XML파일을 파싱하는데 결정되었을 -종종 사용된다.
l        Model MBean : 일반적이고 형성가능한 MBean으로써 어플리케이션이 어떤 리소스든지 다이나믹하게 설치하는 사용한다(API에서 Modle MBean Class Dynamic MBean Class 상속 받는다.). 본질적으로, 관리 인터페이스와 실제 리소스가 프로그램적으로 설정되도록 구현되어온 것이 다이나믹 MBean이다. 이로 인해 자바 다이나믹 관리 에이전트에 연결된 어떤 매니저라도 MBean모델을 다이나믹하게 실증하고 형성할 있다.
l        Open MBean : 오픈 MBean 데이터 타입에 특정 제한을 가진 다이나믹 MBean이며, 이는 관리 어플리케이션과 이들의 관리자들이 런터임시 발견되는 새로운 관리 오브젝트들을 이해하고 사용할 있게 한다. 오픈 MBean JMX스펙에 따르는 넓은 범위의 어플리케이션에 오픈될 필요가 있는 리소스를 설치하는데 있어 유동적인 수단을 제공한다.
 
Sample Program
샘플 프로그램은 JDK1.5.0_03 버전에서 테스트 하였습니다. 1.5 이하 버전에서는 구동되지 않습니다.
 
샘플은 RSS 서버스를 Reader하는 어플리케이션(rssReaderAgent) 관리하는 MBean(rssJMX) 구성하였다. MBean RSS Reader 읽기 횟수, 읽어온 등록들의 총수, 현재 읽어온 글의 수을 모니터링하며 reset()메서드는 위의 수를 초기화 한다. MBean 구성인 rssJMX, rssJMXMBean, rssJMXDevice 같은 이름으로 시작해야 한다.(rssJMX) 샘플을 구동하기 위해 RSS UTIL API 필요하다. 해당 API 아래에서 다운 받을 있다.
Posted by tornado
|