跳转至

Dell PowerEdge R620 硬件温度监控配置报告

一、服务器信息

项目 信息
服务器型号 Dell PowerEdge R620
CPU Intel Xeon E5-2650 @ 2.00GHz x2
系统 CentOS Linux release 7.9.2009
内核 3.10.0-1160.119.1.el7.x86_64
IP地址 192.168.0.250
管理接口 iDRAC(Dell远程管理控制器)
机箱序列号 2627S12

二、当前温度状况(配置时采集)

2.1 IPMI 温度传感器

传感器 当前温度 非关键阈值 关键阈值 状态
进风口 (Inlet) 29°C 42°C 47°C ✅ 正常
出风口 (Exhaust) 43°C 70°C 75°C ✅ 正常
CPU1 73°C 85°C 90°C ⚠️ 偏高
CPU2 72°C 85°C 90°C ⚠️ 偏高

2.2 风扇状态

风扇组 转速范围 (RPM) 最低阈值 状态
Fan A组 (1-7) 4320-5400 720 ✅ 正常
Fan B组 (1-7) 3360-5040 720 ✅ 正常
最低转速 3360 RPM - ✅ 正常

三、监控架构

┌─────────────────────────────────────────────────────────────────┐
│                    Dell R620 (192.168.0.250)                    │
│                                                                  │
│  ┌──────────────┐    ┌──────────────────┐    ┌───────────────┐ │
│  │  IPMI硬件    │    │  ipmi_metrics.sh │    │  node-exporter│ │
│  │  传感器      │───▶│  (采集脚本)      │───▶│  (Docker容器) │ │
│  │  (温度/风扇) │    │  每30秒采集      │    │  :9100        │ │
│  └──────────────┘    └──────────────────┘    └───────┬───────┘ │
│                                                      │         │
│  ┌──────────────┐                            ┌───────▼───────┐ │
│  │  CPU核心     │───────────────────────────▶│  textfile     │ │
│  │  (hwmon)     │                            │  collector    │ │
│  └──────────────┘                            └───────────────┘ │
└──────────────────────────────────────────────────────────────┬──┘
                                                                │
                                                    :9100/metrics
                                                                │
┌───────────────────────────────────────────────────────────────▼──┐
│                    K8s 集群 (monitoring命名空间)                  │
│                                                                   │
│  ┌─────────────┐    ┌─────────────┐    ┌─────────────────────┐  │
│  │ Prometheus  │    │ AlertManager│    │   Grafana           │  │
│  │ (抓取&存储) │───▶│ (告警分发)  │    │   (可视化Dashboard) │  │
│  └──────┬──────┘    └─────────────┘    └─────────────────────┘  │
│         │                                                         │
│    ┌────▼────┐                                                    │
│    │ 8条告警 │                                                    │
│    │ 规则    │                                                    │
│    └─────────┘                                                    │
└───────────────────────────────────────────────────────────────────┘

四、方案A - Grafana Dashboard

4.1 Dashboard 信息

项目 信息
Dashboard名称 Dell R620 硬件温度监控
UID hp-r620-temp
URL /d/hp-r620-temp/dell-r620
刷新频率 30秒
时间范围 默认最近6小时

4.2 Dashboard 面板说明

面板编号 面板名称 类型 数据源 说明
1 🔥 IPMI 温度监控 时序图 ipmi_temperature_celsius 进风口/出风口/CPU温度,含阈值线
2 💻 CPU核心温度 时序图 node_hwmon_temp_celsius 16个CPU核心的实时温度
3 🌀 风扇转速 时序图 ipmi_fan_rpm 14个风扇的转速曲线
4 📊 当前温度状态 状态面板 ipmi_temperature_celsius CPU1/CPU2/进风口/出风口当前值
5 ⚠️ 温度阈值对比 状态面板 ipmi_temperature_threshold_celsius 各传感器的临界阈值
6 🌡️ CPU温度余量 仪表盘 计算值 CPU温度距临界值的余量
7 🔍 最低风扇转速 状态面板 ipmi_fan_rpm 风扇最低/平均/最高转速
8 📈 24小时温度趋势 时序图 ipmi_temperature_celsius 全天温度变化趋势

五、方案B - IPMI 数据采集

5.1 组件部署

组件 路径/位置 说明
采集脚本 /opt/node-exporter/ipmi_metrics.sh IPMI数据采集主脚本
循环脚本 /opt/node-exporter/ipmi_collector_loop.sh 每30秒循环执行采集
数据目录 /opt/node-exporter/textfile/ Prometheus textfile格式输出目录
数据文件 /opt/node-exporter/textfile/ipmi_metrics.prom 采集的IPMI指标数据
systemd服务 ipmi-collector.service 管理采集进程,开机自启

5.2 node-exporter 容器配置

docker run -d \
  --name node-exporter \
  --restart=always \
  --net=host \
  --pid=host \
  -v /:/host:ro,rslave \
  -v /opt/node-exporter/textfile:/textfile:ro \
  prom/node-exporter:latest \
  --path.rootfs=/host \
  --collector.textfile.directory=/textfile \
  --collector.hwmon \
  --collector.thermal_zone

5.3 采集的 Prometheus 指标

指标名称 类型 标签 说明
ipmi_temperature_celsius gauge sensor, type, id IPMI温度传感器读数(°C)
ipmi_fan_rpm gauge sensor, fan_id IPMI风扇转速(RPM)
ipmi_temperature_threshold_celsius gauge sensor, type, id, threshold IPMI温度阈值(°C)
node_hwmon_temp_celsius gauge chip, sensor CPU核心温度(°C)

5.4 IPMI 温度类型标签

type id 说明
inlet inlet 进风口温度
exhaust exhaust 出风口温度
cpu cpu1 CPU1 温度
cpu cpu2 CPU2 温度

5.5 IPMI 阈值类型

threshold标签 说明
lower_non_recoverable 下限不可恢复
lower_critical 下限关键
lower_non_critical 下限非关键
upper_non_critical 上限非关键
upper_critical 上限关键
upper_non_recoverable 上限不可恢复

六、告警规则

6.1 告警规则列表

告警名称 触发条件 持续时间 严重级别 说明
HPR620CPUTemperatureWarning CPU温度 > 85°C 2分钟 warning CPU温度超过非关键阈值
HPR620CPUTemperatureCritical CPU温度 > 90°C 1分钟 critical CPU温度超过关键阈值,可能损坏硬件
HPR620InletTemperatureWarning 进风口温度 > 42°C 5分钟 warning 机房环境温度过高
HPR620ExhaustTemperatureWarning 出风口温度 > 70°C 5分钟 warning 服务器散热不足
HPR620FanSpeedLow 风扇转速 < 1500 RPM 2分钟 critical 风扇可能故障
HPR620FanStopped 风扇转速 < 720 RPM 1分钟 critical 风扇可能已停转
HPR620IPMICollectorDown IPMI数据缺失 2分钟 warning 采集服务异常
HPR620NodeExporterDown node-exporter离线 1分钟 critical 监控完全失效

6.2 告警规则配置文件

K8s资源: prometheusrule.monitoring.coreos.com/hp-r620-hardware-alerts 命名空间: monitoring 标签: release=prometheus


七、验证结果

7.1 node-exporter 验证

✅ Docker容器运行正常
✅ textfile collector已启用
✅ IPMI数据通过 /metrics 暴露
✅ CPU核心温度数据正常采集

7.2 Prometheus 验证

✅ 192.168.0.250:9100 抓取目标正常
✅ ipmi_temperature_celsius 数据已入库
✅ ipmi_fan_rpm 数据已入库
✅ ipmi_temperature_threshold_celsius 数据已入库
✅ node_hwmon_temp_celsius 数据已入库
✅ 8条告警规则全部加载(状态: inactive = 正常)

7.3 Grafana 验证

✅ Dashboard已创建 (UID: hp-r620-temp)
✅ 8个监控面板配置完成
✅ 数据源已关联Prometheus
✅ 面板数据正常显示

7.4 采集服务验证

✅ ipmi-collector.service 运行正常
✅ 每30秒自动采集IPMI数据
✅ 开机自启已配置

八、运维说明

8.1 日常检查

# 1. 检查采集服务状态
ssh root@192.168.0.250 "systemctl status ipmi-collector"

# 2. 检查node-exporter容器
ssh root@192.168.0.250 "docker ps | grep node-exporter"

# 3. 查看当前IPMI数据
ssh root@192.168.0.250 "cat /opt/node-exporter/textfile/ipmi_metrics.prom"

# 4. 手动执行采集
ssh root@192.168.0.250 "/opt/node-exporter/ipmi_metrics.sh"

# 5. 查看Prometheus中的温度数据
kubectl exec -n monitoring prometheus-prometheus-kube-prometheus-prometheus-0 -c prometheus -- \
  wget -qO- "http://localhost:9090/api/v1/query?query=ipmi_temperature_celsius{instance=~\"192.168.0.250.*\"}"

8.2 故障排查

问题 排查步骤
IPMI数据缺失 1. 检查 ipmi-collector.service 状态
2. 手动运行 /opt/node-exporter/ipmi_metrics.sh
3. 检查 IPMI 内核模块是否加载
温度数据异常 1. 在服务器上运行 ipmitool sensor 对比
2. 检查 ipmi_metrics.prom 文件内容
Grafana面板无数据 1. 检查 Prometheus 抓取目标状态
2. 确认 external-node-exporter ServiceMonitor 存在
告警未触发 1. 检查 PrometheusRule 标签是否包含 release=prometheus
2. 检查 AlertManager 配置

8.3 文件清单

文件路径 服务器 说明
/opt/node-exporter/ipmi_metrics.sh 192.168.0.250 IPMI数据采集主脚本
/opt/node-exporter/ipmi_collector_loop.sh 192.168.0.250 循环采集脚本
/opt/node-exporter/textfile/ipmi_metrics.prom 192.168.0.250 采集的指标数据文件
/etc/systemd/system/ipmi-collector.service 192.168.0.250 systemd服务配置
prometheusrule/hp-r620-hardware-alerts K8s集群 Prometheus告警规则
Grafana Dashboard (UID: hp-r620-temp) K8s集群 Grafana监控面板

九、温度安全参考

9.1 Dell R620 官方温度阈值

组件 正常范围 非关键阈值 关键阈值 紧急处理
CPU 40-75°C 85°C 90°C >90°C 立即关机
进风口 20-35°C 42°C 47°C 检查机房空调
出风口 35-50°C 70°C 75°C 检查风扇/散热
风扇 3000-6000 RPM 1500 RPM 720 RPM >720 RPM 立即更换

9.2 夏季高温建议

  1. 机房温度:建议保持在 22-25°C
  2. 监控频率:夏季建议每小时查看一次温度趋势
  3. 告警配置:确保邮件/微信告警通道正常
  4. 应急预案:CPU温度超过 85°C 时考虑临时降低负载
  5. 风扇维护:定期检查风扇灰尘,确保散热效率

文档创建时间: 2026-07-28 文档版本: v1.0 配置人员: Trae AI Assistant


十、邮件告警配置(Alertmanager + 163邮箱)

10.1 邮件配置信息

项目 信息
SMTP服务器 smtp.163.com:25
发件邮箱 saier_cy@163.com
收件邮箱 saier_cy@163.com
认证方式 SMTP AUTH (用户名+授权码)
TLS 启用 (STARTTLS)
告警接收器 hp-r620-email

10.2 Alertmanager 配置

配置方式: 通过更新 K8s Secret alertmanager-prometheus-kube-prometheus-alertmanager

Secret 内容: - alertmanager.yaml - Alertmanager 主配置文件 - email-template.tmpl - 自定义HTML邮件模板

路由规则:

route:
  group_by: ['namespace', 'alertname', 'severity']
  group_wait: 10s          # 告警分组等待时间
  group_interval: 5m       # 同组告警发送间隔
  repeat_interval: 1h      # 重复告警发送间隔
  receiver: hp-r620-email  # 默认接收器
  routes:
  - matchers:
    - alertname =~ "InfoInhibitor|Watchdog"
    receiver: "null"       # 忽略测试告警

10.3 邮件模板特性

特性 说明
邮件格式 HTML(支持中文)
告警状态标识 红色(告警中) / 绿色(已恢复)
严重级别颜色 红色(critical) / 黄色(warning) / 绿色(resolved) / 蓝色(info)
告警详情 包含告警名称、级别、服务器、触发时间
恢复通知 启用 (send_resolved: true)
邮件语言 中文

10.4 告警邮件触发条件

告警名称 触发条件 持续时间 严重级别 是否发邮件
HPR620CPUTemperatureWarning CPU温度 > 85°C 2分钟 warning ✅
HPR620CPUTemperatureCritical CPU温度 > 90°C 1分钟 critical ✅
HPR620InletTemperatureWarning 进风口温度 > 42°C 5分钟 warning ✅
HPR620ExhaustTemperatureWarning 出风口温度 > 70°C 5分钟 warning ✅
HPR620FanSpeedLow 风扇转速 < 1500 RPM 2分钟 critical ✅
HPR620FanStopped 风扇转速 < 720 RPM 1分钟 critical ✅
HPR620IPMICollectorDown IPMI数据缺失 2分钟 warning ✅
HPR620NodeExporterDown node-exporter离线 1分钟 critical ✅

10.5 验证结果

✅ Alertmanager配置已加载(SMTP配置、路由规则、邮件模板)
✅ SMTP连接正常(smtp.163.com:25 可达,STARTTLS启用)
✅ 测试邮件发送成功(metrics: notification_requests_total{integration="email"} 持续增长)
✅ 邮件模板渲染正确(中文HTML格式,含告警详情表格)
✅ 恢复通知已启用(告警恢复时自动发送恢复邮件)

10.6 配置文件位置

文件 位置 说明
Alertmanager配置 K8s Secret: alertmanager-prometheus-kube-prometheus-alertmanager 命名空间: monitoring
邮件模板 K8s Secret同上 (email-template.tmpl键) 自定义HTML模板
Prometheus告警规则 PrometheusRule: hp-r620-hardware-alerts 8条告警规则
Helm部署路径 /home/rian/Documents/electricity_monitoring/kube-prometheus-stack kube-prometheus-stack

10.7 运维说明

查看Alertmanager当前配置:

kubectl get secret alertmanager-prometheus-kube-prometheus-alertmanager -n monitoring -o jsonpath="{.data.alertmanager\.yaml}" | base64 -d

查看邮件发送metrics:

kubectl exec -n monitoring alertmanager-prometheus-kube-prometheus-alertmanager-0 -c alertmanager -- \
  wget -qO- http://localhost:9093/metrics | grep notification_requests_total

手动发送测试告警:

CURRENT_TIME=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
kubectl exec -n monitoring alertmanager-prometheus-kube-prometheus-alertmanager-0 -c alertmanager -- \
  wget -qO- --post-data='[{"labels":{"alertname":"TestEmail","severity":"warning","server":"hp-r620","instance":"192.168.0.250"},"annotations":{"summary":"测试","description":"测试邮件"},"startsAt":"'$CURRENT_TIME'"}]' \
  --header="Content-Type: application/json" \
  http://localhost:9093/api/v2/alerts

文档更新时间: 2026-07-28 文档版本: v2.0 (新增邮件告警配置) 配置人员: Trae AI Assistant


来源:/home/rain/Documents/k8s_ins/dell-r620_temperature_monitor/dell-r620-temperature-monitoring-report.md | 最后更新:2026-07-28 01:11(由 build/sync.py 同步,请勿在站点侧修改)