关于批量远程配置IPMI syslog设置的技术咨询
批量远程配置IPMI syslog设置的技术咨询
当然可以用ipmitool来批量远程配置IPMI接口的syslog设置,刚好你用的2.26.0版本完全支持这些操作,不用手动一个个折腾啦!
单台主机配置步骤
先给你讲下单台机器的配置命令,搞懂了这个,批量操作就很容易扩展:
- 首先用加密LAN通道连接目标IPMI,并设置syslog服务器地址(默认syslog端口是514):
这里ipmitool -I lanplus -H <目标IPMI地址> -U <IPMI用户名> -P <IPMI密码> sol set syslog <你的syslog服务器IP>:<端口>-I lanplus是推荐的加密连接方式,比普通LAN更安全,避免账号密码明文传输。 - 接着启用IPMI事件的syslog转发功能,确保硬件日志能正常发送到服务器:
ipmitool -I lanplus -H <目标IPMI地址> -U <IPMI用户名> -P <IPMI密码> event set dest syslog - 配置完可以用下面的命令验证设置是否生效:
ipmitool -I lanplus -H <目标IPMI地址> -U <IPMI用户名> -P <IPMI密码> sol get syslog
批量配置方案
既然有几十台机器,写个简单的shell脚本就能自动完成所有配置,省超多时间:
- 先把所有目标机器的IPMI地址整理到一个文本文件里,比如
ipmi_hosts.txt,每行一个IP地址:192.168.1.10 192.168.1.11 192.168.1.12 # 其他IPMI地址... - 创建一个shell脚本文件
configure_ipmi_syslog.sh,内容如下:#!/bin/bash # 替换成你的syslog服务器地址和端口 SYSLOG_SERVER="192.168.1.100:514" # 替换成你的IPMI管理员账号 IPMI_USER="admin" # 替换成你的IPMI管理员密码(如果有特殊字符,用单引号括起来) IPMI_PASS='your_secure_password' while read -r ipmi_ip; do # 跳过空行和注释行 [[ -z "$ipmi_ip" || "$ipmi_ip" =~ ^# ]] && continue echo "正在配置 $ipmi_ip 的syslog设置..." # 设置syslog服务器 ipmitool -I lanplus -H "$ipmi_ip" -U "$IPMI_USER" -P "$IPMI_PASS" sol set syslog "$SYSLOG_SERVER" # 启用syslog转发 ipmitool -I lanplus -H "$ipmi_ip" -U "$IPMI_USER" -P "$IPMI_PASS" event set dest syslog echo "$ipmi_ip 配置完成!" done < ipmi_hosts.txt - 给脚本添加执行权限并运行:
chmod +x configure_ipmi_syslog.sh ./configure_ipmi_syslog.sh
注意事项
- 确保你的操作机器能ping通所有目标IPMI地址,并且IPMI默认端口(623)在防火墙/安全组中是开放的;
- 如果你的IPMI密码包含特殊字符(比如
!@#$),一定要用单引号把密码括起来,避免shell解析出错; - 少数厂商的IPMI可能不支持标准
sol set syslog命令,遇到这种情况可以试试底层raw命令(需要把IP和端口转成十六进制),不过大部分主流厂商(戴尔、惠普、超微等)都支持标准命令。
备注:内容来源于stack exchange,提问作者mandg
相关产品推荐
相关产品推荐

