Skip to content

Metrics Reference

The operator exposes Prometheus metrics on the manager binary's metrics endpoint (defaults to :8443 HTTPS or :8080 HTTP, see --metrics-bind-address in flags.md). All metric names are stable across patch releases; new labels may be added.

Histogram bucket boundaries are tuned to the operator's 30s HTTP timeout — anything in the 20-30s range indicates rate-limiter saturation or upstream slowness, both of which warrant paging.

Fleet API client

Latency, error rate, and rate-limiter saturation for outbound calls to the Fleet Management API. Use these to alert on Fleet API regressions.

MetricKindLabelsBucketsDescriptionSource
fleet_api_errors_totalCounterVecoperation, statusTotal number of Fleet Management API errors.pkg/fleetclient/metrics.go:49
fleet_api_rate_limiter_wait_duration_secondsHistogram0.005, 0.025, 0.1, 0.5, 1, 2, 5, 10, 20, 30Time spent waiting for the Fleet Management API rate limiter.pkg/fleetclient/metrics.go:60
fleet_api_request_duration_secondsHistogramVecoperation, status0.005, 0.025, 0.1, 0.5, 1, 2, 5, 10, 20, 30Duration of Fleet Management API requests in seconds.pkg/fleetclient/metrics.go:34
fleet_api_requests_totalCounterVecoperationTotal number of Fleet Management API requests.pkg/fleetclient/metrics.go:42

Controller reconciliation

Per-CRD reconcile outcome counters and gauges that track owned attributes / discovered collectors. Use these to alert on reconciliation health.

MetricKindLabelsBucketsDescriptionSource
fleet_discovery_list_collectors_result_sizeGaugeVecnamespace, nameNumber of collectors returned by the last ListCollectors call.internal/controller/metrics.go:82
fleet_external_sync_owned_keysGaugeVecnamespace, nameNumber of attribute keys currently owned by an ExternalAttributeSync CR.internal/controller/metrics.go:72
fleet_pipeline_name_migrations_totalCounterTotal Fleet pipeline name-scope migrations (old pipeline deleted and recreated under the scoped name).internal/controller/metrics.go:92
fleet_resource_sync_age_secondsHistogramVeckind0, 60, 300, 600, 1800, 3600, 7200Age in seconds since last successful sync, sampled at each reconcile.internal/controller/metrics.go:61
fleet_resource_synced_totalCounterVeckind, reasonTotal reconciliation outcomes by resource kind and reason.internal/controller/metrics.go:50