Browse documentation

Docs/Understand

Fleet Analytics

Roll up bounded operational telemetry across clouds without centralizing realm identity data or making authentication depend on Fleet.
Semantic contractM9 complete
Realm telemetryM10 complete
Next milestoneM11 GreptimeDB
Realm projection and reliable export are shipped

Paired realms project five-minute snapshots locally, retain 24 hours in a durable SableDB outbox and export complete revisions over the authenticated gRPC connector. Fleet commits a trusted hierarchy-stamped acceptance record before acknowledging. GreptimeDB serving and hierarchy-scoped dashboard queries remain M11–M12 work.

What the feature delivers

An authorized Fleet operator gets one drillable view of authentication health at realm, environment, project, organization and authorized fleet scope. Every result carries reporting coverage, so zero activity is never confused with a realm that is stale, disabled or unsupported.

The feature carries operational aggregates: authentication outcomes and latency, registration progress, session and token issuance, service-account activity, webhook delivery, platform health, backup age, signing-key age and connector lag. It does not copy user records, credentials, sessions, tokens or raw identity events into Fleet.

Cross-cloud data path

Managed realmProject locallyClosed buckets · SableDB outbox · optional archive
Fleet trust boundaryAuthenticate and stampRealm identity · hierarchy · assignment epoch · quotas
Central analyticsStore and deriveCanonical realm facts · scope rollups · bounded RPC
  1. The realm projects local ordered events and request telemetry into complete five-minute UTC snapshots.
  2. It atomically stores each snapshot, source watermark and retry record in its own SableDB.
  3. The realm initiates an authenticated connection and retries full snapshots until Fleet acknowledges the exact bucket revision.
  4. The Fleet gateway resolves the connection in its registry and stamps the trusted environment, project, organization and assignment epoch.
  5. An internal adapter writes one canonical row per realm bucket. Higher scopes are always derived from those canonical realm facts.
  6. A role-authorized Analytics RPC returns bounded series, breakdowns and coverage to Dioxus; the client never sends SQL.

gRPC first, Parquet for recovery

PathBoundaryPurpose
Live rollupsRealm-initiated authenticated gRPCNormal delivery of complete, closed five-minute snapshots with exact revision acknowledgements
Archive repairSigned manifest + Zstandard ParquetAudited replay, backfill and portability from an explicitly approved project or central bucket

Fleet does not continuously introspect arbitrary customer buckets. The cold path is manifest-driven: an operator first approves a bucket binding, then the importer verifies the realm signature, object digest, size, row count, schema, time range and sequence range before accepting immutable metric-bucket rows. Bucket credentials and presigned URLs never appear in a telemetry payload.

That separation keeps object storage useful for disconnection recovery, migration and residency without turning every dashboard query into a cross-cloud object scan. Live product reads use the central analytical store.

Hierarchy and deterministic rollup

Canonical factRealm bucketStable realm · assignment epoch · exact revision
Deployment scopesEnvironment + projectChecked sums · merged histograms · coverage
Ownership scopesOrganization + fleetAuthorized children only · same source facts

Counts are summed, rates are calculated from summed numerators and denominators, and percentile latency is calculated after merging compatible cumulative histograms. Fleet never averages child rates or cascades rounded organization totals into a fleet total. Corrections replace the accepted realm revision and recompute the affected scopes.

A realm cannot claim that it belongs to a different environment or organization. Re-parenting creates a new assignment epoch; historical facts retain the attribution under which they were accepted.

GreptimeDB is an internal adapter

GreptimeDB is the preferred central analytical store because this workload is time-series heavy and benefits from a Rust implementation. It remains private behind an AnalyticsStore port and must pass schema, deduplication, TTL, quota, repair, performance and recovery qualification. GreptimeDB SQL, tables and credentials are not public product contracts.

Fleet SableDB remains authoritative for organizations, projects, environments, role bindings, realm connections, accepted revisions, ingestion cursors and archive coordination. Losing analytics storage may make charts stale or partial; it must never alter passkey sign-in, token issuance or realm recovery.

Coverage and failure isolation

expected_realms = reporting_realms + stale_realms
total_realms    = expected_realms + disabled_realms + unsupported_realms
partial         = reporting_realms < expected_realms

Coverage is metric-family-specific and accompanies every scope result. A realm may report authentication metrics while not supporting webhook metrics. The UI must show the last complete common window and contributing children rather than silently filling missing data with zero.

  • A Fleet or GreptimeDB outage never blocks realm authentication.
  • A disconnected realm retains bounded local snapshots and retries after reconnecting.
  • Duplicate delivery and ambiguous acknowledgement converge through full-snapshot revisions.
  • Disabling telemetry leaves the Fleet management plane and every realm fully functional.

Delivery roadmap

MilestoneStatusExit focus
M9CompleteV1 semantics, Protobuf, Parquet schema and compatibility fixtures
M10CompleteLocal projection, durable SableDB outbox and authenticated outbound export
M11ReadyTrusted ingestion coordination and canonical GreptimeDB storage
M12Gated by M11Role-authorized Analytics RPC and Dioxus drill-down
M13Gated by M12Hourly/daily materialization, archive import and residency modes
M14Gated by M13Scale, chaos, recovery, privacy and production qualification
M15LaterSeparately reviewed anomaly detection, alerts and approved exports

M14 is the first point at which Fleet Analytics may be described as production-qualified. M15 insights, cross-customer benchmarks and unrestricted raw-event search are not part of V1; benchmarking would require a separate accepted privacy decision.

Continue to the contracts