콘텐츠로 이동

MBean 브라우저

Apache Camel과 같은 많은 애플리케이션 서버와 프레임워크는 JMX를 사용하여 구성 및 모니터링 목적의 여러 MBean을 노출합니다. JVM 자체도 JVM의 저수준 작업에 대한 유용한 정보를 제공하는 여러 플랫폼 MXBean을 게시합니다.

jvmguard에는 선택한 VM에 등록된 모든 MBean을 보여 주는 MBean 브라우저가 포함되어 있습니다. MBean 서버에 액세스하기 위한 JMX의 원격 관리 수준은 필요하지 않습니다. jvmguard 에이전트가 이미 인프로세스로 실행 중이며 등록된 모든 MBean 서버에 액세스할 수 있기 때문입니다.

jvmguard는 Open MBean의 타입 시스템을 지원합니다. 여러 단순 타입을 정의하는 것 외에도 Open MBean은 사용자 정의 클래스가 필요 없는 복합 데이터 타입을 정의할 수 있습니다. 또한 배열과 테이블을 데이터 구조로 사용할 수 있습니다. MXBean을 사용하면 JMX가 Java 클래스에서 Open MBean을 자동으로 쉽게 생성할 수 있습니다. 예를 들어, JVM이 제공하는 MBean은 MXBean입니다.

“MBean” 뷰는 선택한 하나의 JVM에 등록된 모든 MBean을 보여 줍니다. VM 그룹을 선택한 경우 먼저 단일 VM으로 전환해야 합니다. VM 풀을 선택한 경우 컨텍스트 영역에 풀 VM 목록을 보여 주는 🔍 이미지 버튼이 표시됩니다.

MBean에는 계층 구조가 없지만, jvmguard는 객체 도메인 이름의 첫 번째 콜론까지를 첫 번째 트리 수준으로 사용하고 모든 속성을 재귀적으로 중첩된 수준으로 사용하여 MBean을 트리로 구성합니다. 속성 값이 먼저 표시되고 속성 키가 끝의 대괄호 안에 표시됩니다. type 속성은 최상위 노드 바로 아래에 나타나도록 우선 처리됩니다.

MBean 내용을 보여 주는 트리 테이블의 최상위 수준에는 MBean 속성이 표시됩니다.

다음 데이터 구조는 중첩된 행으로 표시됩니다:

  • 배열: 기본형 배열과 객체 배열의 요소는 인덱스를 키 이름으로 하는 중첩된 행으로 표시됩니다.
  • 복합 데이터: 복합 데이터 타입의 모든 항목이 중첩된 행으로 표시됩니다. 각 항목은 임의의 타입일 수 있으므로 중첩은 임의의 깊이까지 계속될 수 있습니다.
  • 테이블 데이터: 가장 자주 접하게 되는 테이블 데이터는 MXBean에서 java.util.Map 인스턴스가 하나의 키 열과 하나의 값 열을 가진 테이블 데이터 타입으로 매핑된 경우입니다. 키의 타입이 단순 타입이면 맵이 “인라인”으로 표시되고 각 키-값 쌍이 중첩된 행으로 표시됩니다. 키가 복합 타입이면 중첩된 키와 값 항목을 가진 “맵 항목” 요소의 수준이 삽입됩니다. 복합 키와 여러 값을 가진 일반 테이블 타입의 경우에도 마찬가지입니다.

선택적으로 MBean 속성을 편집 가능하게 할 수 있으며, 이 경우 값 옆에 편집 아이콘이 표시됩니다. MBean 속성은 최소 “프로파일러” 액세스 수준을 가진 사용자만 편집할 수 있습니다. 복합 및 테이블 타입은 MBean 브라우저에서 편집할 수 없지만 배열이나 단순 타입은 편집할 수 있습니다.

배열과 같이 값이 null 가능한 경우 편집기에 null 상태를 선택하는 확인란이 있습니다.

배열 요소는 세미콜론으로 구분됩니다. 끝의 세미콜론 하나는 무시할 수 있으므로 11;은 동일합니다. 세미콜론 앞에 값이 없으면 객체 배열의 경우 null 값으로 처리됩니다. 문자열 배열의 경우 큰따옴표(“”)로 빈 요소를 만들 수 있고, 요소 전체를 인용하여 세미콜론이 포함된 요소를 만들 수 있습니다. 문자열 요소 안의 큰따옴표는 두 번 입력해야 합니다. 예를 들어, 문자열 배열 값을

"Test";"";;"embedded "" quote";"A;B";;

으로 입력하면 다음 문자열 배열이 생성됩니다.

new String[] {"Test", "", null, "embedded \" quote", "A;B", null}

jvmguard는 숫자 MBean 속성 값으로부터 텔레메트리를 만들 수 있습니다. 기록 설정에서 MBean 텔레메트리 라인을 정의할 때 선택 버튼을 클릭하면 상단에 VM 선택기가 있는 MBean 속성 브라우저가 나타납니다. VM을 선택한 후 MBean 속성을 선택할 수 있습니다. MBean 브라우저와 달리 이 경우에는 속성 행을 선택할 수 있습니다.

텔레메트리는 복합 데이터의 중첩된 값이나 단순 키와 단일 값을 가진 테이블 데이터의 중첩된 값도 추적할 수 있습니다. 중첩된 행을 선택하면 경로 구성 요소가 슬래시로 구분된 값 경로가 만들어집니다.

MBean 속성을 검사하고 수정하는 것 외에도 MBean 작업을 호출하고 반환 값을 확인할 수 있습니다. MBean 작업은 setter나 getter가 아닌 MBean 인터페이스의 메서드입니다. MBean 작업을 호출하려면 사용자가 최소 “프로파일러” 액세스 수준을 가져야 합니다.

MBean 작업은 하나 이상의 인수를 가질 수 있습니다. 인수를 입력할 때는 MBean 속성을 편집할 때와 동일한 규칙과 제한이 적용됩니다.

작업의 반환 값은 복합, 테이블 또는 배열 타입일 수 있으므로 MBean 속성 트리 테이블과 유사한 내용의 새 창이 표시됩니다. 단순 반환 타입의 경우 “반환 값”이라는 행이 하나만 있습니다. 다른 타입의 경우 “반환 값”이 결과가 추가되는 루트 요소입니다.