fix bugs
This commit is contained in:
parent
6cb1fb8f78
commit
1ffbcccaca
|
|
@ -24,7 +24,7 @@ var Version = "development"
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// App defaults in case they're missing from the config.
|
// App defaults in case they're missing from the config.
|
||||||
defaultNamespace = "unifi"
|
appName = "unifi-poller"
|
||||||
defaultInterval = 30 * time.Second
|
defaultInterval = 30 * time.Second
|
||||||
defaultInfluxDB = "unifi"
|
defaultInfluxDB = "unifi"
|
||||||
defaultInfluxUser = "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"`
|
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"`
|
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"`
|
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"`
|
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"`
|
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"`
|
InfluxPass string `json:"influx_pass,omitempty" toml:"influx_pass,omitempty" xml:"influx_pass" yaml:"influx_pass" env:"INFLUX_PASS"`
|
||||||
|
|
|
||||||
|
|
@ -36,10 +36,11 @@ func Start() error {
|
||||||
Interval: Duration{defaultInterval},
|
Interval: Duration{defaultInterval},
|
||||||
Sites: []string{"all"},
|
Sites: []string{"all"},
|
||||||
HTTPListen: defaultHTTPListen,
|
HTTPListen: defaultHTTPListen,
|
||||||
|
Namespace: appName,
|
||||||
}}
|
}}
|
||||||
up.Flag.Parse(os.Args[1:])
|
up.Flag.Parse(os.Args[1:])
|
||||||
if up.Flag.ShowVer {
|
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.
|
return nil // don't run anything else w/ version request.
|
||||||
}
|
}
|
||||||
if up.Flag.DumpJSON == "" { // do not print this when dumping JSON.
|
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.
|
// Parse turns CLI arguments into data structures. Called by Start() on startup.
|
||||||
func (f *Flag) Parse(args []string) {
|
func (f *Flag) Parse(args []string) {
|
||||||
f.FlagSet = pflag.NewFlagSet("unifi-poller", pflag.ExitOnError)
|
f.FlagSet = pflag.NewFlagSet(appName, pflag.ExitOnError)
|
||||||
f.Usage = func() {
|
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.PrintDefaults()
|
||||||
}
|
}
|
||||||
f.StringVarP(&f.DumpJSON, "dumpjson", "j", "",
|
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)
|
u.Logf("Exporting Measurements at https://%s/metrics for Prometheus", u.Config.HTTPListen)
|
||||||
http.Handle("/metrics", promhttp.Handler())
|
http.Handle("/metrics", promhttp.Handler())
|
||||||
prometheus.MustRegister(promunifi.NewUnifiCollector(promunifi.UnifiCollectorCnfg{
|
prometheus.MustRegister(promunifi.NewUnifiCollector(promunifi.UnifiCollectorCnfg{
|
||||||
Namespace: defaultNamespace, // XXX: pass this in from config.
|
Namespace: strings.Replace(u.Config.Namespace, "-", "", -1),
|
||||||
CollectFn: u.ExportMetrics,
|
CollectFn: u.ExportMetrics,
|
||||||
LoggingFn: u.LogExportReport,
|
LoggingFn: u.LogExportReport,
|
||||||
ReportErrors: true, // XXX: Does this need to be configurable?
|
ReportErrors: true, // XXX: Does this need to be configurable?
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@ func descClient(ns string) *client {
|
||||||
TxBytesR: prometheus.NewDesc(ns+"bytes_tx_rate", "Client Transmit Data Rate", labels, nil),
|
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),
|
TxPackets: prometheus.NewDesc(ns+"packets_tx_total", "Client Transmit Packets", labels, nil),
|
||||||
TxPower: prometheus.NewDesc(ns+"radio_tx_power", "Client Transmit Power", 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),
|
Uptime: prometheus.NewDesc(ns+"uptime", "Client Uptime", labels, nil),
|
||||||
WifiTxAttempts: prometheus.NewDesc(ns+"wifi_attempts_tx_total", "Client Wifi Transmit Attempts", 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),
|
WiredRxBytes: prometheus.NewDesc(ns+"wired_bytes_rx_total", "Client Wired Receive Bytes", labels, nil),
|
||||||
|
|
|
||||||
|
|
@ -94,9 +94,9 @@ func descUAP(ns string) *uap {
|
||||||
Loadavg1: prometheus.NewDesc(ns+"load_average_1", "System Load Average 1 Minute", labels, nil),
|
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),
|
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),
|
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),
|
MemUsed: prometheus.NewDesc(ns+"memory_used_bytes", "System Memory Used", labels, nil),
|
||||||
MemTotal: prometheus.NewDesc(ns+"memory_installed", "System Installed Memory", labels, nil),
|
MemTotal: prometheus.NewDesc(ns+"memory_installed_bytes", "System Installed Memory", labels, nil),
|
||||||
MemBuffer: prometheus.NewDesc(ns+"memory_buffer", "System Memory Buffer", 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),
|
CPU: prometheus.NewDesc(ns+"cpu_utilization", "System CPU % Utilized", labels, nil),
|
||||||
Mem: prometheus.NewDesc(ns+"memory_utilization", "System Memory % Utilized", labels, nil),
|
Mem: prometheus.NewDesc(ns+"memory_utilization", "System Memory % Utilized", labels, nil),
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -76,9 +76,9 @@ func descUSG(ns string) *usg {
|
||||||
Loadavg1: prometheus.NewDesc(ns+"load_average_1", "System Load Average 1 Minute", labels, nil),
|
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),
|
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),
|
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),
|
MemUsed: prometheus.NewDesc(ns+"memory_used_bytes", "System Memory Used", labels, nil),
|
||||||
MemTotal: prometheus.NewDesc(ns+"memory_installed", "System Installed Memory", labels, nil),
|
MemTotal: prometheus.NewDesc(ns+"memory_installed_bytes", "System Installed Memory", labels, nil),
|
||||||
MemBuffer: prometheus.NewDesc(ns+"memory_buffer", "System Memory Buffer", 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),
|
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 %.
|
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),
|
WanRxPackets: prometheus.NewDesc(ns+"wan_packets_rx_total", "WAN Receive Packets Total", labelWan, nil),
|
||||||
|
|
|
||||||
|
|
@ -90,9 +90,9 @@ func descUSW(ns string) *usw {
|
||||||
Loadavg1: prometheus.NewDesc(ns+"load_average_1", "System Load Average 1 Minute", labels, nil),
|
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),
|
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),
|
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),
|
MemUsed: prometheus.NewDesc(ns+"memory_used_bytes", "System Memory Used", labels, nil),
|
||||||
MemTotal: prometheus.NewDesc(ns+"memory_installed", "System Installed Memory", labels, nil),
|
MemTotal: prometheus.NewDesc(ns+"memory_installed_bytes", "System Installed Memory", labels, nil),
|
||||||
MemBuffer: prometheus.NewDesc(ns+"memory_buffer", "System Memory Buffer", 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),
|
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 %.
|
Mem: prometheus.NewDesc(ns+"memory_utilization", "System Memory % Utilized", labels, nil), // this may not be %.
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue