iLO 的 Redfish 接口
HPE iLO 提供符合 Redfish 规范的 REST 接口:资源以 JSON 返回,用 curl 加认证即可读取系统信息、固件清单、电源与散热状态。相比人工翻网页界面,脚本化采集能一次覆盖成百上千台机器,适合把硬件清单与固件版本纳入统一监控。要留意两件事:认证凭据不要直接写进命令行留下痕迹,以及证书校验不要长期用跳过的方式绕过。
基本信息
| 适用设备 | HPE ProLiant 系列服务器(iLO 4/5/6 等) |
|---|---|
| 接口规范 | DMTF Redfish,资源路径以 /redfish/v1/ 为根 |
| 认证方式 | 基本认证或先创建会话再使用令牌 |
| 常用资源 | Systems/1、Managers/1、Chassis/1 |
| 固件清单 | Managers/1/FirmwareInventory 给出各部件版本 |
| 返回格式 | JSON,可配合 jq 过滤所需字段 |
典型使用场景
- 批量采集固件版本,与固件基线表比对找出偏差机器
- 资产盘点:脚本化导出机型、序列号与部件清单
- 监控联动:周期性拉取电源与温度资源,纳入自有监控平台
- 交付验收:自动化核对配置与设计文档是否一致
- 故障取证:远程读取状态资源,减少现场操作
查询示例
查询示例
# 查看服务根资源,确认接口可用与版本信息
curl -k -s -u Administrator:'<口令>' https://10.0.0.11/redfish/v1/ | head -30
# 读取系统资源:机型、序列号、电源状态
curl -k -s -u Administrator:'<口令>' https://10.0.0.11/redfish/v1/Systems/1 | head -40
# 读取管理器资源:iLO 自身的固件版本
curl -k -s -u Administrator:'<口令>' https://10.0.0.11/redfish/v1/Managers/1 | head -20
# 读取固件清单:各部件版本用于基线比对
curl -k -s -u Administrator:'<口令>' https://10.0.0.11/redfish/v1/Managers/1/FirmwareInventory | head -40
# 用 jq 过滤出所需字段,便于入库
curl -k -s -u Administrator:'<口令>' https://10.0.0.11/redfish/v1/Systems/1 | jq '.Model, .SerialNumber, .PowerState'返回码与排查
| 状态码 | 含义 | 处置 |
|---|---|---|
| 200 | 请求成功 | 正常解析 JSON |
| 401 | 认证失败 | 核对账号密码与认证方式,不要误判为网络故障 |
| 403 | 权限不足 | 确认账号具备读取该资源的权限 |
| 404 | 资源路径不匹配 | 核对资源编号与 iLO 固件版本差异 |
| 500 | 服务端异常 | 重试并检查 iLO 健康状态 |
命令行内直接写口令会留在 shell 历史与进程列表里:批量脚本建议使用凭据文件或临时会话令牌,并在任务结束后释放会话。
调试用的跳过证书校验(-k)不要带进生产脚本:应在管理网内导入并校验 CA 证书,避免管理通道被中间人截获。