Skip to main content

Health - 멀티인스턴스 상태 조회

멀티인스턴스에서 사용중인 여러 리소들에 대한 상태를 조회하기 위해 사용한다. disk, memory, elasticsearch, tomcat, cpu, webClients, redis, rabbitMQ 등 내부에서 서비스를 위해 정상 동작해야하는 모듈들의 상태를 커스텀 매트릭으로 저장하여 prometheus 를 통해 확인 할 수 있도록 추가


Method

GET

{{url}}/api-directory/health/status

Response Body (json)

KEYOBJECTDESC
instancesjson인스턴스 정보
instances.인스턴스아이디json인스턴스 정보
instances.인스턴스아이디.diskjsonDisk 정보
instances.인스턴스아이디.disk.diskTotalString전체 용량
instances.인스턴스아이디.disk.diskFreeString잔여 용량
instances.인스턴스아이디.memoryjsonMemory 정보
instances.인스턴스아이디.memory.jvmMemoryCommittedStringJVM이 사용할 수 있도록 확보한 메모리의 크기
instances.인스턴스아이디.memory.jvmMemoryUsedStringJVM이 실제 사용 중인 메모리
instances.인스턴스아이디.memory.jvmMemoryMaxStringJVM이 사용할 수 있는 최대 메모리
instances.인스턴스아이디.listenersjson리스너 정보
instances.인스턴스아이디.listeners.listenersHealthThreadpoolHighloadCountLong부하 발생하고 있는 리스너 수
instances.인스턴스아이디.tomcatjsonTomcat 정보
instances.인스턴스아이디.tomcat.busyThreadsString사용 중인 쓰레드 개수
instances.인스턴스아이디.tomcat.maxThreadsString설정된 최대 쓰레드 개수
instances.인스턴스아이디.tomcat.currentThreadsString현재 생성된 쓰레드 개수
instances.인스턴스아이디.cpujsonCPU 정보
instances.인스턴스아이디.cpu.processCpuUsageStringJVM이 사용하는 CPU 사용량
instances.인스턴스아이디.webClientsjson타 서비스 통신 연결 정보
instances.인스턴스아이디.webClients.oauthStringSHIELD ID 서버 연결 상태 (1:YES, 0:NO)
instances.인스턴스아이디.webClients.cssbStringCSSB 서버 연결 상태 (1:YES, 0:NO)
instances.인스턴스아이디.webClients.licenseStringLICENSE 서버 연결 상태 (1:YES, 0:NO)
instances.인스턴스아이디.webClients.ekmsStringEKMS 서버 연결 상태 (1:YES, 0:NO)
instances.인스턴스아이디.webClients.resourceStringRESOURCE 서버 연결 상태 (1:YES, 0:NO)
instances.인스턴스아이디.webClients.cloudLoggingStringLOG 서버 연결 상태 (1:YES, 0:NO)
instances.인스턴스아이디.webClients.shieldrmStringDRM BROKER 서버 연결 상태 (1:YES, 0:NO)
instances.인스턴스아이디.webClients.extractionStringEXTRACTION 서버 연결 상태 (1:YES, 0:NO)
listenerQueuesjson큐 정보
listenerQueues.회사아이디json회사별 큐 정보
listenerQueues.회사아이디.task.readyLong작업 대기 메시지 개수
listenerQueues.회사아이디.task.consumerLong작업 처리를 위해 할당된 소비자 개수
listenerQueues.회사아이디.retry.readyLong재시도 대기 메시지 개수
listenerQueues.회사아이디.retry.consumerLong재시도 처리를 위해 할당된 소비자 개수
listenersScalingRequiredLong자체 판단한 스케일 아웃 필요 여부 (1:필요, 0:불필요)
listenerConsistencyjson리스너 정보
listenerConsistency.registeredQueueCountLong등록된 큐 개수
listenerConsistency.activeListenersByInstancejson인스턴스 별 활성화된 리스너 정보
listenerConsistency.activeListenersByInstance.회사아이디Long인스턴스 별 활성화된 리스너 개수
listenerConsistency.activeListenerCountLong할당된 리스너 개수
listenerConsistency.missingListenerCountLong할당된되지 않은 리스너 개수
elasticsearchStringElasticsearch 연결 상태 (GREEN, YELLOW, RED)
redisStringRedis 연결 상태 (1:YES, 0:NO)

Sample

RESPONSE - Success

{
"elasticsearch": "GREEN",
"instances": {
"shieldrive-directory-d9bf9f868-f72qq": {
"disk": {
"diskTotal": "371.0GB",
"diskFree": "312.2GB"
},
"memory": {
"jvmMemoryCommitted": "2.0GB",
"jvmMemoryUsed": "0.3GB",
"jvmMemoryMax": "2.0GB"
},
"tomcat": {
"busyThreads": 0.0,
"maxThreads": 2348.0,
"currentThreads": 2348.0
},
"cpu": {
"processCpuUsage": "0.0%"
},
"webClients": {
"license": 1.0,
"cssb": 1.0,
"ekms": 1.0,
"resource": 1.0,
"cloudLogging": 1.0,
"shieldrm": 1.0,
"extraction": 1.0,
"oauth": 1.0
}
}
},
"rabbitmq": 1.0,
"redis": 1.0
}