温馨提示×

如何监控Ubuntu邮件服务器

小樊
34
2026-07-05 13:29:00
栏目: 云计算

在 Ubuntu 上监控邮件服务器,通常取决于你使用的 MTA(邮件传输代理),如 Postfix、Exim、Sendmail,以及是否包含 Dovecot(IMAP/POP3)。下面给你一套从基础到进阶的完整监控方案,适用于生产环境。


一、明确你要监控什么

邮件服务器一般包含以下组件:

类型 示例 监控重点
MTA Postfix / Exim 队列、发送成功率、延迟
MDA Dovecot 登录、收信、认证
反垃圾 SpamAssassin / Amavis 垃圾邮件数量
安全 Fail2ban 暴力破解
系统 Ubuntu CPU、内存、磁盘、网络

二、基础监控(命令行)

1️⃣ 邮件队列监控(Postfix 为例)

mailq

postqueue -p

✅ 重点关注:

  • 队列是否持续增长
  • deferred 数量是否过多

2️⃣ 邮件日志监控

Postfix 日志位置:

/var/log/mail.log

实时查看:

tail -f /var/log/mail.log

常见错误:

关键词 含义
deferred 邮件延迟
rejected 被拒
bounce 退信
timeout 超时

3️⃣ 邮件统计(pflogsumm)

安装:

sudo apt install pflogsumm

生成日报:

pflogsumm /var/log/mail.log

✅ 可看到:

  • 收发邮件数量
  • 错误统计
  • 各域名流量

三、服务状态监控

1️⃣ systemd 服务状态

systemctl status postfix
systemctl status dovecot

自动重启(推荐):

sudo systemctl enable postfix dovecot

2️⃣ 端口监听检查

ss -lntp

常见端口:

服务 端口
SMTP 25
SMTPS 465
Submission 587
IMAP 143
IMAPS 993

四、自动化监控(推荐)

✅ 1. 使用 Monit(轻量级)

安装:

sudo apt install monit

示例配置 /etc/monit/conf.d/mail

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

check process dovecot with pidfile /var/run/dovecot/master.pid
    start program = "/bin/systemctl start dovecot"
    stop program = "/bin/systemctl stop dovecot"

启动:

sudo systemctl restart monit

✅ 可自动重启 + 邮件/短信告警


✅ 2. 使用 Zabbix(企业级)

监控项包括:

  • 邮件队列长度
  • SMTP 响应时间
  • Dovecot 登录数
  • 磁盘使用(邮件目录)

示例监控脚本(队列):

mailq | tail -n 1

五、邮件安全监控

1️⃣ Fail2ban(防暴力破解)

sudo apt install fail2ban

检查状态:

fail2ban-client status dovecot
fail2ban-client status postfix

2️⃣ 发信量异常监控

防止成为垃圾邮件跳板:

grep "status=sent" /var/log/mail.log | wc -l

六、磁盘与队列告警(非常重要)

邮件目录磁盘监控

df -h /var/mail
df -h /var/spool/postfix

队列数量告警脚本示例

count=$(mailq | grep -c "^[A-F0-9]")
if [ "$count" -gt 100 ]; then
    echo "邮件队列异常:$count" | mail -s "邮件队列告警" admin@example.com
fi

七、可视化监控(进阶)

工具 用途
Grafana + Prometheus 图表
ELK 日志分析
Zabbix 综合监控

八、推荐监控清单(生产环境)

✅ 必做:

  • 邮件队列长度
  • SMTP / IMAP 端口存活
  • 日志错误率
  • 磁盘空间
  • Fail2ban 状态

✅ 可选:

  • 发信量统计
  • 登录成功率
  • 垃圾邮件比例

九、我可以继续帮你

你可以告诉我:

  1. 使用的是 Postfix / Exim / Dovecot?
  2. 企业内部邮件 还是 外发邮件服务器?
  3. 是否需要 自动告警(微信/邮件/短信)?

我可以直接给你一份 可复制的完整监控脚本或 Zabbix 模板

0