Skip to main content
This page describes the v1 version of the Prometheus exporter. If you are just starting with our Prometheus integration, we recommend using our v2 version.
Checkly exposes the following metrics in a Prometheus-compatible format. Each checkly_check metric has the following labels:
  • check_name, the name of your check.
  • check_type, either api or browser.
  • tags, this check’s tags.
You can set key:value tags in your checks/groups and they will be exported as custom labels in Prometheus. For instance the tag env:production will be exposed as a custom label env="production". You can disable this by adding the query param disableTagParsing=true.
The checkly_private_location metrics contain the labels:
  • private_location_name, the name of the private location.
  • private_location_slug_name, the private location’s human readable unique identifier.
  • private_location_id, the private location’s UUID.
If a private location has no check runs for six hours, it will be considered inactive and checkly_private_location metrics won’t be reported for it.
Here is an example:
Notice that:
  • The check for “Email login” is failing.
  • The check for “Customer API” is degraded, but not failing.
  • The checkly_check_status metric has muted and activated labels, reflecting if a check is sending out alerts or is actually running.
  • The checkly_check_result metric has a region label.
  • The private location “Internal CI” has one Checkly Agent connected. From checkly_private_location_queue_size and checkly_private_location_oldest_scheduled_check_run, we see that there’s no backlog of check run jobs.
Activating this integration is simple.
  1. Navigate to the integrations tab on the account screen and click the ‘Create Prometheus endpoint’ button. Prometheus integration step 1
  2. We directly create an endpoint for you and provide its URL and the required Bearer token. Prometheus integration step 2
  3. Create a new job in your Prometheus prometheus.yml config and set up a scraping interval. We recommend an interval between 30 seconds and 60 seconds. Add the URL (divided into metrics_path, scheme and target) and bearer_token. Here is an example
Now restart Prometheus and you should see metrics coming in.
💡 Check out our blog post on using this integration with Prometheus and Grafana for some cool real-life applications.