This commit is contained in:
davidnewhall2 2019-11-18 03:07:23 -08:00
parent 6cb1fb8f78
commit 1ffbcccaca
6 changed files with 17 additions and 15 deletions

View File

@ -24,7 +24,7 @@ var Version = "development"
const (
// App defaults in case they're missing from the config.
defaultNamespace = "unifi"
appName = "unifi-poller"
defaultInterval = 30 * time.Second
defaultInfluxDB = "unifi"
defaultInfluxUser = "unifi"
@ -70,6 +70,7 @@ type Config struct {
InfxBadSSL bool `json:"influx_insecure_ssl" toml:"influx_insecure_ssl" xml:"influx_insecure_ssl" yaml:"influx_insecure_ssl" env:"INFLUX_INSECURE_SSL"`
Mode string `json:"mode" toml:"mode" xml:"mode" yaml:"mode" env:"POLLING_MODE"`
HTTPListen string `json:"http_listen" toml:"http_listen" xml:"http_listen" yaml:"http_listen" env:"HTTP_LISTEN"`
Namespace string `json:"namespace" toml:"namespace" xml:"namespace" yaml:"namespace" env:"NAMESPACE"`
InfluxURL string `json:"influx_url,omitempty" toml:"influx_url,omitempty" xml:"influx_url" yaml:"influx_url" env:"INFLUX_URL"`
InfluxUser string `json:"influx_user,omitempty" toml:"influx_user,omitempty" xml:"influx_user" yaml:"influx_user" env:"INFLUX_USER"`
InfluxPass string `json:"influx_pass,omitempty" toml:"influx_pass,omitempty" xml:"influx_pass" yaml:"influx_pass" env:"INFLUX_PASS"`

View File

@ -36,10 +36,11 @@ func Start() error {
Interval: Duration{defaultInterval},
Sites: []string{"all"},
HTTPListen: defaultHTTPListen,
Namespace: appName,
}}
up.Flag.Parse(os.Args[1:])
if up.Flag.ShowVer {
fmt.Printf("unifi-poller v%s\n", Version)
fmt.Printf("%s v%s\n", appName, Version)
return nil // don't run anything else w/ version request.
}
if up.Flag.DumpJSON == "" { // do not print this when dumping JSON.
@ -59,9 +60,9 @@ func Start() error {
// Parse turns CLI arguments into data structures. Called by Start() on startup.
func (f *Flag) Parse(args []string) {
f.FlagSet = pflag.NewFlagSet("unifi-poller", pflag.ExitOnError)
f.FlagSet = pflag.NewFlagSet(appName, pflag.ExitOnError)
f.Usage = func() {
fmt.Println("Usage: unifi-poller [--config=/path/to/up.conf] [--version]")
fmt.Printf("Usage: %s [--config=/path/to/up.conf] [--version]", appName)
f.PrintDefaults()
}
f.StringVarP(&f.DumpJSON, "dumpjson", "j", "",
@ -101,7 +102,7 @@ func (u *UnifiPoller) Run() (err error) {
u.Logf("Exporting Measurements at https://%s/metrics for Prometheus", u.Config.HTTPListen)
http.Handle("/metrics", promhttp.Handler())
prometheus.MustRegister(promunifi.NewUnifiCollector(promunifi.UnifiCollectorCnfg{
Namespace: defaultNamespace, // XXX: pass this in from config.
Namespace: strings.Replace(u.Config.Namespace, "-", "", -1),
CollectFn: u.ExportMetrics,
LoggingFn: u.LogExportReport,
ReportErrors: true, // XXX: Does this need to be configurable?

View File

@ -64,7 +64,7 @@ func descClient(ns string) *client {
TxBytesR: prometheus.NewDesc(ns+"bytes_tx_rate", "Client Transmit Data Rate", labels, nil),
TxPackets: prometheus.NewDesc(ns+"packets_tx_total", "Client Transmit Packets", labels, nil),
TxPower: prometheus.NewDesc(ns+"radio_tx_power", "Client Transmit Power", labels, nil),
TxRate: prometheus.NewDesc(ns+"bytes_tx_rate", "Client Transmit Rate", labels, nil),
TxRate: prometheus.NewDesc(ns+"radio_tx_rate", "Client Transmit Rate", labels, nil),
Uptime: prometheus.NewDesc(ns+"uptime", "Client Uptime", labels, nil),
WifiTxAttempts: prometheus.NewDesc(ns+"wifi_attempts_tx_total", "Client Wifi Transmit Attempts", labels, nil),
WiredRxBytes: prometheus.NewDesc(ns+"wired_bytes_rx_total", "Client Wired Receive Bytes", labels, nil),

View File

@ -94,9 +94,9 @@ func descUAP(ns string) *uap {
Loadavg1: prometheus.NewDesc(ns+"load_average_1", "System Load Average 1 Minute", labels, nil),
Loadavg5: prometheus.NewDesc(ns+"load_average_5", "System Load Average 5 Minutes", labels, nil),
Loadavg15: prometheus.NewDesc(ns+"load_average_15", "System Load Average 15 Minutes", labels, nil),
MemUsed: prometheus.NewDesc(ns+"memory_utilization", "System Memory Used", labels, nil),
MemTotal: prometheus.NewDesc(ns+"memory_installed", "System Installed Memory", labels, nil),
MemBuffer: prometheus.NewDesc(ns+"memory_buffer", "System Memory Buffer", labels, nil),
MemUsed: prometheus.NewDesc(ns+"memory_used_bytes", "System Memory Used", labels, nil),
MemTotal: prometheus.NewDesc(ns+"memory_installed_bytes", "System Installed Memory", labels, nil),
MemBuffer: prometheus.NewDesc(ns+"memory_buffer_bytes", "System Memory Buffer", labels, nil),
CPU: prometheus.NewDesc(ns+"cpu_utilization", "System CPU % Utilized", labels, nil),
Mem: prometheus.NewDesc(ns+"memory_utilization", "System Memory % Utilized", labels, nil),
}

View File

@ -76,9 +76,9 @@ func descUSG(ns string) *usg {
Loadavg1: prometheus.NewDesc(ns+"load_average_1", "System Load Average 1 Minute", labels, nil),
Loadavg5: prometheus.NewDesc(ns+"load_average_5", "System Load Average 5 Minutes", labels, nil),
Loadavg15: prometheus.NewDesc(ns+"load_average_15", "System Load Average 15 Minutes", labels, nil),
MemUsed: prometheus.NewDesc(ns+"memory_used", "System Memory Used", labels, nil),
MemTotal: prometheus.NewDesc(ns+"memory_installed", "System Installed Memory", labels, nil),
MemBuffer: prometheus.NewDesc(ns+"memory_buffer", "System Memory Buffer", labels, nil),
MemUsed: prometheus.NewDesc(ns+"memory_used_bytes", "System Memory Used", labels, nil),
MemTotal: prometheus.NewDesc(ns+"memory_installed_bytes", "System Installed Memory", labels, nil),
MemBuffer: prometheus.NewDesc(ns+"memory_buffer_bytes", "System Memory Buffer", labels, nil),
CPU: prometheus.NewDesc(ns+"cpu_utilization", "System CPU % Utilized", labels, nil),
Mem: prometheus.NewDesc(ns+"memory_utilization", "System Memory % Utilized", labels, nil), // this may not be %.
WanRxPackets: prometheus.NewDesc(ns+"wan_packets_rx_total", "WAN Receive Packets Total", labelWan, nil),

View File

@ -90,9 +90,9 @@ func descUSW(ns string) *usw {
Loadavg1: prometheus.NewDesc(ns+"load_average_1", "System Load Average 1 Minute", labels, nil),
Loadavg5: prometheus.NewDesc(ns+"load_average_5", "System Load Average 5 Minutes", labels, nil),
Loadavg15: prometheus.NewDesc(ns+"load_average_15", "System Load Average 15 Minutes", labels, nil),
MemUsed: prometheus.NewDesc(ns+"memory_utilization", "System Memory Used", labels, nil),
MemTotal: prometheus.NewDesc(ns+"memory_installed", "System Installed Memory", labels, nil),
MemBuffer: prometheus.NewDesc(ns+"memory_buffer", "System Memory Buffer", labels, nil),
MemUsed: prometheus.NewDesc(ns+"memory_used_bytes", "System Memory Used", labels, nil),
MemTotal: prometheus.NewDesc(ns+"memory_installed_bytes", "System Installed Memory", labels, nil),
MemBuffer: prometheus.NewDesc(ns+"memory_buffer_bytes", "System Memory Buffer", labels, nil),
CPU: prometheus.NewDesc(ns+"cpu_utilization", "System CPU % Utilized", labels, nil),
Mem: prometheus.NewDesc(ns+"memory_utilization", "System Memory % Utilized", labels, nil), // this may not be %.