Java Management Extensions(JMX)에 wsadmin 스크립트 사용

JMX(Java™ Management Extensions)는 Java 자원(예: 애플리케이션 서버)을 노출하는 표준 방식을 시스템 관리 인프라에 제공하는 프레임워크입니다. JMX 프레임워크를 사용하여 제공자는 구성 설정 나열과 같은 기능을 구현하고 설정을 편집할 수 있습니다. 이 프레임워크는 관리 애플리케이션이 애플리케이션 서버 시작과 같은 이벤트를 모니터하기 위해 사용할 수 있는 알림 계층도 포함합니다.

JMX 키 기능

JMX의 WebSphere® Application Server 구현에 대한 주요 기능은 다음과 같습니다.

  • JMX 에이전트를 실행하는 모든 프로세스.
  • JMX 조작을 통해 수행되는 모든 런타임 관리.
  • JMX 에이전트를 원격 JMX 가능 관리 애플리케이션에 연결하는 데 사용되는 커넥터. 다음과 같은 커넥터가 지원됩니다.
    • SOAP JMX 커넥터
    • JMX 원격 API(Application Programming Interface)(JSR 160) RMI-IIOP(Remote Method Invocation over the Internet Inter-ORB Protocol) JMX 커넥터, (JSR160RMI 커넥터)
    • RMI-IIOP(Remote Method Invocation over the Internet Inter-ORB Protocol) JMX 커넥터
    • 프로세스 간 통신(IPC)
  • 제공된 프로토콜을 통해 JMX 에이전트의 관리 보기를 제공하는 프로토콜 어댑터. 프로토콜 어댑터에 연결하는 관리 애플리케이션은 보통 제공된 프로토콜에 고유합니다.
  • 런타임 오브젝트의 구성 설정을 조회 및 업데이트할 수 있는 능력
  • 런타임 중 애플리케이션 컴포넌트 및 자원을 로드, 초기화, 변경 및 모니터할 수 있는 능력

JMX 아키텍처

JMX 아키텍처는 세 개의 계층으로 구조화됩니다.

  • 인스트루멘테이션 계층 - 관리 Bean(MBean)이라고 하는 특수 Java Bean 내에서 자원을 랩핑할 수 있는 방법을 지시합니다.
  • 에이전트 계층 - 관리 인프라 구조를 제공하는 에이전트 및 MBean 서버로 구성됩니다. 구현된 서비스는 다음과 같습니다.
    • 모니터링
    • 이벤트 알림
    • 타이머
  • 관리 계층 - 외부 관리 애플리케이션이 프로토콜, API 등의 관점에서 기본적인 계층과 상호작용할 수 있는 방법을 정의합니다. 이 계층은 J2EE(Java 2 Platform, Enterprise Edition) 스펙의 일부인 분산 서비스 스펙(JSR-077)의 구현을 사용합니다.

JMX의 계층 아키텍처가 다음 그림에 요약되어 있습니다.

그림 1. JMX 아키텍처
JMX의 아키텍처를 보여줍니다.

JMX 분산 관리

다음 그림에서는 JMX 아키텍처가 WebSphere Application Server, Network Deployment 환경의 전체 분산 관리 토폴로지에 어떻게 맞춰지는지를 보여줍니다.

그림 2. JMX의 분산 관리
JMX의 WebSphere Application Server 분산 관리를 보여줍니다.

이 분산 관리 아키텍처의 중요한 점은 다음과 같습니다.

  • 내부 MBean은 로컬 MBean 서버를 가진 JVM(Java virtual machine) 레지스터에 대한 로컬입니다.
  • 외부 MBean은 MBean 서버에 대한 로컬 프록시를 가지고 있습니다. 프록시는 로컬 MBean 서버에서 등록합니다.
    MBean 프록시를 사용하여 로컬 MBean 서버는 메시지를 다음 위치에 있는 외부 MBean 서버에 전달할 수 있습니다.
    • 노드 에이전트에는 자체 노드에 모든 서버에 대한 MBean 프록시가 있습니다. 다른 노드에 대한 MBean 프록시는 사용되지 않습니다.
    • 배치 관리자는 셀에 있는 모든 노드 에이전트에 대해 MBean 프록시를 가지고 있습니다.

JMX Mbeans

이 제품은 여러 MBean을 제공하며, 이들 각각에는 사용 가능한 서로 다른 기능과 조작이 있습니다. 예를 들어, 애플리케이션 서버 MBean은 시작 및 중지와 같은 조작을 노출할 수 있습니다. 애플리케이션 MBean은 설치 및 설치 제거와 같은 조작을 노출할 수 있습니다. 사용자가 보게 될 일부 JMX 사용법 시나리오에는 다음이 포함됩니다.

  • 프로그램 방식으로 JMX API에 액세스하여 WebSphere Application Server, Network Deployment 런타임 및 해당 WebSphere 자원을 제어하기 위해 작성된 외부 프로그램.
  • 애플리케이션 컴포넌트와 자원의 JMX API 관리를 지원하는 관리 코드의 일부로 사용자 정의 JMX MBean을 포함하는 써드파티 애플리케이션.

다음 예제는 특정 MBean의 이름을 확보하는 방법을 보여줍니다.

Jacl 사용:

set am [$AdminControl queryNames type=ApplicationManager,process=server1,*]

Jython 사용:

am = AdminControl.queryNames('type=ApplicationManager,process=server1,*')

WebSphere Application Server 런타임 MBean에는 속성, 조작 및 알림이 있을 수 있습니다. 제품에 제공되는 각 MBean에 대한 전체 문서는 이 Information Center(information_center > 참조 > 프로그래밍 인터페이스 > Mbean 인터페이스)에서 사용할 수 있습니다.

JMX 이점

WebSphere Application Server에서 관리 기능에 JMX를 사용하면 다음과 같은 이점이 제공됩니다.

  • 중요한 투자없이 Java 애플리케이션의 관리를 사용 가능하게 합니다.
  • 관리 에이전트로 작동하는 코어 관리 대상 오브젝트 서버에 의존합니다.
  • Java 애플리케이션은 관리 대상 오브젝트 서버를 임베드하고 그 기능의 일부를 오브젝트 서버에서 등록한 몇몇 또는 하나의 MBean으로 사용 가능하도록 만들 수 있습니다.
  • 확장 가능한 관리 아키텍처를 제공합니다.
  • 모든 JMX 에이전트 서비스는 관리 에이전트에 플러그인할 수 있는 독립적 모듈입니다.
  • API는 확장 가능하므로, 새 WebSphere Application Server 및 사용자 정의 애플리케이션 기능을 이 관리 인터페이스를 통해 쉽게 추가하여 노출할 수 있습니다.
  • 기존의 관리 솔루션을 통합합니다.
  • 각 프로세스는 해당 자원을 관리할 경우 자체적으로 충분합니다. 집중되는 제어 위치가 없습니다. 원칙적으로는 JMX 가능 관리 클라이언트는 어떤 관리 대상 프로세스에도 연결할 수 없으며 그 프로세스에서 호스트하는 MBean과 상호작용할 수 없었습니다.
  • JMX에서는 시스템 관리에 대해 단 하나의 균일한 도메인 범위 접근을 제공합니다. 개별 프로세스는 MBean 프록시를 통해 상호작용하므로 단일 관리 클라이언트는 관리 대상 프로세스 네트워크를 통해 연속으로 탐색할 수 있습니다.
  • 관리에 필요한 인터페이스만 정의합니다.
  • 애플리케이션 및 관리 자원을 관리 풀에 노출하기 위한 표준 API를 제공합니다.

주제 유형을 표시하는 아이콘 개념 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cxml_javamanagementx
파일 이름:cxml_javamanagementx.html