HTTP and HTTPS checks are used to test an HTTP/s endpoint, measuring the uptime and response latency. These checks can also be configured for more advanced tests, like if a site is using a specific version of SSL, for SSL certificate expiration, or if HTTP automatically redirects to HTTPS.
You can also use MultiHTTP checks to test multiple URLs in a single check.
Options
The list of common options to all check types:
Common options
Option
Description
Enabled
Whether the check is enabled or not.
Job name
Refer to the check name. Check metrics include a job label with the value of this option.
Target
Target of the check request. Check metrics include an instance label with the value of this option.
Probe locations
The locations where the check should run from. Check metrics include a probe label with the value of the probe location running the check.
Frequency
The frequency the check should run in seconds. The value can range from 60 to 3600 seconds. Only the sm_check_info metric includes the frequency label.
Timeout
Maximum execution time for the check. The value can range from 1 to 60 seconds.
Custom labels
(Optional) Custom labels applied to check metrics. Refer to Custom labels for querying instructions.
The compression algorithm to expect in the response.
Proxy URL
The URL of the proxy used to connect to the target.
Proxy connect headers
Name/value pairs of headers to send to the proxy.
Publish full set of metrics
Whether to publish additional metrics to create histograms (used for Apdex scores or heatmaps). Default is false to reduce the number of active series.
Compression
If you specify a compression algorithm, the body response is required to contain a header matching that value, and the body itself must be compressed using that algorithm. The check will fail if that’s not the case.
TLS config
Option
Description
Disable target certificate validation
Whether to validate the certificate that is presented.
Server name
The server name used during certificate validation.
CA certificate
The certificate for the certificate authority.
Client certificate
The client certificate to present during authentication.
Client key
The corresponding key for the client certificate.
Authentication
Option
Description
Include bearer authorization header in request
Use bearer authentication.
Include basic authorization header in request
Use basic authentication.
Validation
Option
Description
Valid status codes
Status codes considered as valid responses (defaults to 2xx).
Valid HTTP versions
HTTP versions considered as valid responses.
SSL options
Whether to require or reject SSL. Defaults to ignore.
Regex validations
Set of regular expression validations.
For each regular expression validation, you must specify whether to match a header or the body of the response.
In either case, you have to specify a regular expression using Go’s syntax.
The logic of the match can be inverted; normally, the check will fail if the header or body matches the provided regular expression, but with invert match selected, the check will fail if the header or body does not match the provided regular expression. For header matches, you can also specify that a missing header doesn’t cause the check to fail.
Advanced options
Option
Description
IP version
The internet protocol version to use (V4, V6, or any).
Follow redirects
Whether to follow redirects or to stop at the first response.
Cache busting query parameter name
The name of the parameter appended to the URL to prevent caching.
Metrics
Checks store their results as Prometheus metrics, including the list of common metrics:
Metric
Description
probe_all_duration_seconds
Returns how long the probe took to complete in seconds (histogram).
probe_duration_seconds
Returns how long the probe took to complete in seconds.
probe_all_success
Displays whether or not the probe was a success (summary).
probe_success
Displays whether or not the probe was a success.
sm_check_info
Provides information about a single check configuration.
Additionally, HTTP checks produce the following metrics:
Metric
Description
probe_dns_lookup_all_time_seconds
Returns the time taken for probe DNS lookup in seconds (histogram).
probe_dns_lookup_time_seconds
Returns the time taken for probe DNS lookup in seconds.
probe_failed_due_to_regex
Indicates if probe failed due to regular expression.
probe_http_all_duration_seconds
Duration of HTTP request by phase, summed over all redirects (histogram).
probe_http_content_length
Length of HTTP content response.
probe_http_duration_seconds
Duration of HTTP request by phase, summed over all redirects.
probe_http_redirects
The number of redirects.
probe_http_ssl
Indicates if SSL was used for the final redirect.
probe_http_status_code
Response HTTP status code.
probe_http_uncompressed_body_length
Length of uncompressed response body.
probe_http_version
Returns the version of HTTP of the probe response.
probe_ip_addr_hash
Specifies the hash of the IP address. It’s useful to detect if the IP address changes.
probe_ip_protocol
Specifies whether probe IP protocol is IPv4 or IPv6.
probe_ssl_earliest_cert_expiry
Returns last SSL chain expiry in Unix time.
probe_ssl_last_chain_expiry_timestamp_seconds
Returns last SSL chain expiry in timestamp.
probe_ssl_last_chain_info
Contains SSL leaf certificate information.
probe_tls_version_info
Returns the TLS version used or NaN when unknown.
Limitations
The request body size for HTTP and HTTPS checks is limited to 64KB. Checks that exceed this limitation return the error message “Something went wrong running the check, unexpected EOF.”