본문으로 건너뛰기

2. APM 모니터링 대상 구성 정보

이 장에서 하는 일

지금 무엇을 모니터링하고 있는지 목록을 받아 옵니다. 애플리케이션 그룹과 그 아래 WAS 인스턴스·웹 서버·시스템이 어떻게 구성돼 있는지 알 수 있습니다.

왜 먼저 호출하나 — 지표 조회 API(3장)는 그룹 이름과 인스턴스 이름을 인자로 받습니다. 그 이름을 여기서 얻습니다. 이름을 코드에 박아 두면 대상이 늘거나 바뀔 때마다 고쳐야 하므로, 연동 프로그램은 이 API 로 목록을 먼저 조회하는 편이 좋습니다.

애플리케이션 그룹 구성 정보

OPENMARU APM의 모니터링 대상의 구성 정보를 반환하는 API 입니다. 애플리케이션 그룹과 해당 애플리케이션 그룹에 속한 머신별 WAS 인스턴스 구성 정보와 WEB 서버, WAS 인스턴스, 시스템 별로 머신별 인스턴스 구성 정보를 반환합니다.

요청

항목설명
URL/monitoring/api/metrics/APP
HTTP METHODGET
Content-Typeapplication/json
파라미터없음

응답

Response BodyResponse의 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와 같은 도구를 이용하면 다음과 그림과 같이 객체의 구조를 손쉽게 파악할 수 있습니다.

응답 항목

항목타입설명
applicationsApplication Array애플리케이션 그룹 구성 정보 * 하위 Application 항목 참고
totalInstancesInteger전체 WAS 인스턴스 개수
wasHostGroupHost Array머신별 WAS 인스턴스 정보 * 하위 Host 항목 참고
webHostGroupHost Array머신별 WEB 인스턴스 정보 * 하위 Host 항목 참고
sysHostGroupHost Array머신별 SYS 인스턴스 정보 * 하위 Host 항목 참고
sortableBooleanSorting 가능 여부

Application 항목

항목타입설명
nameString애플리케이션 그룹 정보를 표현
uuidString애플리케이션 UUID, 사용자 정의 애플리케이션일 경우에만 값이 출력, 이외엔 Null값이 반환
builtInBoolean사용자 정의 애플리케이션일 경우 false, 시스템에서 지정한 애플리케이션은 true
enableBoolean사용 중인지 여부 표시
hostsHost Array→ 하위 Host 항목 참고
hostIpsAsStringStringhost ip들을 “:”로 구분한 String으로 반환
hostIpsString Arrayhost ip리스트를 String Array로 반환
hostInstancesAsStringStringhost의 모든 인스턴스들을 “:”로 구분한 String으로 반환
hostInstancesString Arrayhost의 인스턴스들을 String Array로 반환
sortableBooleanSorting 가능 여부

Host 항목

항목타입설명
ipString애플리케이션 그룹 정보를 표현
TypeString서버의 유형 “WAS” : WAS 모니터링 정보가 수집되고 있음 “SYS” : 시스템 모니터링 정보가 수집되고 있음 “WEB” : 웹서버 모니터링 정보가 수집되고 있음
instancesObject ArrayType이 WAS, WEB일 경우에만 instances 항목이 표시됨
instances[].nameStringWAS 인스턴스 이름
instances[].statusStringWAS 인스턴스의 상태 — RUNNING · STOPPED
instanceCountInteger이 머신의 인스턴스 개수
instanceIdsString Array이 머신의 WAS 인스턴스 String 배열(WAS, WEB일 경우에만 표시)
sortableBoolean