Skip to content

Prometheus metrics

Availability All editions — Community and up.

The controller exposes Prometheus metrics at /metrics for monitoring sessions, proxy health, auth and integrations.

/metrics is off until you set TESSERA_METRICS_TOKEN — without it the endpoint returns 404. Generate a random value and pass it as a bearer token (see Configuration):

Terminal window
curl -H "Authorization: Bearer $TESSERA_METRICS_TOKEN" https://tessera.example.com/metrics

Scrape config:

scrape_configs:
- job_name: tessera
scheme: https
authorization:
credentials: <TESSERA_METRICS_TOKEN>
static_configs:
- targets: ["tessera.example.com"]
MetricTypeLabelsMeaning
tessera_build_infogaugeversionBuild version (value is always 1).
tessera_http_requests_totalcountermethod, codeAPI requests by method and status class.
tessera_http_request_duration_secondshistogramAPI request latency.
tessera_http_requests_in_flightgaugeRequests currently being served.
tessera_sessions_started_totalcounterkindSessions created, by target kind.
tessera_sessions_activegaugekindCurrently active proxied sessions.
tessera_sessions_closed_totalcounterkindSessions ended, by target kind.
tessera_session_duration_secondshistogramSession length.
tessera_k8s_requests_totalcounterverbProxied apiserver requests by verb.
tessera_commands_blocked_totalcounterCommands/queries blocked in read-only mode.
tessera_proxy_errors_totalcounterkindProxy session errors by target kind.
tessera_access_requests_totalcountereventJust-in-time access requests by event.
tessera_auth_logins_totalcountermethod, outcomeLogin attempts by method and outcome (outcome is one of success, failure, blocked, disabled).
tessera_notifications_totalcounterchannel, outcomeNotification deliveries.
tessera_audit_export_totalcounteroutcomeAudit-export deliveries to your SIEM.

Plus the standard Go runtime and process collectors (go_*, process_*).

# Active sessions by kind
tessera_sessions_active
# API error rate
sum(rate(tessera_http_requests_total{code=~"5.."}[5m]))
/ sum(rate(tessera_http_requests_total[5m]))
# Blocked commands (read-only enforcement) over time
rate(tessera_commands_blocked_total[5m])
# Failed logins (anything that isn't a success — failure, blocked or disabled)
rate(tessera_auth_logins_total{outcome!="success"}[5m])