Keyboard shortcuts

Press โ† or โ†’ to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Sovereign, high-performance data protection

OTLP Metrics Reference

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.

KMIP Operations

MetricTypeDescriptionLabels
kms.kmip.operations.totalcounterTotal KMIP operations executedoperation
kms.kmip.operations.per_user.totalcounterTotal KMIP operations per useroperation, user
kms.kmip.operation.durationhistogram (s)Duration of each KMIP operationoperation

Users & Permissions

MetricTypeDescriptionLabels
kms.active.usersup-down counterUnique users who issued at least one requestโ€”
kms.permissions.granted.per_user.totalcounterAccess rights granted, broken down by useruser, permission_type
kms.permissions.granted.totalcounterTotal access rights grantedโ€”

Database

MetricTypeDescriptionLabels
kms.database.operations.totalcounterDB operations by type and resultoperation, backend, outcome
kms.database.operation.durationhistogram (s)Wall-clock time of each DB calloperation, backend, outcome

Label values:

  • backend: sqlite ยท postgresql ยท mysql ยท redis
  • outcome: success ยท error

HTTP

MetricTypeDescriptionLabels
kms.http.requests.totalcounterIncoming HTTP requestsmethod, path, status
kms.http.request.durationhistogram (s)HTTP request latencymethod, path, status

path is normalised (e.g. /kmip/2_1, /google_cse/...) to avoid high cardinality from object identifiers.

Server Health

MetricTypeDescriptionLabels
kms.server.uptimecounter (monotonic, s)Seconds elapsed since server startโ€”
kms.server.start_timeup-down counterServer start time as Unix timestamp (s)โ€”
kms.active.connectionsup-down counterCurrent open HTTP connectionsโ€”
kms.errors.totalcounterErrors categorised by typeerror_type

Objects & Keys

MetricTypeDescriptionLabels
kms.objects.totalgaugeTotal non-destroyed objects in the KMSโ€”
kms.keys.active.countgaugeNon-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.

Cache

MetricTypeDescriptionLabels
kms.cache.operations.totalcounterUnwrap-cache lookupsoperation, result

HSM

MetricTypeDescriptionLabels
kms.hsm.operations.totalcounterHSM operations by type and modeloperation, hsm_model