pingdom-exporter
pingdom-exporter copied to clipboard
An exporter for Prometheus that collects metrics from Pingdom.
Pingdom Metrics Exporter for Prometheus
Prometheus exporter for uptime metrics exposed by the Pingdom API.
Running
Make sure you expose the Pingdom API Token via the PINGDOM_API_TOKEN
environment variable:
# Expose the Pingdom API Token
export PINGDOM_API_TOKEN=<api-token>
# Run the binary with the default options
bin/pingdom-exporter
Usage
bin/pingdom-exporter -h
Usage of bin/pingdom-exporter:
-default-uptime-slo float
default uptime SLO to be used when the check doesn't provide a uptime SLO tag (i.e. uptime_slo_999 to 99.9% uptime SLO) (default 99)
-metrics-path string
path under which to expose metrics (default "/metrics")
-outage-check-period int
time (in days) in which to retrieve outage data from the Pingdom API (default 7)
-port int
port to listen on (default 9158)
-tags string
tag list separated by commas
Supported Pingdom Tags
uptime_slo_xxx
This will instruct pingdom-exporter to use a custom SLO for the given check instead of the default one of 99%. Some tag examples and their corresponding SLOs:
-
uptime_slo_99
- 99%, same as default -
uptime_slo_995
- 99.5% -
uptime_slo_999
- 99.9%
pingdom_exporter_ignored
Checks with this tag won't have their metrics exported. Use this when you don't want to disable some check just to have it excluded from the pingdom-exporter metrics.
You can also set the -tags
flag to only return metrics for checks that contain
the given tags.
Docker Image
We no longer provide a public Docker image. See the Development section on how to build your own image and push it to your private registry.
Exported Metrics
Metric Name | Description |
---|---|
pingdom_up |
Was the last query on Pingdom API successful |
pingdom_rate_limit_remaining_requests |
The remaining requests allowed before hitting the short-term or long-term rate limit in the Pingdom API. |
pingdom_uptime_status |
The current status of the check (1: up, 0: down) |
pingdom_uptime_response_time_seconds |
The response time of last test, in seconds |
pingdom_slo_period_seconds |
Outage check period, in seconds (see -outage-check-period flag) |
pingdom_outages_total |
Number of outages within the outage check period |
pingdom_down_seconds |
Total down time within the outage check period, in seconds |
pingdom_up_seconds |
Total up time within the outage check period, in seconds |
pingdom_uptime_slo_error_budget_total_seconds |
Maximum number of allowed downtime, in seconds, according to the uptime SLO |
pingdom_uptime_slo_error_budget_available_seconds |
Number of seconds of downtime we can still have without breaking the uptime SLO |
Development
All relevant commands are exposed via Makefile targets:
# Build the binary
make
# Run the tests
make test
# Check linting rules
make lint
# Build Docker image
make image
# Push Docker images to registry
make publish