What is an FTP Check?
An FTP check connects to your FTP server from Xitoring's global probing nodes and verifies that the service is accepting connections and responding correctly. The check completes a TCP handshake on the FTP port and inspects the welcome banner returned by the server.
Use FTP checks for:
- Public file distribution servers (firmware, mirror sites, software releases)
- Vendor or partner data exchange endpoints
- Legacy automation pipelines that still depend on FTP/FTPS
- SFTP services running on a known port (FTP-style banner check)
What Gets Monitored
- Connection success — TCP handshake on the FTP port (default
21) - Banner / greeting — server responds with the expected welcome message (e.g.,
220 ProFTPD ready) - Response time — time from connection to banner from each probing node
- Geographic availability — service reachable from each region
Prerequisites
- A reachable FTP server with a public IP or hostname
- The FTP port the server listens on (typically
21, sometimes2121) - Firewall rules allowing TCP from Xitoring's probing IP ranges
- For FTPS / implicit-TLS deployments, confirm the port (often
990) and that the banner is readable
How to Set Up an FTP Check
Step 1: Create the Check
- Log in to your Xitoring Dashboard
- Go to Uptime → Add Check
- Select FTP as the check type
Step 2: Configure the Connection
- Enter the hostname or IP (e.g.,
ftp.example.com) - Set the port (default
21) - Optionally, set an expected banner string (e.g.,
220,ProFTPD, or your custom greeting) - Set the check interval (30 seconds to 15 minutes)
- Set the timeout (default: 30 seconds)
Step 3: Choose Probing Nodes
Select at least 3 probing nodes across the regions where your FTP users connect from.
Step 4: Assign Notifications
Under Triggers, attach a notification role.
Step 5: Save and Verify
Save the check. The first probe runs immediately.
Setting Up Triggers
Common alerting rules:
- Connection refused or timed out — FTP daemon down or port blocked
- Banner mismatch — wrong server responding (DNS hijack, misrouted traffic)
- Slow handshake — response time exceeds your threshold
- Confirmed down — failures across multiple probing nodes
Tips
- Monitor on the public-facing port users actually connect to — if you front FTP with a NAT or load balancer, target that, not the backend
- FTP uses passive ports for data transfer — this check validates the control channel only. If data transfer fails but control works, you'll need additional monitoring
- For FTPS (TLS-wrapped FTP) on port
990, treat it as a TCP check or contact support if banner inspection fails - SFTP runs over SSH (port 22) — use a TCP check on port 22 instead, since SFTP banners differ from FTP
- Disable anonymous FTP if you don't need it. The uptime check works either way but exposed anonymous FTP is a security liability