unpoller_unpoller/core/poller
davidnewhall2 7cecc18110 bug 2020-06-21 21:18:12 -07:00
..
.travis.yml update 2020-06-13 18:08:14 -07:00
LICENSE add license 2019-12-28 16:51:49 -08:00
README.md bug 2020-06-21 21:18:12 -07:00
build_bsd.go Allow multiple config file locations. 2020-02-02 20:24:11 -08:00
build_unix.go Allow multiple config file locations. 2020-02-02 20:24:11 -08:00
build_windows.go initial commit 2019-12-28 16:49:04 -08:00
config.go fully generic 2020-06-21 14:40:16 -07:00
dumper.go bug 2020-06-21 21:18:12 -07:00
go.mod fully generic 2020-06-21 14:40:16 -07:00
go.sum fully generic 2020-06-21 14:40:16 -07:00
inputs.go bug 2020-06-21 21:18:12 -07:00
logger.go lint cleanup 2020-06-13 17:46:52 -07:00
outputs.go Fixes 2020-06-21 01:40:19 -07:00
start.go bug 2020-06-21 21:18:12 -07: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 []interface{} 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.