带外管理72 条

iLO Redfish API 查询

iLO 提供 Redfish API:用 curl 查询系统、固件清单等资源,适合脚本化采集与监控联动。

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 证书,避免管理通道被中间人截获。

易错点

  • 长期使用跳过证书校验:管理通道的信任基础被绕过,存在被截获风险
  • 把 401 当网络故障排查:多数情况是凭据或认证方式不对
  • 命令行走明文口令:凭据写入 shell 历史与进程列表
  • 不看状态码只解析输出:失败响应被当成功入库,采集数据静默失真

数据来源与参考

  • HPE iLO RESTful API 文档
  • DMTF Redfish 规范
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌