温馨提示×

如何监控CentOS FTPServer状态

小樊
37
2026-08-04 03:52:54
栏目: 智能运维

在 CentOS 上监控 FTPServer(通常是 vsftpd) 的状态,可以从 服务状态、端口监听、连接情况、日志、性能 等多个方面进行。下面给你一套常用且实用的监控方案。


一、确认 FTPServer 类型

CentOS 上最常见的 FTP 服务是 vsftpd,先确认:

rpm -qa | grep vsftpd

which vsftpd

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

1️⃣ 查看服务是否运行

systemctl status vsftpd

✅ 正常运行应显示:

Active: active (running)

2️⃣ 启动 / 重启 / 开机自启

systemctl start vsftpd
systemctl restart vsftpd
systemctl enable vsftpd

三、监控端口监听状态(FTP / FTPS)

1️⃣ 查看 FTP 端口(默认 21)

ss -lntp | grep :21

netstat -lntp | grep :21

✅ 正常应看到 vsftpd 监听

2️⃣ FTPS(显式/隐式 SSL)

如果是 FTPS,可能还会使用:

  • 990(隐式 SSL)
  • 989(数据通道)
ss -lntp | grep -E '21|989|990'

四、监控当前 FTP 连接数

1️⃣ 查看当前连接

ss -anp | grep vsftpd

netstat -anp | grep vsftpd

2️⃣ 统计连接数

ss -an | grep :21 | wc -l

3️⃣ 查看登录用户

who

ps -ef | grep vsftpd

五、监控 FTP 登录与传输日志(非常重要)

1️⃣ vsftpd 日志位置

常见路径:

/var/log/vsftpd.log

查看实时日志:

tail -f /var/log/vsftpd.log

2️⃣ 常见日志内容

  • 登录成功 / 失败
  • 上传 / 下载
  • 连接断开

示例:

CONNECT: Client "192.168.1.10"
OK LOGIN: Client "192.168.1.10"
FAIL LOGIN: Client "192.168.1.10"

六、监控 FTPS(SSL/TLS)是否正常工作

1️⃣ 检查 SSL 配置

grep -E 'ssl|tls' /etc/vsftpd/vsftpd.conf

常见配置:

ssl_enable=YES
force_local_logins_ssl=YES
force_local_data_ssl=YES
rsa_cert_file=/etc/ssl/certs/vsftpd.pem

2️⃣ 测试 FTPS 端口

openssl s_client -connect localhost:21 -starttls ftp

或(隐式 SSL):

openssl s_client -connect localhost:990

七、系统级监控(推荐)

1️⃣ CPU / 内存 / IO

top
htop
iostat -x 1

2️⃣ 网络流量

iftop
nload

八、自动化监控(生产环境推荐)

✅ 使用 Zabbix / Prometheus

可监控:

  • vsftpd 服务状态
  • 端口存活
  • 连接数
  • 登录失败次数
  • 日志关键字告警

九、简单监控脚本示例(Shell)

#!/bin/bash

if systemctl is-active vsftpd >/dev/null ; then
    echo "vsftpd is running"
else
    echo "vsftpd is DOWN"
fi

可加入 cron 定时执行。


十、常见问题排查

问题 排查命令
FTP 连不上 `ss -lntp
登录失败 tail -f /var/log/vsftpd.log
SSL 失败 openssl s_client -connect
被动模式失败 检查防火墙 & pasv 配置

如果你愿意,我可以:

  • ✅ 给你 vsftpd.conf 推荐配置
  • ✅ 帮你写 Zabbix / Prometheus 监控规则
  • ✅ 针对 FTPS + 防火墙 + SELinux 做完整排查方案

只要告诉我你的 CentOS 版本 + 是否使用 FTPS 即可。

0