问题说明
本文用于排查“管理节点目录使用率报警 / 双管理节点报警规则不一致”类问题。
适用环境
- 产品:ZCF
- 版本:4.x、5.x
- 组件:Cloud
- 涉及对象:管理节点、报警规则、监控指标、双管理节点。
- 场景:管理节点目录使用率告警与系统层 df/du 结果不一致。
问题现象
- 管理节点数据目录磁盘占用率每半小时触发告警。
- 告警显示目录使用率超过 90%。
- 现场实时查看 /var/lib/zstack/* 未发现明显异常增长。
- 双管理节点场景中两边报警规则可能不一致。
可能原因
- 报警器规则在双管理节点内存态不一致。
- 监控指标值与系统实时目录占用存在采集延迟或口径差异。
- 旧报警规则残留或未同步,导致周期性误报。
- 目录使用率确实瞬时超过阈值,但现场观察窗口未覆盖峰值。
排查步骤
- 查看告警信息,确认告警对象、目录路径、阈值、触发周期和触发管理节点。
- 使用 GetMetricData 获取告警使用的指标值,确认是否满足大于 90%。
- 用 df/du/watch 交叉确认系统层真实占用。
- 通过 DebugSignal 或同等方式获取管理节点内存中的报警规则。
- 对比双管理节点中的报警规则,确认规则是否一致。
关键命令
df -h
du -sh /var/lib/zstack/* 2>/dev/null
watch -n 1 -d 'du -sh /var/lib/zstack/* 2>/dev/null'
zstack-cli GetMetricData namespace=<namespace> metricName=<metricName>
解决方案
- 如果确认双管理节点内存规则不一致,重启相关管理服务或按 ZStack 官方技术支持建议重载报警规则。
- 如确认为真实目录占用,转入管理节点磁盘空间清理流程。
- 如为规则残留,清理或重建对应报警器后观察。
验证方法
- 双管理节点内存中的报警规则一致。
- GetMetricData 指标值与系统层 df/du 口径能解释。
- 经过至少一个报警周期后不再误报。
风险与回滚
- 不要因为告警疑似误报就直接删除 /var/lib/zstack 下文件。
- 重启管理服务前需确认管理节点 HA、任务队列和业务影响。
注意事项
- 涉及管理服务、数据库、证书、权限、审计和安全配置调整时,应先确认 HA 状态、业务窗口、回退方案和合规保留要求。
- 若需要数据库修改、底层文件处理、锁释放、服务重启、驱动/固件升级或批量资源变更,应联系 ZStack 官方技术支持确认后再执行。
