skip older events
This commit is contained in:
parent
7587a390fb
commit
4d70730b6b
|
|
@ -1,11 +1,19 @@
|
||||||
package influxunifi
|
package influxunifi
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/unifi-poller/unifi"
|
"github.com/unifi-poller/unifi"
|
||||||
)
|
)
|
||||||
|
|
||||||
// batchIDS generates intrusion detection datapoints for InfluxDB.
|
// batchIDS generates intrusion detection datapoints for InfluxDB.
|
||||||
func (u *InfluxUnifi) batchIDS(r report, i *unifi.IDS) {
|
func (u *InfluxUnifi) batchIDS(r report, i *unifi.IDS) {
|
||||||
|
if time.Since(i.Datetime) > u.Interval.Duration+time.Second {
|
||||||
|
return // The event is older than our interval, ignore it.
|
||||||
|
}
|
||||||
|
|
||||||
|
r.addIDS()
|
||||||
|
|
||||||
fields := map[string]interface{}{
|
fields := map[string]interface{}{
|
||||||
"dest_port": i.DestPort,
|
"dest_port": i.DestPort,
|
||||||
"src_port": i.SrcPort,
|
"src_port": i.SrcPort,
|
||||||
|
|
@ -56,6 +64,12 @@ func (u *InfluxUnifi) batchIDS(r report, i *unifi.IDS) {
|
||||||
|
|
||||||
// batchEvents generates events from UniFi for InfluxDB.
|
// batchEvents generates events from UniFi for InfluxDB.
|
||||||
func (u *InfluxUnifi) batchEvent(r report, i *unifi.Event) { // nolint: funlen
|
func (u *InfluxUnifi) batchEvent(r report, i *unifi.Event) { // nolint: funlen
|
||||||
|
if time.Since(i.Datetime) > u.Interval.Duration+time.Second {
|
||||||
|
return // The event is older than our interval, ignore it.
|
||||||
|
}
|
||||||
|
|
||||||
|
r.addEvent()
|
||||||
|
|
||||||
fields := map[string]interface{}{
|
fields := map[string]interface{}{
|
||||||
"msg": i.Msg, // contains user[] or guest[] or admin[]
|
"msg": i.Msg, // contains user[] or guest[] or admin[]
|
||||||
"duration": i.Duration.Val, // probably microseconds?
|
"duration": i.Duration.Val, // probably microseconds?
|
||||||
|
|
|
||||||
|
|
@ -264,10 +264,8 @@ func (u *InfluxUnifi) switchExport(r report, v interface{}) {
|
||||||
case *unifi.Client:
|
case *unifi.Client:
|
||||||
u.batchClient(r, v)
|
u.batchClient(r, v)
|
||||||
case *unifi.Event:
|
case *unifi.Event:
|
||||||
r.addEvent()
|
|
||||||
u.batchEvent(r, v)
|
u.batchEvent(r, v)
|
||||||
case *unifi.IDS:
|
case *unifi.IDS:
|
||||||
r.addIDS()
|
|
||||||
u.batchIDS(r, v)
|
u.batchIDS(r, v)
|
||||||
default:
|
default:
|
||||||
u.Collector.LogErrorf("invalid export type: %T", v)
|
u.Collector.LogErrorf("invalid export type: %T", v)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue