温馨提示×

如何监控linux ftpserver

小樊
36
2026-07-17 20:54:22
栏目: 智能运维

可以从 系统层、服务层、网络层、安全与审计层 来监控 Linux 上的 FTP 服务器。下面按常见 FTP 服务(vsftpd / proftpd / pure-ftpd)给你一套实用方案。


一、确认 FTP 服务类型

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

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

ss -lntp | grep :21

二、服务运行状态监控(最基础)

1️⃣ systemd 服务状态

systemctl status vsftpd

监控是否运行:

systemctl is-active vsftpd

✅ 建议:

  • Prometheus + node_exporterZabbix 监控服务状态

三、连接数与会话监控

1️⃣ 当前 FTP 连接数

ss -antp | grep :21 | wc -l

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

ps -ef | grep vsftpd

或查看进程:

lsof -i :21

3️⃣ 查看 FTP 会话日志(重要)

vsftpd

/var/log/vsftpd.log

journalctl -u vsftpd -f

proftpd

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

✅ 关注内容:

  • 登录成功 / 失败
  • 并发连接数
  • 异常断开

四、登录与异常行为监控(安全)

1️⃣ 登录失败监控

grep "FAIL" /var/log/vsftpd.log

2️⃣ 暴力破解检测(推荐 fail2ban)

yum install fail2ban -y

配置示例(vsftpd):

[vsftpd]
enabled = true
filter = vsftpd
logpath = /var/log/vsftpd.log
maxretry = 5
bantime = 3600

✅ 可自动封禁恶意 IP


五、性能与资源监控

1️⃣ CPU / 内存 / IO

top
htop
iotop

2️⃣ 网络流量

iftop
nload

3️⃣ 磁盘使用(FTP 很吃磁盘)

df -h
du -sh /ftpdata/*

六、主动监控方案(生产推荐)

✅ 方案 1:Zabbix 监控 FTP

监控项:

  • FTP 端口是否监听
  • 服务是否运行
  • 当前连接数
  • 登录失败次数
  • 磁盘使用率

✅ 方案 2:Prometheus + Grafana

  • node_exporter(系统)
  • 自定义 exporter(解析 FTP 日志)
  • Grafana 看板展示

七、被动模式端口监控(非常重要)

FTP 被动模式端口范围(vsftpd 示例):

pasv_min_port=30000
pasv_max_port=31000

监控端口占用:

ss -ant | awk '{print $4}' | cut -d: -f2 | sort | uniq -c | sort -nr

✅ 建议:

  • 防火墙只开放必要端口
  • 监控端口是否耗尽

八、文件传输审计(合规)

1️⃣ 上传 / 下载审计

  • 开启 FTP 详细日志
  • 定期分析日志

2️⃣ 文件变化监控(inotify)

inotifywait -m -r -e create,delete,modify /ftpdata

九、告警建议(必须)

指标 告警阈值
FTP 服务 down 立即
登录失败 > 10 次/分钟 立即
并发连接数 > 200 警告
磁盘使用 > 85% 警告
被动端口耗尽 警告

十、总结(推荐组合)

基础监控

  • systemctl + 日志 + ss

安全监控

  • fail2ban + 登录日志

生产环境

  • Zabbix / Prometheus + Grafana
  • 被动端口 + 磁盘 + 连接数

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

  • 你用的是 vsftpd / proftpd / pure-ftpd
  • 公网 / 内网
  • 是否有 合规审计要求

我可以直接给你一套 可落地的监控配置模板

0