The ApppCat SLI Exporter is a Prometheus that automatically detects AppCat services and measures uptime SLIs.
See make help
for a list of build targets.
make build
: Build binary for linux/amd64make build -e GOOS=darwin -e GOARCH=arm64
: Build binary for macos/arm64make docker-build
: Build Docker image for local environment
The exporter exposes a histogram appcat_probes_seconds
with four labels
service
, the service type that was probed (e.g.VSHNPostgreSQL
)namespace
, the namespace of the claim that was monitoredname
, the name of the claim that was monitoredreason
, if the probe was successful. Can either besuccess
,fail-timeout
, orfail-unkown
.
├── config // Kustomize files to deploy the exporter
├── controllers
│ └── vshnpostgresql_controller.go // starts probes for VSHNPostgreSQL claims
├── Dockerfile
├── main.go
├── probes
│ ├── manager.go // manages all started probes and exposes metrics
│ └── postgresql.go // prober implementation for postgresql
├── README.md
└── tools.go
To add a prober for a new service, add a file in probes/
that adds another implementation of the Prober
interface.
There should be a separate controller per AppCat Claim type. Add another controller for each service that should be probed.
If possible SLA exceptions should be implemented as a middleware for the Prober
interface.