Menu
Grafana Cloud

HTTP/HTTPS check

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

OptionDescription
EnabledWhether the check is enabled or not.
Job nameRefer to the check name. Check metrics include a job label with the value of this option.
TargetTarget of the check request. Check metrics include an instance label with the value of this option.
Probe locationsThe locations where the check should run from. Check metrics include a probe label with the value of the probe location running the check.
FrequencyThe 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.
TimeoutMaximum 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.

HTTP checks have additional options, which don’t produce any additional labels in the resulting check metrics.

HTTP settings

OptionDescription
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.
Publish full set of metricsWhether 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

OptionDescription
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

OptionDescription
Include bearer authorization header in requestUse bearer authentication.
Include basic authorization header in requestUse basic authentication.

Validation

OptionDescription
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

OptionDescription
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

Checks store their results as Prometheus metrics, including the list of common metrics:

MetricDescription
probe_all_duration_secondsReturns how long the probe took to complete in seconds (histogram).
probe_duration_secondsReturns how long the probe took to complete in seconds.
probe_all_successDisplays whether or not the probe was a success (summary).
probe_successDisplays whether or not the probe was a success.
sm_check_infoProvides information about a single check configuration.

Additionally, HTTP checks produce the following metrics:

MetricDescription
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_failed_due_to_regexIndicates if probe failed due to regular expression.
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 IPv4 or IPv6.
probe_ssl_earliest_cert_expiryReturns last SSL chain expiry in Unix time.
probe_ssl_last_chain_expiry_timestamp_secondsReturns last SSL chain expiry in timestamp.
probe_ssl_last_chain_infoContains SSL leaf certificate information.
probe_tls_version_infoReturns 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.”