温馨提示×

centos如何监控邮件服务器

小樊
44
2026-10-20 11:14:38
栏目: 云计算

在 CentOS 上监控邮件服务器(如 Postfix / Sendmail / Dovecot / Exim 等),通常可以从系统层、服务层、日志层、队列层、第三方工具几个维度来做。下面给你一套实用可落地方案。


一、确认你用的是哪种邮件服务

先确认邮件服务类型:

ps -ef | grep -E "postfix|sendmail|exim|dovecot"

常见组合:

  • Postfix + Dovecot(最常用)
  • Sendmail(老系统)
  • Exim(服务器托管常见)

二、基础服务状态监控(必做)

1. 使用 systemd 查看状态

systemctl status postfix
systemctl status dovecot

设置开机自启并监控:

systemctl enable postfix
systemctl enable dovecot

2. 服务挂掉自动告警(简单脚本)

#!/bin/bash
systemctl is-active --quiet postfix || echo "Postfix down" | mail -s "Mail Alert" admin@yourdomain.com

可放入 crontab:

* * * * * /root/check_mail.sh

三、邮件队列监控(非常重要)

Postfix 队列查看

mailq
# 或
postqueue -p

查看队列数量:

mailq | grep -c "^[A-F0-9]"

队列异常暴增通常意味着:

  • 被垃圾邮件攻击
  • DNS / 网络问题
  • 对方 MTU / 邮箱满

四、日志监控(核心)

1. 邮件主日志

/var/log/maillog

实时查看:

tail -f /var/log/maillog

常见关键词:

  • status=sent ✅
  • status=deferred ⏳
  • status=bounced ❌
  • relay=none ❌
  • SASL authentication failed ⚠️

2. 日志告警示例

发现大量 bounced:

grep "status=bounced" /var/log/maillog | wc -l

五、系统资源监控(防止被打挂)

1. CPU / 内存

top
htop

2. 磁盘(邮件最容易爆盘)

df -h
du -sh /var/spool/mail/*

3. 网络连接数

netstat -an | grep :25 | wc -l

六、使用监控工具(推荐)

方案 1:Zabbix(企业级)

监控项:

  • Postfix queue length
  • SMTP 端口存活
  • 磁盘使用率
  • maillog 错误数

方案 2:Prometheus + Grafana

  • node_exporter
  • postfix_exporter
  • 可视化邮件队列 & 发送成功率

方案 3:Monit(轻量)

yum install monit

示例监控 Postfix:

check process postfix with pidfile /var/spool/postfix/pid/master.pid
    start program = "/usr/sbin/postfix start"
    stop program = "/usr/sbin/postfix stop"
    if failed port 25 then alert

七、安全检查(防止被当成垃圾邮件服务器)

1. 开放中继检查

postconf -n | grep mynetworks

2. 查看是否被暴力破解

grep "authentication failed" /var/log/maillog

3. 防火墙限制

firewall-cmd --add-service=smtp --permanent
firewall-cmd --reload

八、总结(最小可行监控方案)

✅ 必做:

  • systemctl 服务存活
  • mailq 队列监控
  • /var/log/maillog 错误统计
  • 磁盘空间监控

✅ 推荐:

  • Monit / Zabbix
  • 队列异常自动告警
  • 外网 25 端口探测

如果你愿意,可以告诉我:

  • 你用的是 Postfix 还是 Sendmail
  • 是 内网邮件 还是 公网收发
  • 是否需要 图形化监控

我可以直接给你定制监控脚本或 Zabbix 模板。

0 踩