diff --git a/README.md b/README.md index 50bbf6fc..91e1de96 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -[![discord](https://badgen.net/badge/icon/Discord?color=0011ff&label&icon=https://simpleicons.now.sh/discord/eee "Captain's Discord")](https://discord.gg/DyVsMyt) +[![discord](https://badgen.net/badge/icon/Discord?color=0011ff&label&icon=https://simpleicons.now.sh/discord/eee "Ubiquiti Discord")](https://discord.gg/KnyKYt2) [![twitter](https://badgen.net/twitter/follow/TwitchCaptain?icon=https://simpleicons.now.sh/twitter/0099ff&label=TwitchCaptain&color=0116ff "TwitchCaptain @ Twitter")](https://twitter.com/TwitchCaptain) [![grafana](https://badgen.net/https/golift.io/bd/grafana/dashboard-downloads/10414,10415,10416,10417,10418?icon=https://simpleicons.now.sh/grafana/ED7F38&color=0011ff "Grafana Dashboard Downloads")](http://grafana.com/dashboards?search=unifi-poller) [![pulls](https://badgen.net/docker/pulls/golift/unifi-poller?icon=https://simpleicons.now.sh/docker/38B1ED&label=pulls&color=0011ff "Docker Pulls")](https://hub.docker.com/r/golift/unifi-poller) @@ -22,8 +22,8 @@ included; with screenshots. Updated 2019. We have a special place for [Docker Users](https://github.com/davidnewhall/unifi-poller/wiki/Docker). I'm willing to help if you have troubles. Open an [Issue](https://github.com/davidnewhall/unifi-poller/issues) and -we'll figure out how to get things working for you. You can also check out -my [Discord server](https://discord.gg/DyVsMyt); sometimes I look at it too! +we'll figure out how to get things working for you. You can also get help in +the #unifi-poller channel on the [Ubiquiti Discord server](https://discord.gg/KnyKYt2). ## Description diff --git a/init/systemd/template.unit.service b/init/systemd/template.unit.service index d09fd9a9..82673d82 100644 --- a/init/systemd/template.unit.service +++ b/init/systemd/template.unit.service @@ -12,6 +12,7 @@ ExecStart=/usr/bin/{{BINARY}} $DAEMON_OPTS EnvironmentFile=-/etc/default/{{BINARY}} EnvironmentFile=-/etc/sysconfig/{{BINARY}} Restart=always +RestartSec=10 StandardOutput=syslog StandardError=syslog SyslogIdentifier={{BINARY}} diff --git a/unifipoller/unifi.go b/unifipoller/unifi.go index 63fbc9c6..53d19a3c 100644 --- a/unifipoller/unifi.go +++ b/unifipoller/unifi.go @@ -176,25 +176,27 @@ func (u *UnifiPoller) ReportMetrics(metrics *Metrics) error { // still check&log it in case the data going is skewed up and causes errors! func (m *Metrics) ProcessPoints() []error { errs := []error{} - processPoints := func(m *Metrics, p []*influx.Point, err error) error { - if err != nil || p == nil { - return err + processPoints := func(m *Metrics, p []*influx.Point, err error) { + switch { + case err != nil: + errs = append(errs, err) + case p == nil: + default: + m.BatchPoints.AddPoints(p) } - m.BatchPoints.AddPoints(p) - return nil } for _, asset := range m.Sites { pts, err := SitePoints(asset, m.TS) - errs = append(errs, processPoints(m, pts, err)) + processPoints(m, pts, err) } for _, asset := range m.Clients { pts, err := ClientPoints(asset, m.TS) - errs = append(errs, processPoints(m, pts, err)) + processPoints(m, pts, err) } for _, asset := range m.IDSList { pts, err := IDSPoints(asset) // no m.TS. - errs = append(errs, processPoints(m, pts, err)) + processPoints(m, pts, err) } if m.Devices == nil { @@ -202,19 +204,19 @@ func (m *Metrics) ProcessPoints() []error { } for _, asset := range m.Devices.UAPs { pts, err := UAPPoints(asset, m.TS) - errs = append(errs, processPoints(m, pts, err)) + processPoints(m, pts, err) } for _, asset := range m.Devices.USGs { pts, err := USGPoints(asset, m.TS) - errs = append(errs, processPoints(m, pts, err)) + processPoints(m, pts, err) } for _, asset := range m.Devices.USWs { pts, err := USWPoints(asset, m.TS) - errs = append(errs, processPoints(m, pts, err)) + processPoints(m, pts, err) } for _, asset := range m.Devices.UDMs { pts, err := UDMPoints(asset, m.TS) - errs = append(errs, processPoints(m, pts, err)) + processPoints(m, pts, err) } return errs }