From e366b15c69dca86912a24a836f69cec3ddc035fa Mon Sep 17 00:00:00 2001 From: Cody Lee Date: Mon, 17 Jan 2022 15:02:57 -0600 Subject: [PATCH] final cleanup of datadog unifi plugin --- integrations/datadogunifi/alarms.go | 4 +- integrations/datadogunifi/datadog.go | 64 +++++++++++++++------------- integrations/datadogunifi/events.go | 4 +- integrations/datadogunifi/go.mod | 5 +-- integrations/datadogunifi/go.sum | 41 +----------------- integrations/datadogunifi/logger.go | 22 ---------- integrations/datadogunifi/points.go | 10 ++--- integrations/datadogunifi/report.go | 8 ++-- 8 files changed, 51 insertions(+), 107 deletions(-) diff --git a/integrations/datadogunifi/alarms.go b/integrations/datadogunifi/alarms.go index 9808f1d3..7db18b9c 100644 --- a/integrations/datadogunifi/alarms.go +++ b/integrations/datadogunifi/alarms.go @@ -63,7 +63,7 @@ func (u *DatadogUnifi) batchAlarms(r report, event *unifi.Alarm) { // nolint:dup tags := tagMapToTags(tagMap) title := fmt.Sprintf("[%s][%s] Alarm at %s from %s", event.EventType, event.Catname, event.SiteName, event.SourceName) r.reportEvent(title, event.Datetime, event.Msg, tags) - r.reportWarnLog(fmt.Sprintf("[%d] %s: %s", event.Datetime.Unix(), title, event.Msg), tagMapToZapFields(tagMap)) + r.reportWarnLog(fmt.Sprintf("[%d] %s: %s - %s", event.Datetime.Unix(), title, event.Msg, tagMapToSimpleStrings(tagMap))) } // batchAnomaly generates Anomalies from UniFi for Datadog. @@ -84,5 +84,5 @@ func (u *DatadogUnifi) batchAnomaly(r report, event *unifi.Anomaly) { title := fmt.Sprintf("Anomaly detected at %s from %s", event.SiteName, event.SourceName) r.reportEvent(title, event.Datetime, event.Anomaly, tags) - r.reportWarnLog(fmt.Sprintf("[%d] %s: %s", event.Datetime.Unix(), title, event.Anomaly), tagMapToZapFields(tagMap)) + r.reportWarnLog(fmt.Sprintf("[%d] %s: %s - %s", event.Datetime.Unix(), title, event.Anomaly, tagMapToSimpleStrings(tagMap))) } diff --git a/integrations/datadogunifi/datadog.go b/integrations/datadogunifi/datadog.go index 33baf172..9b1ac76d 100644 --- a/integrations/datadogunifi/datadog.go +++ b/integrations/datadogunifi/datadog.go @@ -3,12 +3,12 @@ package datadogunifi import ( + "reflect" "time" "github.com/DataDog/datadog-go/statsd" "github.com/unpoller/poller" "github.com/unpoller/unifi" - "go.uber.org/zap" "golift.io/cnfg" ) @@ -109,13 +109,11 @@ type DatadogUnifi struct { Collector poller.Collect datadog statsd.ClientInterface LastCheck time.Time - Logger *zap.SugaredLogger *Datadog } func init() { // nolint: gochecknoinits - l, _ := zap.NewProduction() - u := &DatadogUnifi{Datadog: &Datadog{}, LastCheck: time.Now(), Logger: l.Sugar()} + u := &DatadogUnifi{Datadog: &Datadog{}, LastCheck: time.Now()} poller.NewOutput(&poller.Output{ Name: "datadog", @@ -192,16 +190,15 @@ func (u *DatadogUnifi) setConfigDefaults() { // Run runs a ticker to poll the unifi server and update Datadog. func (u *DatadogUnifi) Run(c poller.Collect) error { - defer u.Logger.Sync() if u.Disable { - u.Logger.Debug("Datadog config is disabled, output is disabled.") + u.LogDebugf("Datadog config is disabled, output is disabled.") return nil } if u.Config == nil && !u.Disable { - u.Logger.Error("DataDog config is missing and is not disabled: Datadog output is disabled!") + u.LogErrorf("DataDog config is missing and is not disabled: Datadog output is disabled!") return nil } - u.Logger.Info("Datadog is configured.") + u.Logf("Datadog is configured.") u.Collector = c u.setConfigDefaults() @@ -209,7 +206,7 @@ func (u *DatadogUnifi) Run(c poller.Collect) error { var err error u.datadog, err = statsd.New(u.Address, u.options...) if err != nil { - u.Logger.Error("Error configuration Datadog agent reporting", zap.Error(err)) + u.LogErrorf("Error configuration Datadog agent reporting: %+v", err) return err } @@ -223,25 +220,25 @@ func (u *DatadogUnifi) Run(c poller.Collect) error { func (u *DatadogUnifi) PollController() { interval := u.Interval.Round(time.Second) ticker := time.NewTicker(interval) - u.Logger.Info("Everything checks out! Poller started", zap.Duration("interval", interval)) + u.Logf("Everything checks out! Poller started, interval=%+v", interval) for u.LastCheck = range ticker.C { metrics, err := u.Collector.Metrics(&poller.Filter{Name: "unifi"}) if err != nil { - u.Logger.Error("metric fetch for Datadog failed", zap.Error(err)) + u.LogErrorf("metric fetch for Datadog failed: %v", err) continue } events, err := u.Collector.Events(&poller.Filter{Name: "unifi", Dur: interval}) if err != nil { - u.Logger.Error("event fetch for Datadog failed", zap.Error(err)) + u.LogErrorf("event fetch for Datadog failed", err) continue } report, err := u.ReportMetrics(metrics, events) if err != nil { // Is the agent down? - u.Logger.Error("unable to report metrics and events", zap.Error(err)) + u.LogErrorf("unable to report metrics and events", err) report.reportCount("unifi.collect.errors", 1, []string{}) continue } @@ -255,12 +252,12 @@ func (u *DatadogUnifi) PollController() { // Returns an error if datadog statsd calls fail, otherwise returns a report. func (u *DatadogUnifi) ReportMetrics(m *poller.Metrics, e *poller.Events) (*Report, error) { r := &Report{ - Metrics: m, - Events: e, - Start: time.Now(), - Counts: &Counts{Val: make(map[item]int)}, - Logger: u.Logger, - client: u.datadog, + Metrics: m, + Events: e, + Start: time.Now(), + Counts: &Counts{Val: make(map[item]int)}, + Collector: u.Collector, + client: u.datadog, } // batch all the points. u.loopPoints(r) @@ -335,21 +332,30 @@ func (u *DatadogUnifi) switchExport(r report, v interface{}) { //nolint:cyclop case *unifi.Anomaly: u.batchAnomaly(r, v) default: - u.Logger.Error("invalid export", zap.Reflect("type", v)) + u.LogErrorf("invalid export, type=%+v", reflect.TypeOf(v)) } } // LogDatadogReport writes a log message after exporting to Datadog. func (u *DatadogUnifi) LogDatadogReport(r *Report) { m := r.Metrics - u.Logger.Info("UniFi Metrics Recorded", - zap.Int("num_sites", len(m.Sites)), - zap.Int("num_sites_dpi", len(m.SitesDPI)), - zap.Int("num_clients", len(m.Clients)), - zap.Int("num_clients_dpi", len(m.ClientsDPI)), - zap.Int("num_rogue_ap", len(m.RogueAPs)), - zap.Int("num_devices", len(m.Devices)), - zap.Errors("errors", r.Errors), - zap.Duration("elapsed", r.Elapsed), + u.Logf("UniFi Metrics Recorded num_sites=%d num_sites_dpi=%d num_clients=%d num_clients_dpi=%d num_rogue_ap=%d num_devices=%d errors=%v elapsec=%v", + len(m.Sites), + len(m.SitesDPI), + len(m.Clients), + len(m.ClientsDPI), + len(m.RogueAPs), + len(m.Devices), + r.Errors, + r.Elapsed, ) + metricName := metricNamespace("collector") + r.reportCount(metricName("num_sites"), int64(len(m.Sites)), u.Tags) + r.reportCount(metricName("num_sites_dpi"), int64(len(m.SitesDPI)), u.Tags) + r.reportCount(metricName("num_clients"), int64(len(m.Clients)), u.Tags) + r.reportCount(metricName("num_clients_dpi"), int64(len(m.ClientsDPI)), u.Tags) + r.reportCount(metricName("num_rogue_ap"), int64(len(m.RogueAPs)), u.Tags) + r.reportCount(metricName("num_devices"), int64(len(m.Devices)), u.Tags) + r.reportCount(metricName("num_errors"), int64(len(r.Errors)), u.Tags) + r.reportTiming(metricName("elapsed_time"), r.Elapsed, u.Tags) } diff --git a/integrations/datadogunifi/events.go b/integrations/datadogunifi/events.go index 76ffb164..ce0b0c4a 100644 --- a/integrations/datadogunifi/events.go +++ b/integrations/datadogunifi/events.go @@ -65,7 +65,7 @@ func (u *DatadogUnifi) batchIDS(r report, i *unifi.IDS) { // nolint:dupl tags := tagMapToTags(tagMap) title := fmt.Sprintf("Intrusion Detection at %s from %s", i.SiteName, i.SourceName) r.reportEvent(title, i.Datetime, i.Msg, tags) - r.reportWarnLog(fmt.Sprintf("[%d] %s: %s", i.Datetime.Unix(), title, i.Msg), tagMapToZapFields(tagMap)) + r.reportWarnLog(fmt.Sprintf("[%d] %s: %s - %s", i.Datetime.Unix(), title, i.Msg, tagMapToSimpleStrings(tagMap))) } // batchEvents generates events from UniFi for Datadog. @@ -139,5 +139,5 @@ func (u *DatadogUnifi) batchEvent(r report, i *unifi.Event) { // nolint: funlen tags := tagMapToTags(tagMap) title := fmt.Sprintf("Unifi Event at %s from %s", i.SiteName, i.SourceName) r.reportEvent(title, i.Datetime, i.Msg, tags) - r.reportInfoLog(fmt.Sprintf("[%d] %s: %s", i.Datetime.Unix(), title, i.Msg), tagMapToZapFields(tagMap)) + r.reportInfoLog(fmt.Sprintf("[%d] %s: %s - %s", i.Datetime.Unix(), title, i.Msg, tagMapToSimpleStrings(tagMap))) } diff --git a/integrations/datadogunifi/go.mod b/integrations/datadogunifi/go.mod index c82ba227..ecf221c6 100644 --- a/integrations/datadogunifi/go.mod +++ b/integrations/datadogunifi/go.mod @@ -4,11 +4,10 @@ go 1.16 require ( github.com/DataDog/datadog-go v4.0.0+incompatible - github.com/pkg/errors v0.9.1 // indirect + github.com/kr/pretty v0.1.0 // indirect github.com/unpoller/poller v0.0.0-20210623104748-50161c195d5e github.com/unpoller/unifi v0.0.0-20210914213836-fd3c38c905a3 - github.com/unpoller/webserver v0.0.0-20210623101543-90d89bb0acdf - go.uber.org/zap v1.19.1 golang.org/x/net v0.0.0-20210614182718-04defd469f4e // indirect golift.io/cnfg v0.0.7 + gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect ) diff --git a/integrations/datadogunifi/go.sum b/integrations/datadogunifi/go.sum index fc2a130f..e5fb6216 100644 --- a/integrations/datadogunifi/go.sum +++ b/integrations/datadogunifi/go.sum @@ -2,71 +2,41 @@ github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/DataDog/datadog-go v4.0.0+incompatible h1:Dq8Dr+4sV1gBO1sHDWdW+4G+PdsA+YSJOK925MxrrCY= github.com/DataDog/datadog-go v4.0.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= -github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= -github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= -github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/spf13/pflag v1.0.6-0.20201009195203-85dd5c8bc61c h1:zqmyTlQyufRC65JnImJ6H1Sf7BDj8bG31EV919NVEQc= github.com/spf13/pflag v1.0.6-0.20201009195203-85dd5c8bc61c/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0 h1:4G4v2dO3VZwixGIRoQ5Lfboy6nUhCyYzaqnIAPPhYs4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/unpoller/poller v0.0.0-20210623101401-f12841d79a28/go.mod h1:AbDp60t5WlLSRELAliMJ0RFQpm/0yXpyolVSZqNtero= github.com/unpoller/poller v0.0.0-20210623104748-50161c195d5e h1:tNBIBCmtc7whuhkjKyEzpU3OHzYHyGCBy/LERhHxh3A= github.com/unpoller/poller v0.0.0-20210623104748-50161c195d5e/go.mod h1:AbDp60t5WlLSRELAliMJ0RFQpm/0yXpyolVSZqNtero= github.com/unpoller/unifi v0.0.0-20210914213836-fd3c38c905a3 h1:OYfAGqNNevU4ARJL1yE1v7VUvce1gJEsgzAxCH23cYQ= github.com/unpoller/unifi v0.0.0-20210914213836-fd3c38c905a3/go.mod h1:K9QFFGfZws4gzB+Popix19S/rBKqrtqI+tyPORyg3F0= -github.com/unpoller/webserver v0.0.0-20210623101543-90d89bb0acdf h1:HhXi3qca3kyFEFPh0mqdr0bpQs94hJvMbUJztwPtf2A= -github.com/unpoller/webserver v0.0.0-20210623101543-90d89bb0acdf/go.mod h1:77PywuUvspdtoRuH1htFhR3Tp0pLyWj6kJlYR4tBYho= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/goleak v1.1.11-0.20210813005559-691160354723 h1:sHOAIxRGBp443oHZIPB+HsUGaksVCXVQENPxwTfQdH4= -go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= -go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/zap v1.19.1 h1:ue41HOKd1vGURxrmeKIgELGb3jPW9DMUDGtsinblHwI= -go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e h1:gsTQYXdTw2Gq7RBsWvlQ91b+aEQ6bXFUngBGuR8sPpI= golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210415231046-e915ea6b2b7d/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= golang.org/x/net v0.0.0-20210614182718-04defd469f4e h1:XpT3nA5TvE525Ne3hInMh6+GETgn27Zfm9dxsThnX2Q= golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22 h1:RqytpXGR1iVNX7psjB3ff8y7sNFinVFvkx1c8SjBkio= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -77,23 +47,14 @@ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golift.io/cnfg v0.0.7 h1:qkNpP5Bq+5Gtoc6HcI8kapMD5zFOVan6qguxqBQF3OY= golift.io/cnfg v0.0.7/go.mod h1:AsB0DJe7nv0bizKaoy3e3MjjOF7upTpMOMvsfv4CNNk= golift.io/version v0.0.2 h1:i0gXRuSDHKs4O0sVDUg4+vNIuOxYoXhaxspftu2FRTE= golift.io/version v0.0.2/go.mod h1:76aHNz8/Pm7CbuxIsDi97jABL5Zui3f2uZxDm4vB6hU= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= diff --git a/integrations/datadogunifi/logger.go b/integrations/datadogunifi/logger.go index c223fb7c..29801bc5 100644 --- a/integrations/datadogunifi/logger.go +++ b/integrations/datadogunifi/logger.go @@ -1,38 +1,16 @@ package datadogunifi -import ( - "fmt" - "time" - - "github.com/unpoller/webserver" -) - // Logf logs a message. func (u *DatadogUnifi) Logf(msg string, v ...interface{}) { - webserver.NewOutputEvent(webserver.PluginName, webserver.PluginName, &webserver.Event{ - Ts: time.Now(), - Msg: fmt.Sprintf(msg, v...), - Tags: map[string]string{"type": "info"}, - }) u.Collector.Logf(msg, v...) } // LogErrorf logs an error message. func (u *DatadogUnifi) LogErrorf(msg string, v ...interface{}) { - webserver.NewOutputEvent(webserver.PluginName, webserver.PluginName, &webserver.Event{ - Ts: time.Now(), - Msg: fmt.Sprintf(msg, v...), - Tags: map[string]string{"type": "error"}, - }) u.Collector.LogErrorf(msg, v...) } // LogDebugf logs a debug message. func (u *DatadogUnifi) LogDebugf(msg string, v ...interface{}) { - webserver.NewOutputEvent(webserver.PluginName, webserver.PluginName, &webserver.Event{ - Ts: time.Now(), - Msg: fmt.Sprintf(msg, v...), - Tags: map[string]string{"type": "debug"}, - }) u.Collector.LogDebugf(msg, v...) } diff --git a/integrations/datadogunifi/points.go b/integrations/datadogunifi/points.go index c269ee78..a4af569c 100644 --- a/integrations/datadogunifi/points.go +++ b/integrations/datadogunifi/points.go @@ -2,9 +2,9 @@ package datadogunifi import ( "fmt" + "strings" "github.com/unpoller/unifi" - "go.uber.org/zap" ) func tag(name string, value interface{}) string { @@ -19,12 +19,12 @@ func tagMapToTags(tagMap map[string]string) []string { return tags } -func tagMapToZapFields(tagMap map[string]string) []zap.Field { - fields := make([]zap.Field, 0) +func tagMapToSimpleStrings(tagMap map[string]string) string { + result := "" for k, v := range tagMap { - fields = append(fields, zap.String(k, v)) + result = fmt.Sprintf("%s%s=\"%v\", ", result, k, v) } - return fields + return strings.TrimRight(result, ", ") } func metricNamespace(namespace string) func(string) string { diff --git a/integrations/datadogunifi/report.go b/integrations/datadogunifi/report.go index e1ffaebc..f86a1cfd 100644 --- a/integrations/datadogunifi/report.go +++ b/integrations/datadogunifi/report.go @@ -6,9 +6,9 @@ import ( "github.com/DataDog/datadog-go/statsd" "github.com/unpoller/poller" - "go.uber.org/zap" ) +// Report is a will report the current collection run data. type Report struct { Metrics *poller.Metrics Events *poller.Events @@ -18,7 +18,7 @@ type Report struct { End time.Time Elapsed time.Duration - Logger *zap.SugaredLogger + Collector poller.Collect Total int Fields int @@ -120,11 +120,11 @@ func (r *Report) reportEvent(title string, date time.Time, message string, tags } func (r *Report) reportInfoLog(message string, f ...interface{}) { - r.Logger.Info(message, f) + r.Collector.Logf(message, f) } func (r *Report) reportWarnLog(message string, f ...interface{}) { - r.Logger.Warn(message, f) + r.Collector.Logf(message, f) } func (r *Report) reportServiceCheck(name string, status statsd.ServiceCheckStatus, message string, tags []string) error {