ipmideck

安装

在你的机架上把 ipmideck 跑起来

从一台全新机器到一个实时仪表盘,只需三步。选 Docker 或 pip,启动它,然后打开向导。没有要手动编辑的配置文件。

在哪里获取

已发布到 PyPI 和 Docker Hub,完整源码在 GitHub。选一个适合你运行方式的。

第 1 步

安装并启动

运行 ipmideck 有两种方式。Docker 是一条命令。用 pip 则先安装包,再启动服务器。

docker

运行容器

docker
docker run --network host devluigi06/ipmideck:latest

以 --network host 运行,让 ipmideck 能直接连到你的 BMC。

pip
  1. 安装包

    pip
    pip install ipmideck
  2. 启动服务器

    cli
    ipmideck

pip 包需要主机上已安装 ipmitool。裸跑的 ipmideck 绑定在 0.0.0.0:3000。

第 2 步

打开仪表盘

http://<your-ip>:3000

your-ip 是你运行它的那台机器的地址。在 Linux 上用 ip addr,或者在路由器的设备列表里找到它。

在 3000 端口访问你服务器的地址,然后按应用内的安装向导添加第一个 BMC。config.yaml 会在首次运行时自动写入,所以没有什么要手动配置的。

成功了吗?你会进入 ipmideck 登录页,然后是一个简短的向导,用来添加第一个 BMC。

看不到?

什么都加载不出来?要么腾出 3000 端口,要么把 ipmideck 换到别的端口:在交互式控制台按 b 键,或设置 IPMIDECK_SERVER_PORT。

向导里没有 BMC?它必须在 UDP 623 上可达。在 Docker 中以 --network host 运行。

支持的硬件

ipmideck 说标准的 IPMI 2.0,所以大多数服务器 BMC 都会响应。支持按每个厂商被测试的深度分级。

Dell PowerEdge / iDRAC已支持 / 已测试
IPMI 2.0。完全支持并已测试。
Supermicro实验性
IPMI 2.0。可用,尚未详尽测试。
HPE
HPE iLO实验性
IPMI 2.0。实验性,尚未详尽测试。
Lenovo XCC实验性
IPMI 2.0。实验性,尚未详尽测试。
IBM
IBM IMM实验性
IPMI 2.0。实验性,尚未详尽测试。

配置

进阶

开始使用并不需要它。ipmideck 会在首次运行时用合理的默认值写入 data/config.yaml。放在这里,是为了当你想知道它在哪、怎么改的时候。

config.yaml 在哪里
Docker
/data/config.yaml。镜像会设置 IPMIDECK_DATA_DIR=/data,所以用卷把该路径持久化。
pip / 源码
安装目录旁的一个数据目录(在 Linux 上是 /data)。用 IPMIDECK_DATA_DIR 把它挪走。
显示默认的 config.yaml
config.yaml
# data/config.yaml — auto-generated on first run
server:
  host: "0.0.0.0"
  port: 3000
  https: false
auth:
  enabled: true
  session_expiry: "24h"
  max_login_attempts: 5
ipmi:
  poll_interval: 30
  power_poll_interval: 30
  command_timeout: 30
data:
  retention_days: 365
  cleanup_interval: "24h"
logging:
  level: "info"
modules:
  sensors:
    enabled: true
  fanpilot:
    enabled: true
  power:
    enabled: true
  sel:
    enabled: true
  fru:
    enabled: true

每一项设置都可以在运行时用带 IPMIDECK_ 前缀的环境变量覆盖,这是在 Docker 中配置 ipmideck 的便捷方式。

IPMIDECK_SERVER_PORT
仪表盘绑定的 HTTP 端口(默认 3000)。
IPMIDECK_AUTH_ENABLED
启用或禁用内置登录(默认 true)。
IPMIDECK_IPMI_POLL_INTERVAL
两次 BMC 传感器轮询之间的秒数(默认 30)。
IPMIDECK_DATA_RETENTION_DAYS
清理前保留的传感器历史天数(默认 365)。