温馨提示×

怎样监控ubuntu ftpserver

小樊
38
2026-08-17 16:03:23
栏目: 智能运维

在 Ubuntu 上监控 FTP 服务器(如 vsftpd、proftpd、pure-ftpd),可以从连接状态、日志、流量、进程、用户行为等多个层面来做。下面按常用 FTP 服务监控方式给你一个完整说明。


一、先确认你用的是哪种 FTP 服务

ps -ef | grep -E "vsftpd|proftpd|pure-ftpd"

或:

systemctl status vsftpd
systemctl status proftpd
systemctl status pure-ftpd

二、通过日志监控(最重要)

1️⃣ vsftpd 日志监控

开启日志(如未开启)

编辑:

sudo vim /etc/vsftpd.conf

确保:

xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
log_ftp_protocol=YES   # 调试用,生产环境慎用

重启:

sudo systemctl restart vsftpd

实时查看连接和传输

tail -f /var/log/vsftpd.log

查看登录情况

grep -E "OK|FAIL" /var/log/vsftpd.log

2️⃣ proftpd 日志

日志位置:

/var/log/proftpd/access.log
/var/log/proftpd/auth.log

实时监控:

tail -f /var/log/proftpd/access.log

3️⃣ pure-ftpd 日志

/var/log/syslog

过滤:

grep pure-ftpd /var/log/syslog

三、实时监控 FTP 连接(谁在连)

1️⃣ 查看当前 FTP 连接

netstat -anp | grep :21

或(推荐):

ss -tnp | grep :21

示例输出:

ESTAB 0 0 192.168.1.10:21 192.168.1.100:54321 users:(("vsftpd",pid=1234))

2️⃣ 查看当前登录用户(vsftpd)

ps -ef | grep vsftpd

或:

lsof -i :21

四、监控 FTP 流量

1️⃣ 使用 iftop(实时流量)

sudo apt install iftop
sudo iftop -i eth0

只看 FTP 端口:

sudo iftop -i eth0 -P

2️⃣ nethogs(按进程监控)

sudo apt install nethogs
sudo nethogs

可以看到哪个 FTP 进程在占用带宽。


五、监控 FTP 用户行为(上传 / 下载)

1️⃣ 审计用户操作(vsftpd)

开启:

log_ftp_protocol=YES

日志会记录:

  • 登录
  • CWD
  • RETR(下载)
  • STOR(上传)
  • DELE(删除)

⚠️ 日志量大,不建议长期开启。


2️⃣ 使用 auditd(高级)

sudo apt install auditd

监控 FTP 目录:

sudo auditctl -w /srv/ftp -p rwxa -k ftp_monitor

查看日志:

ausearch -k ftp_monitor

六、系统级监控(推荐)

1️⃣ 使用 htop / top

htop

查看 vsftpd / proftpd 进程资源占用。


2️⃣ 使用 Prometheus + Grafana(生产环境)

可监控指标:

  • 连接数
  • 登录失败次数
  • 上传/下载流量
  • FTP 进程状态

方式:

  • node_exporter
  • 自定义脚本采集 FTP 状态
  • 写入 Prometheus

七、告警(异常检测)

1️⃣ 登录失败告警

grep "FAIL" /var/log/vsftpd.log | wc -l

可配合 fail2ban:

sudo apt install fail2ban

2️⃣ 自动告警脚本示例

#!/bin/bash
COUNT=$(grep "FAIL" /var/log/vsftpd.log | tail -100 | wc -l)
if [ $COUNT -gt 10 ]; then
  echo "FTP 登录异常" | mail -s "FTP Alert" admin@example.com
fi

八、推荐监控组合(实战)

场景 推荐方式
快速排查 ss + tail -f log
日常运维 日志 + fail2ban
流量分析 iftop / nethogs
企业级 Prometheus + Grafana
安全审计 auditd

九、我可以继续帮你

你可以告诉我:

  1. 用的是 vsftpd / proftpd / pure-ftpd?
  2. 内网 / 公网?
  3. 想监控 安全、性能还是用户行为?

我可以直接给你 定制监控方案或脚本

0