Skip to main content

Chrony Receiver

Status Available in: contrib Maintainers: @MovieStoreGuy, @jamesmoessis Source: opentelemetry-collector-contrib

Supported Telemetry

Metrics

Overview

The chrony receiver is a pure go implementation of the command chronyc tracking to allow for portability across systems and platforms. All of the data that would typically be captured by the tracking command is made available in this receiver, see documentation for more details.

Configuration

Default

By default, the chrony receiver will default to the following configuration:
chrony/defaults:
  endpoint: unix:///var/run/chrony/chronyd.sock # The default port by chronyd to allow cmd access
  timeout: 10s # Allowing at least 10s for chronyd to respond before giving up

chrony:
  # This will result in the same configuration as above

Customised

The following options can be customised:
  • endpoint (required) - the address on where to communicate to chronyd
    • The allowed formats are the following
      • udp://hostname:port
      • unix:///path/to/chrony.sock (Please note the triple slash)
      • unixgram:///path/to/chrony/sock
    • The network type unix will be converted to unixgram but both are permissible
  • timeout (optional) - The total amount of time allowed to read and process the data from chronyd
    • Recommendation: This value should be set above 1s to allow chronyd time to respond
  • collection_interval (optional) - how frequent this receiver should poll chrony
  • initial_delay (default = 1s): defines how long this receiver waits before starting.
  • metrics (optional) - Which metrics should be exported, read the documentation for complete details

Example

An example of the configuration is:
receivers:
  chrony:
    endpoint: unix:///var/run/chrony/chronyd.sock
    timeout: 10s
    collection_interval: 30s
    metrics:
      ntp.skew:
        enabled: true
      ntp.stratum:
        enabled: true
The complete list of metrics emitted by this receiver is found in the documentation.

Metrics

Metric NameDescriptionUnitTypeAttributes
ntp.frequency.offsetThe frequency is the rate by which the system s clock would be wrong if chronyd was not correcting it.ppmGaugeleap.status
ntp.skewThis is the estimated error bound on the frequency.ppmGauge
ntp.stratumThe number of hops away from the reference system keeping the reference time{count}Gauge
ntp.time.correctionThe number of seconds difference between the system’s clock and the reference clocksecondsGaugeleap.status
ntp.time.last_offsetThe estimated local offset on the last clock updatesecondsGaugeleap.status
ntp.time.rms_offsetthe long term average of the offset valuesecondsGaugeleap.status
ntp.time.root_delayThis is the total of the network path delays to the stratum-1 system from which the system is ultimately synchronised.secondsGaugeleap.status

Attributes

Attribute NameDescriptionTypeValues
leap.statushow the chrony is handling leap secondsstringnormal, insert_second, delete_second, unsynchronised

Configuration

Example Configuration

chrony/custom:
  endpoint: "udp://localhost:3030"
  timeout: 10s

Last generated: 2026-04-13