Configuration drift
Instances that have not received the configuration version assigned to them.
Configuration drift means a collector has not received the configuration version assigned to it. The assigned version is the collector's deploy group's assigned version, unless the collector is pinned to a version: on a server fleet in its Edit collector dialog, and on a Kubernetes supervisor fleet, available in private preview, in the Pin collector (canary) dialog, where a pinned collector shows a canary badge. You rolled out a new version, but it has not reached the collector yet. Pinning a collector to a version other than the one it last reported running creates drift on purpose; the dialog warns that saving marks the collector Pending pickup until its next poll.
Why drift happens
- The instance has not checked in since its assigned version changed, so the version has not been delivered to it. It shows Pending pickup.
- The instance has gone quiet on an older version. It shows Stale and catches up when it reconnects.
An instance that has received its assigned version is no longer counted as drift, even while it is still Applying it. An instance that rejected the version shows Apply failed. It received the version, so it is not counted as drift.
An instance with no pin whose deploy group has no assigned configuration has no assigned version, so it is never counted in Version drift. Its status column still reads Pending pickup, or Stale if it has gone quiet, until the group is assigned a configuration, because there is no version for it to confirm.
When every instance is In sync with its assigned version, the drift count is zero.
See drift
The fleet detail page shows drift in two places: the Version drift count in the stats strip, which counts the instances whose served version does not match their assigned version and reads Instances lagging when it is above zero or All up to date when it is zero, and the per-instance status column. See Monitor a fleet.
Resolve drift
- Pending pickup: resolves on its own as the collector checks in; allow a heartbeat cycle. If the instance's deploy group has no assigned configuration, it stays pending until the group is assigned one.
- Stale: the collector is unreachable. Check the host and the collector process. The instance catches up when it reconnects.
- Apply failed: not counted as version drift, but it needs attention. Fix the configuration and roll out again. See Update the configuration.
Kubernetes fleets
On a Kubernetes bridge fleet, configuration is assigned per collector, so drift compares each collector's assigned version with the version it runs. A collector you onboarded but have not assigned a configuration to is report-only and is never counted as drift. Three of its collector statuses read differently from a server fleet's: Pending pickup means the bridge has not picked the assigned configuration up yet; Stale means the bridge reported the collector gone from the cluster, and it still counts as drift while its assigned and running versions differ, so remove it from the fleet or restore it in the cluster; Unknown means the bridge itself has stopped reporting, and the collector may still be running. See the status table in Kubernetes fleets.
A Kubernetes supervisor fleet, available in private preview, computes drift the same way as a server fleet: a collector's pin, otherwise its deploy group's assigned version, and a collector whose group has no assignment never counts.
Last updated on