第十二章 监控与运维
邮件系统上线后,持续的监控和运维是保证服务稳定运行的关键。本章讲解邮件系统的监控指标、日志管理、告警和日常运维。
邮件系统性能指标
关键性能指标
| 指标 | 说明 | 参考值 |
|---|---|---|
| SMTP并发连接数 | 同时支持的SMTP连接数 | 中型系统支持1万+,大型系统10万+ |
| IMAP并发连接数 | 同时支持的IMAP连接数 | 中型系统支持5万+,大型系统50万+ |
| 邮件处理吞吐量 | 每秒处理的邮件数量 | 中型系统100+封/秒,大型系统1万+封/秒 |
| 邮件投递延迟 | 邮件从接收到投递到用户邮箱的时间 | 平均<1秒,99分位<5秒 |
| 垃圾邮件识别率 | 正确识别垃圾邮件的比例 | >99% |
| 误判率 | 正常邮件被误判为垃圾邮件的比例 | <0.1% |
| 服务可用性 | 服务正常运行时间比例 | >99.9% |
性能监控要点
监控分层
-
系统层监控:CPU、内存、磁盘IO、网络流量
- CPU使用率:不超过70%,峰值不超过90%
- 内存使用率:不超过80%
- 磁盘使用率:不超过80%,预留足够空间
- 磁盘IO延迟:平均小于10ms
- 网络带宽使用率:不超过80%
-
应用层监控:SMTP/IMAP/POP3服务状态、响应时间、错误率
- 监听端口是否正常
- 连接响应时间
- 认证成功率
- 服务错误率
-
业务层监控:邮件接收量、发送量、退信率、垃圾邮件比例
- QPS(每秒处理请求数)
- 邮件队列长度:队列过长说明系统负载过高
- 退信率:正常情况下小于3%
- 垃圾邮件比例:占接收邮件的比例
-
存储层监控:存储使用率、IO延迟、inode使用率
- inode使用率:邮件系统小文件多,容易耗尽inode
- 磁盘空间使用率
- IOPS使用率
日志管理
关键日志
- MTA日志:Postfix/Exim记录所有邮件接收和发送日志
- MDA日志:Dovecot记录IMAP/POP3访问日志
- 反垃圾邮件日志:SpamAssassin/Rspamd记录过滤结果
- 系统日志:记录系统启动、错误、告警等信息
日志管理最佳实践
- 日志集中收集到ELK或其他日志分析平台
- 日志按天轮转,保留30-90天
- 关键错误配置告警
- 可以通过日志分析邮件流量趋势、垃圾邮件比例等
告警配置
关键告警项
- 服务进程退出
- 端口无法连接
- CPU/内存/磁盘使用率超过阈值
- 磁盘满
- 邮件队列长度超过阈值
- 退信率突然升高
- 垃圾邮件比例突然升高
告警渠道
- 邮件告警:基本告警渠道
- 短信/电话告警:严重故障告警
- 企业微信/Slack告警:团队实时通知
日常运维工作
日常检查
- 检查系统资源使用情况
- 检查邮件队列长度
- 检查退信率和垃圾邮件比例
- 检查备份是否成功
定期维护
- 清理过期日志
- 清理删除的邮件,释放空间
- 更新系统和邮件软件
- 更新反垃圾邮件规则
- 检查磁盘健康(SMART)
故障排查常见问题
- 邮件发不出去:检查DNS、IP是否被拉黑、队列是否满、磁盘是否满
- 收不到邮件:检查DNS解析、IP是否被反垃圾屏蔽、磁盘是否满
- IMAP慢:检查索引是否损坏、磁盘IO是否过载
- 大量退信:检查是否被利用发送垃圾邮件、是否有账号被盗
本章小结
监控与运维是邮件系统长期稳定运行的保障,通过完善的监控体系、及时的告警响应、规范的日常运维,可以保证邮件系统持续稳定运行。下一章我们介绍扩展协议和高级应用特性。