2. APM 모니터링 대상 구성 정보
이 장에서 하는 일
지금 무엇을 모니터링하고 있는지 목록을 받아 옵니다. 애플리케이션 그룹과 그 아래 WAS 인스턴스·웹 서버·시스템이 어떻게 구성돼 있는지 알 수 있습니다.
왜 먼저 호출하나 — 지표 조회 API(3장)는 그룹 이름과 인스턴스 이름을 인자로 받습니다. 그 이름을 여기서 얻습니다. 이름을 코드에 박아 두면 대상이 늘거나 바뀔 때마다 고쳐야 하므로, 연동 프로그램은 이 API 로 목록을 먼저 조회하는 편이 좋습니다.
애플리케이션 그룹 구성 정보
OPENMARU APM의 모니터링 대상의 구성 정보를 반환하는 API 입니다. 애플리케이션 그룹과 해당 애플리케이션 그룹에 속한 머신별 WAS 인스턴스 구성 정보와 WEB 서버, WAS 인스턴스, 시스템 별로 머신별 인스턴스 구성 정보를 반환합니다.
요청
| 항목 | 설명 |
|---|---|
| URL | /monitoring/api/metrics/APP |
| HTTP METHOD | GET |
| Content-Type | application/json |
| 파라미터 | 없음 |
응답
| 키 | |
|---|---|
| Response Body | Response의 JSON 문자열의 내용은 다음 항목과 같습니다. |
| APP 구성정보 | {"applications": [{"name": "shop","uuid": null,"builtIn": true,"enable": true,"hosts": [{"ip": "192.168.23.22","type": "APP","instances": [{"name": "shop12","status": "STOPPED"}],"instanceCount": 1,"instanceIds": ["shop12"],"sortable": true},{"ip": "192.168.23.23","type": "APP","instances": [{"name": "shop22","status": "RUNNING"}],"instanceCount": 1,"instanceIds": ["shop22"],"sortable": true}],"hostIpsAsString": "192.168.23.22:192.168.23.23","hostIps": ["192.168.23.22","192.168.23.23"],"hostInstancesAsString": "shop12:shop22","hostInstances": ["shop12","shop22"],"sortable": true},… } |
응답의 JSON 구성은 JSON Editor와 같은 도구를 이용하면 다음과 그림과 같이 객체의 구조를 손쉽게 파악할 수 있습니다.

응답 항목
| 항목 | 타입 | 설명 |
|---|---|---|
| applications | Application Array | 애플리케이션 그룹 구성 정보 * 하위 Application 항목 참고 |
| totalInstances | Integer | 전체 WAS 인스턴스 개수 |
| wasHostGroup | Host Array | 머신별 WAS 인스턴스 정보 * 하위 Host 항목 참고 |
| webHostGroup | Host Array | 머신별 WEB 인스턴스 정보 * 하위 Host 항목 참고 |
| sysHostGroup | Host Array | 머신별 SYS 인스턴스 정보 * 하위 Host 항목 참고 |
| sortable | Boolean | Sorting 가능 여부 |
Application 항목
| 항목 | 타입 | 설명 |
|---|---|---|
| name | String | 애플리케이션 그룹 정보를 표현 |
| uuid | String | 애플리케이션 UUID, 사용자 정의 애플리케이션일 경우에만 값이 출력, 이외엔 Null값이 반환 |
| builtIn | Boolean | 사용자 정의 애플리케이션일 경우 false, 시스템에서 지정한 애플리케이션은 true |
| enable | Boolean | 사용 중인지 여부 표시 |
| hosts | Host Array | → 하위 Host 항목 참고 |
| hostIpsAsString | String | host ip들을 “:”로 구분한 String으로 반환 |
| hostIps | String Array | host ip리스트를 String Array로 반환 |
| hostInstancesAsString | String | host의 모든 인스턴스들을 “:”로 구분한 String으로 반환 |
| hostInstances | String Array | host의 인스턴스들을 String Array로 반환 |
| sortable | Boolean | Sorting 가능 여부 |
Host 항목
| 항목 | 타입 | 설명 |
|---|---|---|
| ip | String | 애플리케이션 그룹 정보를 표현 |
| Type | String | 서버의 유형 “WAS” : WAS 모니터링 정보가 수집되고 있음 “SYS” : 시스템 모니터링 정보가 수집되고 있음 “WEB” : 웹서버 모니터링 정보가 수집되고 있음 |
| instances | Object Array | Type이 WAS, WEB일 경우에만 instances 항목이 표시됨 |
instances[].name | String | WAS 인스턴스 이름 |
instances[].status | String | WAS 인스턴스의 상태 — RUNNING · STOPPED |
| instanceCount | Integer | 이 머신의 인스턴스 개수 |
| instanceIds | String Array | 이 머신의 WAS 인스턴스 String 배열(WAS, WEB일 경 우에만 표시) |
| sortable | Boolean |