批量健康检查指标清单(通过脚本化任务分发执行)检查任务组:
- 组名: "电源与散热健康"
检查项:
- 命令: ipmitool sensor reading "PSU Status" # 电源状态
- 命令: ipmitool sensor reading "Fan Speed" # 风扇转速与偏差
- 命令: ipmitool sensor reading "Inlet Temp" # 进风温度
异常阈值: 任何风扇故障、PSU状态非“Presence detected”、温度超过28℃。
- 组名: "存储子系统健康"
检查项:
- 命令: MegaCli64 -PdList -aAll | grep -E "Firmware state|Media Error" # 硬盘状态与介质错误
- 命令: MegaCli64 -LDInfo -Lall -aAll | grep "State" # 逻辑磁盘状态
- 命令: smartctl -a /dev/sda -d megaraid,N | grep -E "Reallocated_Sector|Pending_Sector" # SMART关键属性
异常阈值: 硬盘Firmware state非“Online”,存在Media Error,SMART关键属性非零。
- 组名: "内存与CPU预测性故障"
检查项:
- 命令: ipmitool sel elist | grep -i "correctable memory error" # 可纠正内存错误计数
- 命令: dmidecode -t processor | grep -i "status" # CPU状态
异常阈值: 24小时内可纠正内存错误 > 10次,CPU状态报错。
- 组名: "固件与安全合规"
检查项:
- 命令: 比对当前固件版本与厂商官方最新安全公告。
- 命令: 检查BMC/iLO默认密码是否已修改,SSL证书是否过期。
异常阈值: 固件存在严重安全漏洞,使用默认凭证。
执行与汇总:我们开发的调度平台,在客户指定的维护窗口(如下半夜),分批对服务器执行上述检查。所有结果自动汇总到一个统一健康度仪表板。
第三层:健康度评分与优先级划分
根据检测结果,我们为每台服务器生成一个健康评分(0-100分),并自动划分优先级。
python
def calculate_health_score(server_data):
score = 100
deductions = []
# 扣分规则(示例)
if server_data['psu_status'] != 'ok':
score -= 25
deductions.append('电源故障')
if server_data['predictive_disk_failure']:
score -= 20
deductions.append('硬盘预测性故障')
if server_data['memory_cecc_count'] > 100:
score -= 15
deductions.append('高频内存可纠正错误')
if server_data['firmware_vulnerability']:
score -= 10
deductions.append('固件安全漏洞')
# ... 更多规则
# 划分优先级
if score < 60:
priority = 'P0 (紧急,需立即维修)'
elif score < 75:
priority = 'P1 (高,需一周内安排)'
elif score < 85:
priority = 'P2 (中,需一月内安排)'
else:
priority = 'P3 (低,持续观察)'
return {'score': max(score, 0), 'priority': priority, 'issues': deductions}
检测报告摘要:在完成全部扫描后,我们向客户呈现了一份全景报告:
P0(紧急)服务器:47台(占比4.1%),存在如双电源失效、硬盘RAID降级等立即风险。
P1(高)服务器:189台(占比16.6%),存在如风扇预警、单电源故障、内存错误率高等风险。
P2(中)服务器:约300台,存在固件过旧、配置不一致等问题。
整体健康度分布:清晰地显示出哪些机柜、哪些业务集群的服务器健康度最差,为后续优化提供数据支持。
