No project description provided
Project description
Status Cake Exporter
:rotating_light: Container images have moved to ghcr.io/chelnak/status-cake-exporter
Status Cake Exporter is a Prometheus exporter for StatusCake.
Metrics are exposed on port 8000 when using the provided examples/manifest.yml](examples/manifest.yml) in Kubernetes, e.g.
http://status-cake-exporter.default.svc:8000
Requirements
- Python 3.10+
- Docker
- Kubernetes (optional)
- Helm 3 (optional)
Usage
Setting | Required | Default |
---|---|---|
HOST | No | https://api.statuscake.com/v1 |
API_KEY | Yes | Null |
TAGS | No | Null |
LOG_LEVEL | No | info |
PORT | No | 8000 |
ITEMS_PER_PAGE | No | 25 |
Docker
The following will expose the exporter at localhost:8000
:
export API_KEY=xxxxxxxx
docker run -d -p 8000:8000 --env API_KEY ghcr.io/chelnak/status-cake-exporter:latest
Kubernetes
To get up and running quickly, use examples/manifest.yml as an example. You will need to create a secret named status-cake-api-token
containing your API_KEY
first.
Otherwise, you can use the Helm Chart provided in chart/status-cake-exporter.
Grafana
To get up and running quickly, use examples/grafana-example.json as an example.
Terminal
Usage: status-cake-exporter [OPTIONS]
Options:
--host TEXT The host of the statuscake api. [env var: HOST;
default: https://api.statuscake.com/v1]
--api-key TEXT API Key for the account. [env var: API_KEY;
required]
--tags TEXT A comma separated list of tags used to filter tests
returned from the api [env var: TAGS]
--log-level TEXT The log level of the application. Value can be one of
{debug, info, warn, error} [env var: LOG_LEVEL;
default: info]
--port INTEGER [env var: PORT; default: 8000]
--items-per-page TEXT The number of items that the api will return on a
page. This is a global option. [env var:
ITEMS_PER_PAGE; default: 25]
--help Show this message and exit
Metrics
Name | Type | Description |
---|---|---|
status_cake_test_info | Gauge | A basic listing of the tests under the current account. |
status_cake_test_uptime_percent | Gauge | Tests and their uptime percentage |
status_cake_test_performance | Gauge | Tests and their performance percentage |
Prometheus
Prometheus config needs to be updated to see the new exported. Use the following scrape config as an example:
scrape_configs:
- job_name: status-cake-exporter
honor_timestamps: true
scrape_interval: 10m
scrape_timeout: 1m
metrics_path: /
scheme: http
static_configs:
- targets:
- status-cake-exporter.default.svc:8000
Grafana
Data collected by Prometheus can be easily surfaced in Grafana.
Using the Statusmap panel by flant you can create a basic status visualization based on uptime percentage:
PromQL
status_cake_test_info * on(test_id) group_right(test_name) status_cake_test_uptime_percent
Development
Tilt
This repository uses Tilt for rapid development on Kubernetes.
To use this, run:
cd chart/status-cake-exporter
tilt up
Tilt will reload your environment when it detects changes to your code.
Note: You will need to provide valid credentials for StatusCake in your Tiltfile
for this to work.
Docker compose
You can use the provided docker-compose.yml
to run the exporter locally.
docker-compose watch
This will start the exporter along with a mocked statuscake api server.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file status_cake_exporter-1.1.0.tar.gz
.
File metadata
- Download URL: status_cake_exporter-1.1.0.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.10.11 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4a0fb2b2921db234f6ad5d14a913affe62a39622e59063c983ffad099095cbf |
|
MD5 | f1e2e8f5cd077a2d1ee7613028960cf8 |
|
BLAKE2b-256 | c842747d17c7ef1ca240f50e30d98a981ffa064124f73c30d00628fd4547ea92 |
File details
Details for the file status_cake_exporter-1.1.0-py3-none-any.whl
.
File metadata
- Download URL: status_cake_exporter-1.1.0-py3-none-any.whl
- Upload date:
- Size: 9.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.10.11 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65840c3f4b0c5a1d6506e87788321bdd933c399c94b20c40ab6e74e2a2cdf974 |
|
MD5 | 9e542c1900e3f5e0956d1a8b2dfeff39 |
|
BLAKE2b-256 | 77ff4f096f1e12da36327ee3ad8c64fae3693c7426ef9c5aaa06457f11e6827f |