Extraction - 멀티인스턴스 상태 조회
멀티인스턴스에서 사용중인 여러 리소들에 대한 상태를 조회하기 위해 사용한다. disk, memory, tomcat, cpu, webClients, redis, rabbitMQ 등 내부에서 서비스를 위해 정상 동작해야하는 모듈들의 상태를 커스텀 매트릭으로 저장하여 prometheus 를 통해 확인 할 수 있도록 추가
Method
GET
{{url}}/api-extraction/health/status
Response Body (json)
KEY OBJECT DESC instances json 인스턴스 정보 instances.인스턴스아이디 json 인스턴스 정보 instances.인스턴스아이디.disk json Disk 정보 instances.인스턴스아이디.disk.diskTotal String 전체 용량 instances.인스턴스아이디.disk.diskFree String 잔여 용량 instances.인스턴스아이디.memory json Memory 정보 instances.인스턴스아이디.memory.jvmMemoryCommitted String JVM이 사용할 수 있도록 확보한 메모리의 크기 instances.인스턴스아이디.memory.jvmMemoryUsed String JVM이 실제 사용 중인 메모리 instances.인스턴스아이디.memory.jvmMemoryMax String JVM이 사용할 수 있는 최대 메모리 instances.인스턴스아이디.listeners json 리스너 정보 instances.인스턴스아이디.listeners.listenersHealthThreadpoolHighloadCount Long 부하 발생하고 있는 리스너 수 instances.인스턴스아이디.tomcat json Tomcat 정보 instances.인스턴스아이디.tomcat.busyThreads String 사용 중인 쓰레드 개수 instances.인스턴스아이디.tomcat.maxThreads String 설정된 최대 쓰레드 개수 instances.인스턴스아이디.tomcat.currentThreads String 현재 생성된 쓰레드 개수 instances.인스턴스아이디.cpu json CPU 정보 instances.인스턴스아이디.cpu.processCpuUsage String JVM이 사용하는 CPU 사용량 instances.인스턴스아이디.webClients json 타 서비스 통신 연결 정보 instances.인스턴스아이디.webClients.oauth String SHIELD ID 서버 연결 상태 (1:YES, 0:NO) instances.인스턴스아이디.webClients.shieldrive String SHIELDrive 서버 연결 상태 (1:YES, 0:NO) instances.인스턴스아이디.webClients.sdf String 컨테이너링커 서버 연결 상태 (1:YES, 0:NO) redis Long Redis 연결 상태 (1:YES, 0:NO) rabbitmq Long Rabbitmq 연결 상태 (1:YES, 0:NO)
Sample
RESPONSE - Success
{
"instances": {
"shieldrive-extraction-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": {
"oauth": 1.0,
"shieldrive": 1.0,
"sdf": 1.0
}
}
},
"rabbitmq": 1.0,
"redis": 1.0
}