Driverless AI Health API¶
以下各节介绍 Driverless AI Health API。
概述¶
Driverless AI Health API 是一款公开的 API,展示基本的系统指标和统计数据。其主要目的是为监控资源和自动调整 Driverless AI multinode 聚类提供信息。API 以 JSON 格式输出一系列指标,以供 KEDA 或 K8S Autoscaler 等工具使用。
请注意:
Health API 仅适用于
多节点
或单节点
模式。更多信息,请参阅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 版本
Scoring-standalone-python Server_version (字符串):Driverless AI 服务器版本
Timestamp (字符串):当前服务器时间,使用 ISO8601 格式
Last_system_interaction (字符串):与 Driverless AI 服务器上一次交互的时间戳,ISO8601 格式。以下被视为系统交互:
客户端传入的 RPC 请求
用户登录/登出
来自正在运行或已完成的实验的系统事件,如 _sync_ 消息
数据集上传初始化
自定义插件上传
Is_idle (布尔值):没有正在运行或计划的任务时,系统被视为空闲
Resources.nodes (整型):Driverless AI 聚类中的节点数
Resources.gpus (整型):Driverless AI 聚类中的 GPU 总数
Resources.cpu_cores (整型):Driverless AI 聚类中的 CPU 内核总数
Tasks.running (整型):系统中正在运行的作业总数
Tasks.scheduled (整型):计划队列中正在等待执行的作业总数
Utilization.cpu (浮点型 [0, 1]):所有节点的合计 CPU 利用率百分比
Utilization.gpu (浮点型 [0, 1]):所有节点的合计 GPU 利用率百分比
Utilization.memory (浮点型 [0, 1]):所有节点的合计内存利用率百分比