Menu
Grafana Cloud

HTTP and HTTPS

HTTP and HTTPS checks are used to test websites. Uptime and response latency are measured like other check types. 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 the MultiHTTP check type to test multiple URLs in a single check.

Options

HTTP checks have the following additional settings:

HTTP settings

Option nameDescription
Request methodThe HTTP method the probe will use.
Request bodyThe body of the HTTP request.
Request headersThe headers to send with the request.
Compression algorithmThe compression algorithm to expect in the response.
Proxy URLThe URL of the proxy used to connect to the target.
Proxy connect headersName/value pairs of headers to send to the proxy.

These configuration options don’t produce any additional labels in the resulting metrics.

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 nameDescription
Disable target certificate validationWhether to validate the certificate that is presented.
Server nameThe server name used during certificate validation.
CA certificateThe certificate for the certificate authority.
Client certificateThe client certificate to present during authentication.
Client keyThe corresponding key for the client certificate.

Authentication

Option nameDescription
Include bearer authorization header in requestUse bearer authentication.
Include basic authorization header in requestUse basic authentication.

Validation

Option nameDescription
Valid status codesStatus codes considered as valid responses (defaults to 2xx).
Valid HTTP versionsHTTP versions considered as valid responses.
SSL optionsWhether to require or reject SSL. Defaults to ignore.
Regex validationsSet 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 nameDescription
IP versionThe internet protocol version to use (V4, V6, or any).
Follow redirectsWhether to follow redirects or to stop at the first response.
Cache busting query parameter nameThe name of the parameter appended to the URL to prevent caching.

Metrics

Metric nameDescription
probe_all_duration_secondsReturns how long the probe took to complete in seconds (histogram).
probe_all_successDisplays whether or not the probe was a success (summary).
probe_dns_lookup_all_time_secondsReturns the time taken for probe dns lookup in seconds (histogram).
probe_dns_lookup_time_secondsReturns the time taken for probe dns lookup in seconds.
probe_duration_secondsReturns how long the probe took to complete in seconds.
probe_failed_due_to_regexIndicates if probe failed due to regex.
probe_http_all_duration_secondsDuration of HTTP request by phase, summed over all redirects (histogram).
probe_http_content_lengthLength of HTTP content response.
probe_http_duration_secondsDuration of HTTP request by phase, summed over all redirects.
probe_http_redirectsThe number of redirects.
probe_http_sslIndicates if SSL was used for the final redirect.
probe_http_status_codeResponse HTTP status code.
probe_http_uncompressed_body_lengthLength of uncompressed response body.
probe_http_versionReturns the version of HTTP of the probe response.
probe_ip_addr_hashSpecifies the hash of the IP address. It’s useful to detect if the IP address changes.
probe_ip_protocolSpecifies whether probe ip protocol is IP4 or IP6.
probe_ssl_earliest_cert_expiryReturns last SSL chain expiry in unixtime.
probe_ssl_last_chain_expiry_timestamp_secondsReturns last SSL chain expiry in timestamp.
probe_ssl_last_chain_infoContains SSL leaf certificate information.
probe_successDisplays whether or not the probe was a success.
probe_tls_version_infoReturns the TLS version used or NaN when unknown.
sm_check_infoProvides information about a single check configuration.

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.”