Check types
Synthetic Monitoring checks are tests that run on selected public or private probes at frequent intervals to continuously verify your systems.
Checks save results as Prometheus metrics and Loki logs, enabling the configuration of Grafana alerts for custom notifications and incident management.
Synthetic Monitoring supports various check types with distinct capabilities.
DNS checks ensures a domain name server resolves and measures the average time for the resolution to happen. They can be set up to validate against a specific DNS server and check for a specific kind of response.
HTTP checks are used to test an HTTP 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.
k6 browser checks execute a k6 test that controls a headless browser. They can be used to continuously validate web-based user flows, or monitor website performance with Web Vitals metrics.
k6 scripted checks can execute k6 tests to monitor transactions and user flows, implementing workflows and validations in JavaScript.
MultiHTTP checks are like HTTP checks but you can test multiple URLs in a single check. You can also use the results of one request in a later one and make several assertions for each request.
Ping checks are the simplest check that can test whether an endpoint is available. Target servers must be configured to reply to ICMP echo requests and measure the response latency.
TCP checks connects to an endpoint on a given hostname or IP address and a port. This ensures a server accepts the connection and measures response latency and uptime.
Traceroute checks runs a traceroute from probes to targets. You can visualize the path of a request and get more detailed information about how that path is changing over time.
With Grafana Play, you can explore and see how it works, learning from practical examples to accelerate your development. This feature can be seen on Synthetic Monitoring Checks.
Common options
Each check type has specific options. The following is a list of options common to all check types.
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. |
Note
Check identifier: all checks include theJob name
andTarget
options, which together uniquely identify the check.
Common check metrics
Checks collect the results of the execution and save them as Prometheus metrics.
Each check type produces specific Prometheus metrics with their results. The following is a list of metrics common to all check types.
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. |
For the list of additional metrics, refer to the metrics documentation for each check type: DNS metrics, HTTP metrics, k6 browser metrics, k6 scripted metrics, MultiHTTP metrics, Ping metrics, TCP metrics, and Traceroute metrics.
Metric labels
In Prometheus, labels adds additional context to the metrics, and can be used for querying and visualizations.
Some check options include specific labels to the resulting metrics to provide additional information.
Option | Label | Metrics |
---|---|---|
Job name | Include a job label with the value of this option. | All metrics |
Target | Include an instance label with the value of this option. | All metrics |
Probe locations | Include a probe label with the value of the probe location running the check. | All check metrics |
Frequency | Include a frequency label with the value of this option. | sm_check_info |
Custom labels | (Optional) Include your custom labels. Refer to Custom labels for querying instructions. | All check metrics |
Note that each unique metric name and label set create a new time series.