Skip to content

Metrics Endpoint

The API exposes a Prometheus-compatible metrics endpoint at GET /metrics when enabled.

See Evironment Variables

Terminal window
export METRICS_ENABLED=true
Terminal window
curl http://localhost:3000/metrics

The endpoint returns metrics in Prometheus text format. Both default Node.js/fastify metrics and custom application metrics are exposed.

MetricTypeLabelsDescription
tls_check_totalCounterstatus, validTotal TLS/SSL certificate checks performed
tls_check_duration_seconds_totalCounter-Total time spent performing TLS checks
revocation_check_totalCounterstatus, sourceTotal revocation checks performed
http_response_status_totalCounterstatus_code, routeHTTP responses by status code and route
  • tls_check_total: status (success/error), valid (true/false)
  • revocation_check_total: status (good/revoked/unknown/error), source (ocsp/crl)
  • http_response_status_total: status_code (200/400/429/502), route (/api/check)

fastify-metrics also exposes standard Node.js and Fastify metrics:

MetricDescription
process_cpu_seconds_totalCPU time spent
process_resident_memory_bytesMemory usage
nodejs_eventloop_lag_secondsEvent loop lag
nodejs_gc_duration_secondsGarbage collection time
http_request_duration_secondsRequest duration histogram
http_request_summary_secondsRequest duration summary

Add to your prometheus.yml:

scrape_configs:
- job_name: 'tlscheck-api'
static_configs:
- targets: ['api:3000']

Import the Node.js / Prometheus dashboard for additional visualizations.