The KMS server pushes metrics to any OpenTelemetry collector via
OTLP/gRPC every 30 seconds . No HTTP /metrics endpoint is exposed — metrics are always
pushed, never scraped.
For deployment instructions and Grafana setup, see Monitoring Setup .
To enable the feature, see Telemetry & Observability .
Metric Type Description Labels
kms.kmip.operations.totalcounter Total KMIP operations executed operation
kms.kmip.operations.per_user.totalcounter Total KMIP operations per user operation, user
kms.kmip.operation.durationhistogram (s) Duration of each KMIP operation operation
Metric Type Description Labels
kms.active.usersup-down counter Unique users who issued at least one request —
kms.permissions.granted.per_user.totalcounter Access rights granted, broken down by user user, permission_type
kms.permissions.granted.totalcounter Total access rights granted —
Metric Type Description Labels
kms.database.operations.totalcounter DB operations by type and result operation, backend, outcome
kms.database.operation.durationhistogram (s) Wall-clock time of each DB call operation, backend, outcome
Label values:
backend: sqlite · postgresql · mysql · redis
outcome: success · error
Metric Type Description Labels
kms.http.requests.totalcounter Incoming HTTP requests method, path, status
kms.http.request.durationhistogram (s) HTTP request latency method, path, status
path is normalised (e.g. /kmip/2_1, /google_cse/...) to avoid high cardinality from
object identifiers.
Metric Type Description Labels
kms.server.uptimecounter (monotonic, s) Seconds elapsed since server start —
kms.server.start_timeup-down counter Server start time as Unix timestamp (s) —
kms.active.connectionsup-down counter Current open HTTP connections —
kms.errors.totalcounter Errors categorised by type error_type
Metric Type Description Labels
kms.objects.totalgauge Total non-destroyed objects in the KMS —
kms.keys.active.countgauge Non-destroyed key objects (SymmetricKey, PrivateKey, PublicKey, SplitKey) across all states: PreActive, Active, Deactivated, Compromised —
Both metrics are refreshed every 30 s by the metrics cron task and seeded at server startup.
Metric Type Description Labels
kms.cache.operations.totalcounter Unwrap-cache lookups operation, result
Metric Type Description Labels
kms.hsm.operations.totalcounter HSM operations by type and model operation, hsm_model