Monitor Oso Fallback

We recommend monitoring host-level metrics, including CPU, memory, and disk utilization to determine how to size your Oso Fallback nodes and assess when additional nodes are needed. Each Oso Fallback node also exports Prometheus metrics to communicate the recency of the rules and data as well as the usage of Oso Fallback.

Health checks

Each Oso Fallback node exposes a health check endpoint on /healthcheck. This endpoint only returns with 200 OK if a valid copy of rules and data has been loaded and thus the node is ready to respond to authorization queries.

Oso Fallback metrics

Metrics are available on the /metrics endpoint.

  • oso_fallback_snapshot_age_ms This metric represents the age of the rules and data used by the Oso Fallback node, expressed in milliseconds. We strive to make an updated copy available every 30 minutes. A higher age would result in queries against the Oso Fallback node operating on staler data.


    oso_fallback_snapshot_age_ms 624611

  • oso_fallback_http_requests This metric is a histogram of the HTTP response latencies that have been processed by the Oso Fallback node. It is useful to understand the usage of the Oso Fallback node and the latencies of the responses.


    oso_fallback_http_requests_bucket{path="/api/authorize",status_code="200",le="0.005"} 119
    oso_fallback_http_requests_bucket{path="/api/authorize",status_code="200",le="0.01"} 119
    oso_fallback_http_requests_bucket{path="/api/authorize",status_code="200",le="0.025"} 119
    oso_fallback_http_requests_bucket{path="/api/authorize",status_code="200",le="0.05"} 119
    oso_fallback_http_requests_bucket{path="/api/authorize",status_code="200",le="0.1"} 119
    oso_fallback_http_requests_bucket{path="/api/authorize",status_code="200",le="0.25"} 119
    oso_fallback_http_requests_bucket{path="/api/authorize",status_code="200",le="0.5"} 119
    oso_fallback_http_requests_bucket{path="/api/authorize",status_code="200",le="1"} 119
    oso_fallback_http_requests_bucket{path="/api/authorize",status_code="200",le="2.5"} 119
    oso_fallback_http_requests_bucket{path="/api/authorize",status_code="200",le="5"} 119
    oso_fallback_http_requests_bucket{path="/api/authorize",status_code="200",le="10"} 119
    oso_fallback_http_requests_bucket{path="/api/authorize",status_code="200",le="+Inf"} 119