fix nil pointer
This commit is contained in:
parent
8aa071935e
commit
d47b569a49
|
|
@ -128,7 +128,9 @@ func (u *UnifiPoller) PollController() {
|
|||
for u.LastCheck = range ticker.C {
|
||||
if err := u.CollectAndProcess(); err != nil {
|
||||
u.LogErrorf("%v", err)
|
||||
u.Unifi.CloseIdleConnections()
|
||||
if u.Unifi != nil {
|
||||
u.Unifi.CloseIdleConnections()
|
||||
}
|
||||
u.Unifi = nil // trigger re-auth in unifi.go.
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -69,31 +69,37 @@ FIRST:
|
|||
|
||||
// CollectMetrics grabs all the measurements from a UniFi controller and returns them.
|
||||
func (u *UnifiPoller) CollectMetrics() (*metrics.Metrics, error) {
|
||||
var err error
|
||||
|
||||
if u.Unifi == nil || u.Config.ReAuth {
|
||||
// Some users need to re-auth every interval because the cookie times out.
|
||||
// Sometimes we hit this path when the controller dies.
|
||||
u.LogDebugf("Re-authenticating to UniFi Controller")
|
||||
u.Logf("Re-authenticating to UniFi Controller")
|
||||
if err := u.GetUnifi(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
m := &metrics.Metrics{TS: u.LastCheck} // At this point, it's the Current Check.
|
||||
var err error
|
||||
// Get the sites we care about.
|
||||
if m.Sites, err = u.GetFilteredSites(); err != nil {
|
||||
return m, fmt.Errorf("unifi.GetSites(): %v", err)
|
||||
}
|
||||
|
||||
if u.Config.SaveIDS {
|
||||
m.IDSList, err = u.Unifi.GetIDS(m.Sites, time.Now().Add(u.Config.Interval.Duration), time.Now())
|
||||
return m, fmt.Errorf("unifi.GetIDS(): %v", err)
|
||||
}
|
||||
|
||||
// Get all the points.
|
||||
if m.Clients, err = u.Unifi.GetClients(m.Sites); err != nil {
|
||||
return m, fmt.Errorf("unifi.GetClients(): %v", err)
|
||||
}
|
||||
|
||||
if m.Devices, err = u.Unifi.GetDevices(m.Sites); err != nil {
|
||||
return m, fmt.Errorf("unifi.GetDevices(): %v", err)
|
||||
}
|
||||
|
||||
return m, nil
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue