Verify that FTP servers are reachable and accepting connections. Cloudmon tests FTP availability and connection response time at every polling interval from a configured probe, alerting your team the moment a transfer endpoint becomes unreachable or slow.
FTP Transfer monitoring in Cloudmon actively tests whether an FTP server is reachable and accepting connections at every polling interval. This covers scenarios that standard host or port availability monitoring cannot fully address. An FTP server may appear reachable on TCP port 21 but fail authentication, reject data connections, or time out during the control channel negotiation. Cloudmon's FTP monitor performs a full connection test and records whether the connection succeeded and how long it took. Beyond basic connectivity, the monitor can also be configured to validate the server's reply code and to perform an actual test upload or download, confirming that file transfers themselves are working, not just the control connection.
FTP monitoring is most relevant for environments that depend on scheduled file transfers, such as backups to a remote FTP host, EDI file exchanges, data pipeline ingestion from SFTP or FTP endpoints, or customer file delivery workflows. A silent FTP failure can go undetected for hours until a downstream process fails because the expected files never arrived. Proactive monitoring detects the failure at the next polling interval, before any downstream impact.
Navigate to Synthetic → FTP Transfer to view all configured FTP monitors.
Navigate to Synthetic → FTP Transfer and click the + button. The Add/Edit panel is organized into five sections: Monitor Details, Advanced Details, Transfer Options, Configuration Details, and Alert Settings.
Monitor Details: basic details and connection settings for the FTP monitor.
| Field | Description |
| Probe* | The Cloudmon probe that will initiate the FTP connection test. Choose a probe with network access to the FTP server. For external FTP servers, use a probe with internet access. For internal servers, use a probe in the same network segment. |
| Display Name* | A descriptive label for this FTP monitor, such as "FTP - Backup Server". |
| Hostname/IP Address* | The IP address or fully qualified domain name of the FTP server to monitor. |
| Protocol* | The transfer protocol to use for this monitor, such as FTP. |
| Port | The FTP control port. Default is 21. Change this only if the FTP server is configured on a non-standard port. |
| Remote Path | The directory on the FTP server to use for the check, such as for an upload or download test. Default is the root directory ("/"). |
| Username | The FTP account username. For anonymous FTP servers, enter anonymous. |
| Password | The FTP account password. For anonymous FTP servers, this field can be left blank or set to any value. |
| Request Mode | The FTP data connection mode, Active or Passive. Passive mode is the default and is generally more firewall-friendly, since the client initiates both the control and data connections. Use Active mode only if the server specifically requires it. |
Advanced Details: timeouts, reply codes, and thresholds.
| Field | Description |
| Timeout (ms) | Maximum time in milliseconds to wait for the FTP server to respond before marking the check as failed. |
| Target Response Time (ms) | A response time threshold in milliseconds used to evaluate connection performance. Responses slower than this value can be flagged as degraded, separately from an outright connection failure. |
| Desired Reply Code | The FTP server reply code expected to indicate a successful check. Default is "226 - Transfer complete", the standard success code for a completed file transfer. Choose a different code if your server returns a different success response for the configured check. |
Transfer Options: upload/download checks, file integrity, and sizes.
| Field | Description |
| Check Upload | When enabled, Cloudmon performs a test file upload to the Remote Path as part of the check, verifying write access in addition to basic connectivity. |
| Check Download | When enabled, Cloudmon performs a test file download from the Remote Path as part of the check, verifying read access and data channel connectivity. |
Configuration Details: interval, group assignments, dependencies, and tags.
| Field | Description |
| Interval* | The polling and reporting interval for this monitor. |
| Groups | Optional groups this monitor should belong to, making it easier to organize related monitors and apply common settings across all of them at once. |
| Depends On | An optional parent monitor this monitor depends on. If the parent is unavailable, alerts for this monitor are suppressed, reducing notification noise during related outages. |
| Tags | Optional labels for grouping and filtering this monitor in dashboards and reports. |
Alert Settings: configure thresholds and notification settings.
| Field | Description |
| Alarm Rule | Select an alarm rule to apply to this FTP monitor from the existing alarm rules configured under Settings → Configurations → Alarm Rules. |
| User Groups | The user groups that should be notified when an alarm is raised for this monitor. |
| Third-Party Integrations | Third-party integrations (such as Slack, Teams, or ITSM tools) to notify when an alarm is raised for this monitor. User Groups and Third-Party Integrations set here at the monitor level are automatically inherited by the attached alarm rule. |
Click Save. Cloudmon begins testing the FTP endpoint at the configured interval immediately.
For each FTP monitor, Cloudmon tracks the following metrics, visible in the Metrics tab of the monitor detail page:
| Metric | Description |
| Availability | Percentage of polling intervals in which the FTP connection succeeded. A value below 100% indicates a connection failure occurred at that interval. |
| Downtime | Total duration during which the FTP endpoint was unreachable or returned a connection failure. |
| Transfer Speed (kbps) | The data transfer rate measured during the check, in kilobits per second. A sustained drop in transfer speed can indicate network congestion on the data channel or storage I/O pressure on the server. |
| Connection Time (ms) | Time in milliseconds to establish the TCP connection to the FTP server. Rising connection time indicates network latency or server-side load affecting the initial handshake. |
| Request Time (ms) | Time in milliseconds taken to complete the FTP control channel exchange, including authentication and command processing, after the connection is established. |
| Total Time (ms) | End-to-end time in milliseconds for the complete FTP check, from the initial TCP connection through to transfer completion. This is the primary performance indicator for the overall health of the FTP endpoint. |
| Bytes Transferred (bytes) | The volume of data transferred during the check. Relevant when Check Upload or Check Download is enabled; an unexpected drop in bytes transferred can indicate a partial transfer failure even when the connection itself succeeds. |
| Response Code | The FTP reply code returned by the server at the end of the check. Cloudmon compares this against the Desired Reply Code configured under Advanced Details and marks the check as failed if they do not match. |
The monitor detail page shows the current status alongside metric charts over the selected time window. The Outages tab lists all recorded downtime periods with start time, end time, and duration.
Alarm rule profiles for FTP monitors, covering metrics such as Availability and Response Time, are created under Settings → Configurations → Alarm Rules. Learn more.
To apply an alarm rule to a specific FTP monitor, open the monitor's Edit panel and select the desired profile from the Alarm Rule field under Alert Settings. From the same section, you can also assign the User Groups and Third-Party Integrations that should be notified. These are inherited automatically by the attached alarm rule, so the notification routing only needs to be set once per monitor.
| Issue | What to check |
| FTP monitor shows as down but the server is running | Confirm that port 21 (or the configured port) is open from the probe to the FTP server. FTP also requires data channel ports; in passive mode these are negotiated dynamically, and a firewall between the probe and server may block them. Test manually from the probe host using an FTP client to confirm connectivity and authentication. |
| Connection fails after an otherwise successful period | Check whether the FTP account credentials have expired or the password has been rotated. FTP authentication failures appear as connection failures in Cloudmon. Update the credentials in Monitor Details and verify the account is not locked. |
| Response time is consistently high | High FTP connection time indicates either network congestion on the path between the probe and the server, or server-side resource pressure: high CPU, disk I/O saturation, or a large number of concurrent FTP sessions exhausting the server's connection limit. |
| Monitor shows intermittent failures at consistent times | Correlate the failure timestamps with scheduled jobs on the FTP server. A batch process running at the same time may be saturating the server's connection pool or consuming all available disk I/O, causing the monitoring probe's connection to time out. Review the Outages tab timestamps and compare with the server's scheduled task log. |
| Monitor reports failure despite a successful login | Check the Desired Reply Code under Advanced Details against what the server actually returns for the configured operation. Some servers return different success codes for an upload, a download, or a directory listing, so the expected code must match the specific check being performed. |
| Check Upload or Check Download fails even though the connection succeeds | Verify the FTP account has write or read permissions on the configured Remote Path. For Check Upload, also confirm the server has sufficient disk space and that the account is not over a storage quota. For Check Download, confirm a readable file exists in the Remote Path for the probe to retrieve. |