auto fix lint rules
This commit is contained in:
parent
45a9e0d1eb
commit
9bdc6e8d0f
|
|
@ -140,7 +140,7 @@ func (u *DatadogUnifi) setConfigDefaults() {
|
||||||
u.options = append(u.options, statsd.WithNamespace(*u.Namespace))
|
u.options = append(u.options, statsd.WithNamespace(*u.Namespace))
|
||||||
}
|
}
|
||||||
|
|
||||||
if u.Tags != nil && len(u.Tags) > 0 {
|
if len(u.Tags) > 0 {
|
||||||
u.options = append(u.options, statsd.WithTags(u.Tags))
|
u.options = append(u.options, statsd.WithTags(u.Tags))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -378,7 +378,7 @@ func (u *DatadogUnifi) switchExport(r report, v any) { //nolint:cyclop
|
||||||
case *unifi.Event:
|
case *unifi.Event:
|
||||||
u.batchEvent(r, v)
|
u.batchEvent(r, v)
|
||||||
case *unifi.IDS:
|
case *unifi.IDS:
|
||||||
u.batchIDS(r, v)
|
u.batchIDs(r, v)
|
||||||
case *unifi.Alarm:
|
case *unifi.Alarm:
|
||||||
u.batchAlarms(r, v)
|
u.batchAlarms(r, v)
|
||||||
case *unifi.Anomaly:
|
case *unifi.Anomaly:
|
||||||
|
|
|
||||||
|
|
@ -11,11 +11,11 @@ import (
|
||||||
// These constants are used as names for printed/logged counters.
|
// These constants are used as names for printed/logged counters.
|
||||||
const (
|
const (
|
||||||
eventT = item("Event")
|
eventT = item("Event")
|
||||||
idsT = item("IDS")
|
idsT = item("IDs")
|
||||||
)
|
)
|
||||||
|
|
||||||
// batchIDS generates intrusion detection datapoints for Datadog.
|
// batchIDs generates intrusion detection datapoints for Datadog.
|
||||||
func (u *DatadogUnifi) batchIDS(r report, i *unifi.IDS) { // nolint:dupl
|
func (u *DatadogUnifi) batchIDs(r report, i *unifi.IDS) { // nolint:dupl
|
||||||
if time.Since(i.Datetime) > u.Interval.Duration+time.Second {
|
if time.Since(i.Datetime) > u.Interval.Duration+time.Second {
|
||||||
return // The event is older than our interval, ignore it.
|
return // The event is older than our interval, ignore it.
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,11 +9,11 @@ import (
|
||||||
// These constants are used as names for printed/logged counters.
|
// These constants are used as names for printed/logged counters.
|
||||||
const (
|
const (
|
||||||
eventT = item("Event")
|
eventT = item("Event")
|
||||||
idsT = item("IDS")
|
idsT = item("IDs")
|
||||||
)
|
)
|
||||||
|
|
||||||
// batchIDS generates intrusion detection datapoints for InfluxDB.
|
// batchIDs generates intrusion detection datapoints for InfluxDB.
|
||||||
func (u *InfluxUnifi) batchIDS(r report, i *unifi.IDS) { // nolint:dupl
|
func (u *InfluxUnifi) batchIDs(r report, i *unifi.IDS) { // nolint:dupl
|
||||||
if time.Since(i.Datetime) > u.Interval.Duration+time.Second {
|
if time.Since(i.Datetime) > u.Interval.Duration+time.Second {
|
||||||
return // The event is older than our interval, ignore it.
|
return // The event is older than our interval, ignore it.
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -452,7 +452,7 @@ func (u *InfluxUnifi) switchExport(r report, v any) { //nolint:cyclop
|
||||||
case *unifi.Event:
|
case *unifi.Event:
|
||||||
u.batchEvent(r, v)
|
u.batchEvent(r, v)
|
||||||
case *unifi.IDS:
|
case *unifi.IDS:
|
||||||
u.batchIDS(r, v)
|
u.batchIDs(r, v)
|
||||||
case *unifi.Alarm:
|
case *unifi.Alarm:
|
||||||
u.batchAlarms(r, v)
|
u.batchAlarms(r, v)
|
||||||
case *unifi.Anomaly:
|
case *unifi.Anomaly:
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ func (u *InputUnifi) collectControllerEvents(c *Controller) ([]any, error) {
|
||||||
|
|
||||||
type caller func([]any, []*unifi.Site, *Controller) ([]any, error)
|
type caller func([]any, []*unifi.Site, *Controller) ([]any, error)
|
||||||
|
|
||||||
for _, call := range []caller{u.collectIDS, u.collectAnomalies, u.collectAlarms, u.collectEvents} {
|
for _, call := range []caller{u.collectIDs, u.collectAnomalies, u.collectAlarms, u.collectEvents} {
|
||||||
if newLogs, err = call(logs, sites, c); err != nil {
|
if newLogs, err = call(logs, sites, c); err != nil {
|
||||||
return logs, err
|
return logs, err
|
||||||
}
|
}
|
||||||
|
|
@ -123,9 +123,9 @@ func (u *InputUnifi) collectEvents(logs []any, sites []*unifi.Site, c *Controlle
|
||||||
return logs, nil
|
return logs, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (u *InputUnifi) collectIDS(logs []any, sites []*unifi.Site, c *Controller) ([]any, error) {
|
func (u *InputUnifi) collectIDs(logs []any, sites []*unifi.Site, c *Controller) ([]any, error) {
|
||||||
if *c.SaveIDS {
|
if *c.SaveIDs {
|
||||||
u.LogDebugf("Collecting controller IDS data: %s (%s)", c.URL, c.ID)
|
u.LogDebugf("Collecting controller IDs data: %s (%s)", c.URL, c.ID)
|
||||||
|
|
||||||
for _, s := range sites {
|
for _, s := range sites {
|
||||||
events, err := c.Unifi.GetIDSSite(s)
|
events, err := c.Unifi.GetIDSSite(s)
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ type Controller struct {
|
||||||
SaveAnomal *bool `json:"save_anomalies" toml:"save_anomalies" xml:"save_anomalies" yaml:"save_anomalies"`
|
SaveAnomal *bool `json:"save_anomalies" toml:"save_anomalies" xml:"save_anomalies" yaml:"save_anomalies"`
|
||||||
SaveAlarms *bool `json:"save_alarms" toml:"save_alarms" xml:"save_alarms" yaml:"save_alarms"`
|
SaveAlarms *bool `json:"save_alarms" toml:"save_alarms" xml:"save_alarms" yaml:"save_alarms"`
|
||||||
SaveEvents *bool `json:"save_events" toml:"save_events" xml:"save_events" yaml:"save_events"`
|
SaveEvents *bool `json:"save_events" toml:"save_events" xml:"save_events" yaml:"save_events"`
|
||||||
SaveIDS *bool `json:"save_ids" toml:"save_ids" xml:"save_ids" yaml:"save_ids"`
|
SaveIDs *bool `json:"save_ids" toml:"save_ids" xml:"save_ids" yaml:"save_ids"`
|
||||||
SaveDPI *bool `json:"save_dpi" toml:"save_dpi" xml:"save_dpi" yaml:"save_dpi"`
|
SaveDPI *bool `json:"save_dpi" toml:"save_dpi" xml:"save_dpi" yaml:"save_dpi"`
|
||||||
SaveRogue *bool `json:"save_rogue" toml:"save_rogue" xml:"save_rogue" yaml:"save_rogue"`
|
SaveRogue *bool `json:"save_rogue" toml:"save_rogue" xml:"save_rogue" yaml:"save_rogue"`
|
||||||
HashPII *bool `json:"hash_pii" toml:"hash_pii" xml:"hash_pii" yaml:"hash_pii"`
|
HashPII *bool `json:"hash_pii" toml:"hash_pii" xml:"hash_pii" yaml:"hash_pii"`
|
||||||
|
|
@ -231,8 +231,8 @@ func (u *InputUnifi) setDefaults(c *Controller) { //nolint:cyclop
|
||||||
c.SaveRogue = &f
|
c.SaveRogue = &f
|
||||||
}
|
}
|
||||||
|
|
||||||
if c.SaveIDS == nil {
|
if c.SaveIDs == nil {
|
||||||
c.SaveIDS = &f
|
c.SaveIDs = &f
|
||||||
}
|
}
|
||||||
|
|
||||||
if c.SaveEvents == nil {
|
if c.SaveEvents == nil {
|
||||||
|
|
@ -296,8 +296,8 @@ func (u *InputUnifi) setControllerDefaults(c *Controller) *Controller { //nolint
|
||||||
c.SaveDPI = u.Default.SaveDPI
|
c.SaveDPI = u.Default.SaveDPI
|
||||||
}
|
}
|
||||||
|
|
||||||
if c.SaveIDS == nil {
|
if c.SaveIDs == nil {
|
||||||
c.SaveIDS = u.Default.SaveIDS
|
c.SaveIDs = u.Default.SaveIDs
|
||||||
}
|
}
|
||||||
|
|
||||||
if c.SaveRogue == nil {
|
if c.SaveRogue == nil {
|
||||||
|
|
|
||||||
|
|
@ -127,12 +127,12 @@ func (u *InputUnifi) logController(c *Controller) {
|
||||||
u.Logf(" => Username: %s (has password: %v)", c.User, c.Pass != "")
|
u.Logf(" => Username: %s (has password: %v)", c.User, c.Pass != "")
|
||||||
u.Logf(" => Hash PII %v / Drop PII %v / Poll Sites: %s", *c.HashPII, *c.DropPII, strings.Join(c.Sites, ", "))
|
u.Logf(" => Hash PII %v / Drop PII %v / Poll Sites: %s", *c.HashPII, *c.DropPII, strings.Join(c.Sites, ", "))
|
||||||
u.Logf(" => Save Sites %v / Save DPI %v (metrics)", *c.SaveSites, *c.SaveDPI)
|
u.Logf(" => Save Sites %v / Save DPI %v (metrics)", *c.SaveSites, *c.SaveDPI)
|
||||||
u.Logf(" => Save Events %v / Save IDS %v (logs)", *c.SaveEvents, *c.SaveIDS)
|
u.Logf(" => Save Events %v / Save IDs %v (logs)", *c.SaveEvents, *c.SaveIDs)
|
||||||
u.Logf(" => Save Alarms %v / Anomalies %v (logs)", *c.SaveAlarms, *c.SaveAnomal)
|
u.Logf(" => Save Alarms %v / Anomalies %v (logs)", *c.SaveAlarms, *c.SaveAnomal)
|
||||||
u.Logf(" => Save Rogue APs: %v", *c.SaveRogue)
|
u.Logf(" => Save Rogue APs: %v", *c.SaveRogue)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Events allows you to pull only events (and IDS) from the UniFi Controller.
|
// Events allows you to pull only events (and IDs) from the UniFi Controller.
|
||||||
// This does not fully respect HashPII, but it may in the future!
|
// This does not fully respect HashPII, but it may in the future!
|
||||||
// Use Filter.Path to pick a specific controller, otherwise poll them all!
|
// Use Filter.Path to pick a specific controller, otherwise poll them all!
|
||||||
func (u *InputUnifi) Events(filter *poller.Filter) (*poller.Events, error) {
|
func (u *InputUnifi) Events(filter *poller.Filter) (*poller.Events, error) {
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ func formatControllers(controllers []*Controller) []*Controller {
|
||||||
SaveAlarms: c.SaveAlarms,
|
SaveAlarms: c.SaveAlarms,
|
||||||
SaveRogue: c.SaveRogue,
|
SaveRogue: c.SaveRogue,
|
||||||
SaveEvents: c.SaveEvents,
|
SaveEvents: c.SaveEvents,
|
||||||
SaveIDS: c.SaveIDS,
|
SaveIDs: c.SaveIDs,
|
||||||
SaveDPI: c.SaveDPI,
|
SaveDPI: c.SaveDPI,
|
||||||
HashPII: c.HashPII,
|
HashPII: c.HashPII,
|
||||||
DropPII: c.DropPII,
|
DropPII: c.DropPII,
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ func (r *Report) ProcessEventLogs(events *poller.Events) *Logs {
|
||||||
for _, e := range events.Logs {
|
for _, e := range events.Logs {
|
||||||
switch event := e.(type) {
|
switch event := e.(type) {
|
||||||
case *unifi.IDS:
|
case *unifi.IDS:
|
||||||
r.IDS(event, logs)
|
r.IDs(event, logs)
|
||||||
case *unifi.Event:
|
case *unifi.Event:
|
||||||
r.Event(event, logs)
|
r.Event(event, logs)
|
||||||
case *unifi.Alarm:
|
case *unifi.Alarm:
|
||||||
|
|
@ -65,7 +65,7 @@ func (r *Report) ProcessEventLogs(events *poller.Events) *Logs {
|
||||||
|
|
||||||
func (r *Report) String() string {
|
func (r *Report) String() string {
|
||||||
return fmt.Sprintf("%s: %d, %s: %d, %s: %d, %s: %d, Dur: %v",
|
return fmt.Sprintf("%s: %d, %s: %d, %s: %d, %s: %d, Dur: %v",
|
||||||
typeEvent, r.Counts[typeEvent], typeIDS, r.Counts[typeIDS],
|
typeEvent, r.Counts[typeEvent], typeIDs, r.Counts[typeIDs],
|
||||||
typeAlarm, r.Counts[typeAlarm], typeAnomaly, r.Counts[typeAnomaly],
|
typeAlarm, r.Counts[typeAlarm], typeAnomaly, r.Counts[typeAnomaly],
|
||||||
time.Since(r.Start).Round(time.Millisecond))
|
time.Since(r.Start).Round(time.Millisecond))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,15 +6,15 @@ import (
|
||||||
"github.com/unpoller/unifi"
|
"github.com/unpoller/unifi"
|
||||||
)
|
)
|
||||||
|
|
||||||
const typeIDS = "IDS"
|
const typeIDs = "IDs"
|
||||||
|
|
||||||
// event stores a structured event Event for batch sending to Loki.
|
// event stores a structured event Event for batch sending to Loki.
|
||||||
func (r *Report) IDS(event *unifi.IDS, logs *Logs) {
|
func (r *Report) IDs(event *unifi.IDS, logs *Logs) {
|
||||||
if event.Datetime.Before(r.Oldest) {
|
if event.Datetime.Before(r.Oldest) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
r.Counts[typeIDS]++ // increase counter and append new log line.
|
r.Counts[typeIDs]++ // increase counter and append new log line.
|
||||||
|
|
||||||
logs.Streams = append(logs.Streams, LogStream{
|
logs.Streams = append(logs.Streams, LogStream{
|
||||||
Entries: [][]string{{strconv.FormatInt(event.Datetime.UnixNano(), 10), event.Msg}},
|
Entries: [][]string{{strconv.FormatInt(event.Datetime.UnixNano(), 10), event.Msg}},
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ func NewTestSetup(t *testing.T) *TestRig {
|
||||||
SaveAnomal: &enabled,
|
SaveAnomal: &enabled,
|
||||||
SaveAlarms: &enabled,
|
SaveAlarms: &enabled,
|
||||||
SaveEvents: &enabled,
|
SaveEvents: &enabled,
|
||||||
SaveIDS: &enabled,
|
SaveIDs: &enabled,
|
||||||
SaveDPI: &enabled,
|
SaveDPI: &enabled,
|
||||||
SaveRogue: &enabled,
|
SaveRogue: &enabled,
|
||||||
SaveSites: &enabled,
|
SaveSites: &enabled,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue