Fix protocol version setting in NTP collector.

The upstream library changed their interface - the global Version
variable is gone:

283ed9d548
This commit is contained in:
Julius Volz 2015-11-10 10:07:30 +01:00
parent b11cd9c7d4
commit 07b39499cd
1 changed files with 5 additions and 3 deletions

View File

@ -44,7 +44,9 @@ func NewNtpCollector() (Collector, error) {
if *ntpServer == "" {
return nil, fmt.Errorf("no NTP server specifies, see --ntpServer")
}
ntp.Version = byte(*ntpProtocolVersion)
if *ntpProtocolVersion < 2 || *ntpProtocolVersion > 4 {
return nil, fmt.Errorf("invalid NTP protocol version %d; must be 2, 3, or 4")
}
return &ntpCollector{
drift: prometheus.NewGauge(prometheus.GaugeOpts{
@ -56,9 +58,9 @@ func NewNtpCollector() (Collector, error) {
}
func (c *ntpCollector) Update(ch chan<- prometheus.Metric) (err error) {
t, err := ntp.Time(*ntpServer)
t, err := ntp.TimeV(*ntpServer, byte(*ntpProtocolVersion))
if err != nil {
return fmt.Errorf("couldn't get ntp drift: %s", err)
return fmt.Errorf("couldn't get NTP drift: %s", err)
}
drift := t.Sub(time.Now())
log.Debugf("Set ntp_drift_seconds: %f", drift.Seconds())