1 / 13

JMX 이해하기 Spring JMX

JMX. JMX 이해하기 Spring JMX. JMX (Java Management Extensions) 소개. 프로그래머들에게 자바 어플리케이션의 모니터링과 관리 기능을 제공한다 . 경량 , 확장된 관리가 가능하다 . 웹 서버에서 네트워크 디바이스 , 웹 폰에 이르기까지 자바로 이용 가능한 것은 어느 것이든 로컬 혹은 원격으로 처리 가능하다. JMX 가 주로 쓰일 곳. 어플리케이션의 설정에 대한 컨설팅 및 변경작업 어플리케이션의 가동에 대한 유용한 통계수집

cortez
Download Presentation

JMX 이해하기 Spring JMX

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JMX JMX 이해하기 Spring JMX

  2. JMX (Java Management Extensions) 소개 • 프로그래머들에게 자바 어플리케이션의 모니터링과 관리 기능을 제공한다. • 경량, 확장된 관리가 가능하다. • 웹 서버에서 네트워크 디바이스, 웹 폰에 이르기까지 자바로 이용 가능한 것은 어느 것이든 로컬 혹은 원격으로 처리 가능하다.

  3. JMX가 주로 쓰일 곳 • 어플리케이션의 설정에 대한 컨설팅 및 변경작업 • 어플리케이션의 가동에 대한 유용한 통계수집 • 상태변경 및 잘못된 상황에 대한 통지(Notification)

  4. JMX를 사용함으로써 얻는 이득 • 최소의 경비와 작업으로 자바 어플리케이션 관리가 가능케 할 수 있다. • 측량 가능한 관리를 제공한다. • 적은 공간을 차지 한다. • 유연하고 활동적인 관리 솔루션으로서 분산환경 및 다양한 환경에 적용할 수 있다.(with jini, upnp, slp(service location protocol))

  5. JINI [ Java Intelligent Network Infra-structure ] • 가정 내 통신망에 접속하는 AV (audio, video) 기기나 개인용 컴퓨터(PC), 인쇄기 등에 미국 선 마이크로시스템스사가 개발한 프로그램 작성 언어인 자바로 작성한 프로그램(자바 객체)을 장착하여 각 자바 객체 간의 통신 방법을 정한 것. JINI에 의해 통신망을 거쳐 플러그 엔 플레이가 실현되도록 한다. 자바의 애플리케이션이 1대의 PC로 가동하는 데 반해, JINI는 여러 대의 PC로 분산 동작시킬 수 있는 장점이 있다. 기기에 짜 넣은 자바 객체끼리 RMI (remote method invocation) 방법으로 통신한다. 예를 들면, 통신망에 인쇄기가 접속된 경우 JINI 대응의 PC나 디지털 카메라를 그 통신망에 접속하면 JINI가 자동적으로 인쇄기의 드라이버 소프트웨어를 찾아내어 설정한다. 이용자 자신이 드라이버 소프트웨어를 설치하거나 설정할 필요는 없다. 이러한 구조를 ‘탐색 서버’라고 하는데, 통신망에 접속된 각종 기기의 속성 정보를 보존하는 서버이다. 예를 들면, 통신망에 접속된 인쇄기의 종류나 인쇄 속도, 해상도 등의 정보 외에 인쇄기용의 드라이버 소프트웨어도 유지한다. 이용자가 디지털 카메라를 통신망에 접속하면 디지털 카메라에 실장된 자바 객체는 탐색 서버에 통신망상의 인쇄기 정보를 물어 적절한 드라이버 소프트웨어를 설치, 설정한다.

  6. 범용 플러그 엔 플레이[ 汎用-, Universal Plug & Play ] • 마이크로소프트사가 1999년에 발표한 것으로, 개인용 컴퓨터(PC)나 인쇄기 등의 각종 주변 기기를 가정의 네트워크에 접속해 공유할 수 있도록 하는 기술. 일반 기기들이 자신의 고유한 IP 주소를 가지고 인터넷 프로토콜을 이용한 기기들 간의 통신이 가능하도록 TCP/IP, 동적 호스트 설정 통신 규약(DHCP) 등의 인터넷 관련 프로토콜을 사용하고, 그 구현은 확장성 생성 언어(XML)를 통해서 이루어진다. 기존의 플러그 엔 플레이는 PC에 주변 기기를 접속할 수 있는 것이지만 범용 플러그 엔 플레이는 이를 확장하여 홈 네트워크에서도 적용할 수 있도록 한 것이다.

  7. 서비스 배치 프로토콜[ -配置-, Service Location Protocol ] • 네트워크에서 프린터, 디스크 드라이브, 데이터베이스, 이메일 디렉터리, 일정잡이와 같은 자원을 조직 및 배치하는 프로토콜. 사용자에게 자원 정보를 전달하고, 사용자 에이전트(가입자와 워크스테이션들), 서비스 에이전트(주변 장치와 자원들), 디렉터리 에이전트(서비스 에이전트 내의 주변 장치와 자원들) 실체(entity)들 간에 수행되는 통신과 운용을 정의 감독한다. 서비스의 재정비나 유지 보수 혹은 신 장비의 설치는 개인 워크스테이션들의 재구성 필요 없이 가능하다.

  8. 1. 존재하는 하부 관리 시스템과 빠르고 간단한 통합 가능 2. Agent Services plug in으로 빠른 동적 확장성 제공 3. 모든 산업을 통틀어 자바 기술에 대한 표준 관리 제공 1 2 3

  9. Instrumentation Tier :어플리케이션, 디바이스, 서비스와 같은 리소스들은 MBean (Managed Bean)이라고 불리는 자바 오브젝트를 이용하여 설치된다. MBean은 원격으로 관리하고 모니터링하는 JMX 에이전트를 통해 속성과 연산으로 구성된 관리 인터페이스를 보여준다. • Agent Tier : JMX 에이전트의 주요 컴포넌트는 MBean 서버이며, 이는 MBean이 등록되는 코어 관리 에이전트 오브젝트 서버이다. JMX 에이전트는 또한 MBean 을 핸들링하기 위한 서비스들을 포함하고 있다. JMX 에이전트는 직접적으로 리소스를 제어하고 관리가 가능하도록 한다. • Remote Management Tier : 에이전트 JVM (Java Virtual Machine) 외부의 원격 관리 어플리케이션으로부터 접근 가능한 JMX 에이전트를 만드는 프로토콜 어덥터(adaptor)와 커넥터(connector)를 정의한다.(JSR160에는 단지 커넥터만 정의.) 커넥터는 원격 클라이언트가 JMX-aware이고 로컬 클라이언트가 보게 될 것과 같은 JMX API를 볼 때 사용된다. 어덥터 는 원격 클라이언트가 SNMP (Simple Network Management Protocol)나 CIM/WBEM(Common Information Model and Web Based Enterprise Management) 같은 일반 관리 프로포콜을 이용할 때 사용된다.

  10. JMX 스펙에 의해 정의된 MBean의 네 가지 타입 • 표준 MBean (Standard MBean): 표준 MBean은 그 메소드의 이름에 나타나듯이 관리 인터페이스이다. 메소드는 인터페이스의 내성에 의해 보여진다. 표준MBean은 MBean의 가장 일반적인 타입이다.대부분의 개발자는 이 외의 MBean 타입을 생성할 필요가 없다. • 다이나믹 Mbean (Dynamic MBean): 다이나믹 MBean은 메소드 이름의 introspection을 통하는 대신 javax.management.DynamicMBean인터페이스를 이용하여 관리 인터페이스를 프로그램적으로 구현한다. 이를 위해서는 관리를 위해 나타나는 속성과 작용을 표현하는 정보 클래스에 의존한다. Dynamic MBean은 MBean의 관리 인터페이스가 컴파일 시 알려지지 않았을 때-예를 들어, XML 파일을 파싱하는데 결정되었을 때-종종 사용된다. • 모델 Mbean (Model MBean): 모델 MBean은 일반적이고 형성 가능한 MBean으로써 어플리케이션이 어떤 리소스든지 다이나믹하게 설치하는 데 사용한다. 본질적으로, 관리 인터페이스와 실제 리소스가 프로그램적으로 설정되도록 구현되어온 것이 다이나믹 MBean이다. 이로 인해 Java 다이나믹 관리 에이전트에 연결된 어떤 매니저라도 MBean 모델을 다이나믹하게 실증하고 형성할 수 있다. • 오픈 Mbean (Open MBean): 오픈 MBean은 데이터 타입에 특정 제한을 가진 다이나믹 MBean이며, 이는 관리 어플리케이션과 이들의 관리자들이 런타임 시 발견되는 새로운 관리 오브젝트들을 이해하고 사용할 수 있게 한다. 오픈 MBean은 JMX 스펙에 따르는 넓은 범위의 애플리케이션에 오픈될 필요가 있는 리소스를 설치하는데 있어 유동적인 수단을 제공한다.

  11. Instrumentation Tier 보충설명 • MBean을 MBean서버와 함께 등록하는 Agent는 물론 MBean인터페이스를 생성한다. • 원격관리 어플리케이션을 사용하여 MBean을 사용한다. • JMX 스펙은 사용자가 원격관리 어플리케이션으로부터 JMX Agent를 접근하는 것을 허락하는 커넥터의 표준을 정의하고 있다. 이는 다른 프로토콜을 사용하는 JMX커넥터들이 같은 관리 인터페이스를 제공하기 때문에 이용 가능하다. 이로써 관리 어플리케이션이 커뮤니케이션 프로토콜에 사용유무에 관계 없이 투과성 있게 리소스를 관리할 수 있다. 또한 JMX Agent는 JMX 스펙에 따르지 않으나 JMX Agent를 지원하는 시스템 혹은 어플리케이션에 의해 사용될 수 있다.

  12. MBean Interface • 일반적으로 읽고 쓸 수 있는(또는 둘 다) 이름 별, 타입 별 속성들과 활성화될 수 있는 이름 별, 타입 별 method로 구성되어 있다. • Notification model을 정의한다. 관리 어플리케이션이나 다른 MBean들과 같이 필요로 하는 곳에 중요한 정보를 전송할 수 있다. • 표준 MBean을 위해서, 구현클래스의 이름과 MBean인터페이스의 이름은 마지막 부분의 MBean을 빼고는 같아야 한다.(ex) MoonMBean, Moon) Moon implements MoonMBean{…} • 리소스가 MBean에 의해 설치된 후에는 JMX Agent를 통해 관리될 수 있다. MBean은 같이 작용하는 JMX Agent에 대해 몰라도 된다. Agent는 서버에 위치한 서비스들로부터 도움을 받는다. Agent 서비스는 MBean 서버에 등록된 MBean에서의 관리작용을 수행할 수 있는 오브젝트이다. Agent에 관리기능을 포함시킴으로써, JMX기술은 좀 더 강력한 관리 어플리케이션을 허용하게 된다.

  13. Agent Tier 보충설명 • JMX Agent의 핵심 컴포넌트는 MBean 서버이며, MBean이 등록되는 관리 오브젝트 서버이다. 또한 MBean을 관리하기 위한 서비스들과 관리 어플리케이션에 의해 접근 허락이 되는 적어도 하나의 커뮤니케이션 커넥터를 포함한다.

More Related