unpoller_unpoller/pkg/poller
Cody Lee d2948b8bd0
feat: upgrade unifi to v5.26.0 and add Integration/v1 + new legacy metrics
Adds 21 new data types from unifi v5.26.0 across all metric output plugins
(InfluxDB, Prometheus, DataDog). Per-site Integration/v1 calls are gated on
API key configuration and only run for user-configured sites; ErrEndpointNotFound
is handled gracefully so older firmware continues to work without log spam.

Also migrates events collection (collectAlarms, collectAnomalies, collectEvents,
collectIDs, collectProtectLogs) to handle Network 10.x+ endpoint removals via
ErrEndpointNotFound, with debug-level logging to avoid per-poll noise.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 16:45:47 -05:00
..
LICENSE all to pkg 2022-12-02 20:48:01 -05:00
README.md go 1.19 interface{} -> any 2022-12-03 16:32:12 -06:00
commands.go chore: apply linter auto-fixes (wsl_v5, nlreturn, tagalign) (#984) 2026-03-23 21:10:52 -05:00
config.go feat: upgrade unifi to v5.26.0 and add Integration/v1 + new legacy metrics 2026-05-08 16:45:47 -05:00
inputs.go feat: upgrade unifi to v5.26.0 and add Integration/v1 + new legacy metrics 2026-05-08 16:45:47 -05:00
logger.go go 1.19 interface{} -> any 2022-12-03 16:32:12 -06:00
outputs.go Fix health check port binding conflict (issue #892) 2025-12-09 08:11:21 -06:00
start.go Replace Python endpoint-discovery with --discover flag (replaces #936) 2026-01-30 20:17:00 -05:00
testutil.go rename package per per comment, add comments, and drop unnecessary compile time check 2023-08-03 09:27:09 -05:00

README.md

poller

UniFi Poller Core

This module ties the inputs together with the outputs.

Aggregates metrics on request. Provides CLI app and args parsing.

Ideal

This library has no notion of "UniFi" or controllers, or Influx, or Prometheus. This library simply provides an input interface and an output interface. Each interface uses an []any type, so any type of data can be used. That is to say, you could write input and output plugins that work with, say, Cisco gear, or any other network (or even non-network) data. The existing plugins should provide ample example of how to use this library, but at some point the godoc will improve.

Features

  • Automatically unmarshal's plugin config structs from config file and/or env variables.
  • Initializes all "imported" plugins on startup.
  • Provides input plugins a Logger, requires an interface for Metrics and Events retrieval.
  • Provides Output plugins an interface to retrieve Metrics and Events, and a Logger.
  • Provides automatic aggregation of Metrics and Events from multiple sources.