CentOS 上 VSFTP 性能监控方法
一 监控目标与关键指标
二 命令行即时监控
systemctl status vsftpd;实时看日志:journalctl -u vsftpd -f。ss -ltnp | grep :21;被动端口范围(需在 /etc/vsftpd/vsftpd.conf 中配置 pasv_min_port/pasv_max_port)应同样处于监听状态:ss -ltnp | egrep ':(pasv_min_port|pasv_max_port)'。ss -tnp sport = :21 or dport = :21;按源 IP 聚合:ss -tnp sport = :21 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head。vmstat 1、free -h、iostat -x 1(关注 %util、await、rMB/s、wMB/s)。top -p $(pgrep vsftpd);按进程看磁盘:iotop -oP(需 root)。iftop -i eth0(按接口观察);按连接细化可用 nethogs(需安装)。tail -f /var/log/secure | egrep 'vsftpd|pam',关注 Failed、refused 等关键字。三 日志与吞吐量观测
xferlog_enable=YES),可通过 tail -f /var/log/vsftpd.log 观察传输完成事件;结合系统时间窗口用 sar -n DEV 1 或 iftop 对比网卡吞吐,侧面验证实际传输速率。dd/curl 发起测试传输,并用 iostat -x 1 观察磁盘吞吐是否同步提升,以区分网络与磁盘瓶颈:dd if=/dev/zero of=/var/ftp/testfile bs=1M count=100 oflag=direct;或 curl -T localfile ftp://user:pass@host/ --ftp-pasv。pasv_address/pasv_min_port/pasv_max_port 配置。四 可视化与长期监控
ss/iostat/iftop 输出作为监控项。vsftpd 相关指标(如连接数、被动端口占用数),在 Grafana 做趋势与阈值可视化。五 关键配置与容量阈值建议
/etc/vsftpd/vsftpd.conf 中合理设置:max_clients(最大并发连接数)、max_per_ip(单 IP 最大连接数)、local_max_rate/anon_max_rate(单用户带宽上限,单位字节/秒),避免单一用户或单 IP 占满资源。pasv_min_port/pasv_max_port(如 30000-30009),并在防火墙放行对应端口范围,保证数据通道可用:firewall-cmd --permanent --add-port=21/tcp --add-port=30000-30009/tcp && firewall-cmd --reload。%util 持续高于 80% 需关注 I/O 瓶颈;内存 Swap 使用率长期高于 20% 需警惕内存不足;文件系统 Use% 超过 85% 可能影响写入与性能。