The Availability Test feature needs to be enabled for each account. If you want to use this feature but don't see it in the Synthetic Classic Portal, please contact your account manager.
What is an Availability test?
Availability testing tells you whether your web application is up or down. The simple protocol-based tests provide a measure of up-time for your application.
Currently, the HTTP test type is implemented. Other test types may be added in future releases.
An HTTP test makes an HTTP call to the server to show whether the target URL responds with a valid return code. Besides testing web pages, you can test simple single-step REST and web services.
Availability tests are available to all Synthetic Classic users, with no special activation required.
HTTP test features
Availability tests can run from any Backbone nodes. The tests don't require scripting or recording; they're defined through the Tests page in the Synthetic Classic Portal, or through the [Availability Test API]. You can use the API to create or manage multiple tests at the same time.
An Availability test supports a single request. In the test settings, you can add custom headers for user-agent, cookies, etc. You can also configure optional pass/fail criteria such as validation text and response time threshold.
Availability tests consume fewer XF points than Performance (Backbone, Last Mile, Private Last Mile, Mobile) tests. They can be scheduled to run as frequently as once every minute.
- Availability tests can't be used in interactive charts, operations dashboards, or Performance dashboards.
- In this release, Availability tests can't be configured to run on Software Private Agents.
Viewing and analyzing Availability tests
You can view Availability test data in these Portal pages for data monitoring and analysis:
- Custom dashboards
- Operational summary
- Test overview
- Trend details chart
- Raw scatter chart
- Error analysis
- Http summary
Availability test alerts are listed in the Alert logs, from which you can drill down from an Availability test alert to the Test overview page.
Error codes returned by Availability tests
The error codes listed below that are greater than 999 are specific to Availability tests.
- 400 to 999 – HTTP status error codes.
- 1000 to 1999 – Validation failed.
- 1010 – Content validation failed. The content of a test did not meet a validation rule configured for the test.
- 1011 – Time validation failed. A test took longer than the configured threshold, or longer than the built-in timeout of 30 seconds.
- 1012 – Size validation failed. A test was larger (downloaded more bytes) than it should be.
- 2000+ – Reviewing the error message may help resolve the issue; otherwise, contact Support and provide the error number in your help request.
- 2001 – The URL you passed used a protocol that is not supported.
- 2002 – Very early initialization code failed. This is likely to be an internal error or problem, or a resource problem where something fundamental couldn't get done at
- 2003 – The URL wasn't properly formatted.
- 2004 – A requested feature, protocol, or option was not found.
- 2005 – Couldn't resolve proxy. The given proxy host could not be resolved.
- 2006 – Couldn't resolve host. The given remote host was not resolved.
- 2007 – Failed to
connect()to host or proxy.
- 2008 – The server sent data that the engine couldn't parse.
- 2009 – We were denied access to the resource given in the URL. For FTP, this occurs while trying to change to the remote directory.
- 2010 – While waiting for the server to connect back when an active FTP session is used, an error code was sent over the control connection or similar.
- 2011 – After having sent the FTP password to the server,
libcurlexpects a proper reply. This error code indicates that an unexpected code was returned.
- 2012 – During an active FTP session while waiting for the server to connect, the timeout expired.
- 2013 – The engine failed to get a sensible result back from the server as a response to either a
EPSVcommand. The server is flawed.
- 2014 – FTP servers return a 227-line as a response to a
libcurlfails to parse that line, this return code is passed back.
- 2015 – An internal failure to look up the host used for the new connection occurred.
- 2016 – A problem was detected in the HTTP2 framing layer. This is somewhat generic and can be one of several problems. See the error buffer for details.
- 2017 – Received an error when trying to set the transfer mode to binary or ASCII.
- 2018 – A file transfer was shorter or larger than expected. This happens when the server first reports an expected transfer size, and then delivers data that doesn't match the previously given size.
- 2019 – This was either a weird reply to a
RETRcommand or a zero byte transfer complete.
- 2021 – When sending custom
"QUOTE"commands to the remote server, one of the commands returned an error code that was 400 or higher (for FTP), or that otherwise indicated unsuccessful completion of the command.
- 2023 – An error occurred when writing received data to a local file, or an error was returned to the engine from a
- 2025 – Failure when starting the upload. For FTP, the server typically denied the
STORcommand. The error buffer usually contains the server's explanation for this.
- 2026 – There was a problem reading a local file or an error returned by the
- 2027 – A memory allocation request failed.
- 2028 – Operation timeout. The specified timeout period was reached according to the conditions.
- 2030 – The FTP
PORTcommand returned error.
- 2031 – The FTP
RESTcommand returned error. This should never happen if the server is sane.
- 2033 – The server does not support or accept range requests.
- 2034 – This is an odd error that mainly occurs because of internal confusion.
- 2035 – A problem occurred somewhere in the SSL/TLS handshake. Check the error buffer and read the message there; it should pinpoint the problem slightly more. It could be certificates (file formats, paths, permissions), passwords, or other.
- 2036 – The download could not be resumed because the specified offset was out of the file boundary.
- 2037 – A file given with
FILE://couldn't be opened. Most likely this is because the file path doesn't identify an existing file. Check file permissions.
- 2038 – LDAP cannot bind. The LDAP bind operation failed.
- 2039 – LDAP search failed.
- 2041 – Function not found. A required
zlibfunction was not found.
- 2042 – Aborted by callback. A callback returned "abort".
- 2043 – Internal error. A function was called with a bad parameter.
- 2045 – Interface error. A specified outgoing interface could not be used.
- 2047 – Too many redirects. When following redirects, the engine hit the maximum amount.
- 2048 – An option passed to the engine is not recognized/known. Contact Support for assistance.
- 2049 – A telnet option string was illegally formatted.
- 2051 – The remote server's SSL certificate or SSH md5 fingerprint was deemed not OK.
- 2052 – Nothing was returned from the server, and under the circumstances, getting nothing is considered an error.
- 2053 – The specified crypto engine wasn't found.
- 2054 – Failed setting the selected SSL crypto engine as default.
- 2055 – Failed sending network data.
- 2056 – Failed receiving network data.
- 2058 – Problem with the local client certificate.
- 2059 – Couldn't use specified cipher.
- 2060 – Peer certificate cannot be authenticated with known CA certificates.
- 2061 – Unrecognized transfer encoding.
- 2062 – Invalid LDAP URL.
- 2063 – Maximum file size exceeded.
- 2064 – Requested FTP SSL level failed.
- 2065 – When doing a send operation, cURL had to rewind the data to retransmit, but the rewinding operation failed.
- 2066 – Initiating the SSL engine failed.
- 2067 – The remote server denied
- 2068 – File not found on TFTP server.
- 2069 – Permission problem on TFTP server.
- 2070 – Out of disk space on the server.
- 2071 – Illegal TFTP operation.
- 2072 – Unknown TFTP transfer ID.
- 2073 – File already exists and will not be overwritten.
- 2074 – This error should never be returned by a properly functioning TFTP server.
- 2075 – Character conversion failed.
- 2076 – Caller must register conversion callbacks.
- 2077 – Problem with reading the SSL CA certificate (possible path or access rights).
- 2078 – The resource referenced in the URL does not exist.
- 2079 – An unspecified error occurred during the SSH session.
- 2080 – Failed to shut down the SSL connection.
- 2081 – Socket is not ready for send/receive. Wait until it's ready and try again.
- 2082 – Failed to load CRL file.
- 2083 – Issuer check failed.
- 2084 – The FTP server does not understand the
PRETcommand at all or does not support the given argument.
- 2085 – Mismatch of RTSP CSeq numbers.
- 2086 – Mismatch of RTSP Session Identifiers.
- 2087 – Unable to parse FTP file list (during FTP wildcard downloading).
- 2088 – Chunk callback reported error.
- 2090 – Failed to match the pinned key specified
- 2091 – Status returned failure when asked.
- 2092 – Stream error in the HTTP/2 framing layer.
- 2093 – An API function was called from inside a callback.