360 Secure SkillHub
360 安全技能中心

iDRAC

核心功能:可查询戴尔PowerEdge服务器硬件健康、CPU/存储/传感器详情,执行电源操作,查看日志、固件版本及硬件库存;典型场景:服务器运维中的状态监控、故障排查、远程管理;输入需配置iDRAC连接信息与凭证,通过脚本命令触发,输出自然语言结果;依赖curl、jq,支持多凭证来源,破坏性操作需用户确认,仅连接指定iDRAC IP。

eddygk
eddygk
热度 77.57
最近更新 2026-05-17 12:08:21
分类:自动化依赖:代码执行 / 读写文件 / 第三方 API应用场景:DevOps / 自动化脚本

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add idrac
Metadata
name
idrac
description
Monitor and manage Dell PowerEdge servers via iDRAC Redfish API (iDRAC 8/9). Use when asked to: - Check server hardware status, health, or temperatures - Query CPU, memory, storage/RAID details - Monitor system sensors (fans, voltage, thermal) - Perform power operations (status, on, off, graceful shutdown, force restart) - Check BIOS/firmware versions or system inventory - View system event logs (SEL) or lifecycle controller logs - Get hardware inventory or serial numbers Requires: curl, jq. Optional: 1Password CLI (op) for credential hydration. Writes: ~/.config/idrac-skill/config (user-created), ~/.idrac-credentials (cached credentials, mode 600). Network: connects to user-configured iDRAC IP only (HTTPS, TLS verification disabled for self-signed certs). Helper script: scripts/idrac.sh (relative to this skill) Configuration: ~/.config/idrac-skill/config
metadata
{"openclaw":{"emoji":"🖥️","requires":{"bins":["curl","jq"]},"os":["darwin","linux"]}}

iDRAC Skill

Monitor and manage Dell PowerEdge servers via iDRAC Redfish API.

First-Time Setup

Create a config file at ~/.config/idrac-skill/config:

mkdir -p ~/.config/idrac-skill
cat > ~/.config/idrac-skill/config <<'EOF'
# iDRAC connection settings
IDRAC_IP="<your-idrac-ip>"

# Credential source: "1password" | "file" | "env"
CREDS_SOURCE="file"

# For CREDS_SOURCE="1password":
#   OP_ITEM="<1password-item-name>"
#
# For CREDS_SOURCE="file":
#   Create ~/.idrac-credentials with contents: username:password
#   chmod 600 ~/.idrac-credentials
#
# For CREDS_SOURCE="env":
#   Export IDRAC_USER and IDRAC_PASS
EOF

Authentication

The helper script supports three credential sources:

Source Config How It Works
1password OP_ITEM="item-name" Pulls username:password via op CLI, caches to ~/.idrac-credentials
file (default) Reads ~/.idrac-credentials (format: user:pass, mode 600)
env — Uses $IDRAC_USER and $IDRAC_PASS environment variables

Helper Script

Location: scripts/idrac.sh (relative to this skill directory)

idrac.sh test            # Test connectivity and authentication
idrac.sh status          # System summary (model, power, CPU, memory)
idrac.sh health          # Health checks (temps, fans, power)
idrac.sh power           # Current power state
idrac.sh inventory       # Full hardware inventory
idrac.sh logs            # Recent system event log entries (last 10)
idrac.sh thermal         # Detailed temperature and fan status
idrac.sh storage         # RAID/disk status
idrac.sh reset-types     # Available power reset types

Workflow

  1. Load config from ~/.config/idrac-skill/config
  2. Hydrate credentials (JIT pattern) if needed
  3. Determine operation type:
    • Read-only (status, health, logs, inventory) → Execute directly
    • Destructive (power off, restart, BIOS changes) → Confirm with user first
  4. Query Redfish API via curl + Basic Auth (or session token for batch ops)
  5. Parse JSON with jq
  6. Surface findings to user in natural language
  7. Never expose credentials in responses

Endpoint Reference

For raw Redfish API endpoints (system info, thermal, storage, network, logs, power ops, BIOS, firmware, session auth, Dell OEM attributes):

→ See references/endpoints.md

Security Notes

  • Never log or display credentials — use --silent and pipe to jq
  • Credential file must be mode 600 (chmod 600 ~/.idrac-credentials)
  • TLS verification disabled (-k) — iDRAC uses self-signed certs (acceptable for private networks)
  • Power operations are destructive — confirm with user before executing shutdown/restart

Compatibility

Works with Dell iDRAC 8 (Redfish 1.0–1.4) and iDRAC 9 (Redfish 1.6+). Covers PowerEdge 13th gen (R630/R730) through current gen. See endpoints reference for version-specific notes.

Note: iDRAC 8 API responses can take 5–10s per call. The test command makes 4 sequential calls (~30–40s total). Set exec timeouts accordingly. iDRAC 9 is significantly faster.