Driverless AI Health API¶
다음 섹션에서는 Driverless AI Health API에 관해 설명합니다.
개요¶
Driverless AI Health API는 기본 시스템 메트릭 및 통계를 노출하는, 공개적으로 사용 가능한 API입니다. 주요 목적은 Driverless AI multinode 클러스터의 리소스 모니터링 및 자동 크기 조정에 대한 정보를 제공하는 것입니다. API는 KEDA 또는 K8S Autoscaler 와 같은 도구에서 사용할 수 있도록 JSON 형식의 메트릭 세트를 출력합니다.
Notes:
Health API는
multinode
또는singlenode
모드에서만 사용할 수 있습니다. 자세한 내용은worker_mode
config.toml 옵션을 참조하십시오.보안 목적을 위해
enable_health_api
config.toml 옵션을false
로 설정하여 Health API 엔드포인트를 비활성화할 수 있습니다. 이 설정은 기본적으로 활성화되어 있습니다.Health API는 사용자가 Multinode Driverless AI 에 대한 자체 자동 크기 조정 로직을 작성하는 데 필요한 정보를 제공하기 위한 의도로 설계되었습니다. Enterprise Puddle 과 같은 서비스와 함께 사용하여 인증 단계를 건너뛰고 대신 필요한 정보를 직접 검색할 수도 있습니다.
DAI Health API 사용¶
Driverless AI의 건강 상태를 검색하려면 GET
요청을 생성하십시오.
GET http://{driverless-ai-instance-address}/apis/health/v1
이는 다음의 JSON 응답을 반환합니다.
{
"api_version": "1.0",
"server_version": "1.10",
"timestamp": "ISO 8601 Datetime",
"last_system_interaction": "ISO 8601 Datetime",
"is_idle": true,
"resources": {
"cpu_cores": 150,
"gpus": 12,
"nodes": 5,
},
"tasks": {
"running": 45,
"scheduled": 123,
},
"utilization": {
"cpu": 0.12,
"gpu": 0.45,
"memory": 0.56,
},
}
속성 정의¶
다음은 관련 JSON 속성 정의 목록입니다.
api_version (문자열): API 버전
server_version (문자열): Driverless AI 서버 버전
timestamp (문자열): ISO8601 포맷에서 현재 서버 시간
last_system_interaction (문자열): Driverless AI 서버와의 마지막 상호 작용의 ISO8601 포맷 타임스탬프. 다음은 시스템 상호 작용으로 간주됩니다.
클라이언트에서 들어오는 RPC 요청
사용자의 로그인/로그아웃
실행 또는 완료한 실험에서 _sync_ 메시지와 같은 시스템 이벤트
데이터 세트 업로드 초기화
사용자 정의 레시피 업로드
is_idle (부울): 실행 중이거나 예약된 작업이 없을 때 시스템이 유휴 상태로 간주합니다.
resources.nodes (int): Driverless AI 클러스터에서의 노드 수
resources.gpus (int): Driverless AI 클러스터에서 GPU의 전체 수
resources.cpu_cores (int): Driverless AI 클러스터에서 CPU 코어의 전체 수
tasks.running (int): 시스템에서 실행 중인 작업의 전체 수
tasks.scheduled (int): 스케줄링 큐에서 실행을 기다리는 전체 작업 수
utilization.cpu (float [0, 1]): 모든 노드에서 집계된 CPU 활용 백분율
utilization.gpu (float [0, 1]): 모든 노드에서 집계된 GPU 활용 백분율
utilization.memory (float [0, 1]): 모든 노드에서 집계된 메모리 활용 백분율