Skip to main content

Monitoring

All backend components of the status page can be instrumented to supply metrics. These metrics can be collected and visualized by monitoring technologies like Prometheus and Grafana.

Endpoints

The services expose their metrics endpoints on different ports.

ServicePort (Name)Endpoint
api-db9187 (metrics)/metrics
api9000 (metrics)/metrics
dex5558 (telemetry)/metrics
oathkeeper9000 (metrics)/metrics

Dashboards

To visualize the supplied metrics, some dashboards are needed.

For the used database and exporter the PostgreSQL Database dashboard is recommended.

Go runtime metrics can be visualized by the Go Metrics dashboard.

Hand crafted dashboard for Dex, Oathkeeper and the status-page-api are located at kubernetes/feature/monitoring/grafana/dashboards and have according prefixes.

KinD

The KinD deployment deploys Grafana and Prometheus pods and sets up the data source and dashboards, to work with the rest of the deployment out of the box.

The Grafana frontend can be accessed by port forwarding the reverse proxy:

kubectl --context kind-status-page -n status-page port-forward pods/status-page-reverse-proxy-78d588d58b-7rdn6 8080:8080

Afterwards Grafana can be accessed by navigating to monitoring.localhost:8080. Use the username admin and password s3cr3t.