From 1c167f5b9f25319830b0d06b0a0a0df5208f6479 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Gro=C3=9Fe=20Sundrup?= Date: Wed, 28 Dec 2016 15:37:04 +0100 Subject: [PATCH] implement selective enabling of additional collectors, closes #216 --- collector/bonding_linux.go | 2 ++ collector/collector.go | 1 + collector/conntrack_linux.go | 3 +++ collector/cpu_dragonfly.go | 2 ++ collector/cpu_freebsd.go | 2 ++ collector/devstat_dragonfly.go | 2 ++ collector/devstat_freebsd.go | 2 ++ collector/diskstats_linux.go | 1 + collector/drbd_linux.go | 2 ++ collector/entropy_linux.go | 2 ++ collector/filefd_linux.go | 2 ++ collector/filesystem_common.go | 1 + collector/gmond.go | 2 ++ collector/hwmon_linux.go | 2 ++ collector/interrupts_common.go | 7 ++++++- collector/ipvs_linux.go | 2 ++ collector/ksmd_linux.go | 2 ++ collector/loadavg.go | 2 ++ collector/logind_linux.go | 2 ++ collector/mdadm_linux.go | 2 ++ collector/megacli.go | 1 + collector/meminfo_bsd.go | 2 ++ collector/meminfo_linux.go | 2 ++ collector/meminfo_numa_linux.go | 2 ++ collector/mountstats_linux.go | 2 ++ collector/netdev_common.go | 1 + collector/netstat_linux.go | 2 ++ collector/nfs_linux.go | 2 ++ collector/ntp.go | 1 + collector/runit.go | 1 + collector/stat_linux.go | 2 ++ collector/supervisord.go | 1 + collector/systemd_linux.go | 1 + collector/tcpstat_linux.go | 2 ++ collector/textfile.go | 1 + collector/time.go | 2 ++ collector/vmstat_linux.go | 2 ++ node_exporter.go | 32 ++++++++++++++++++++++++-------- 38 files changed, 93 insertions(+), 9 deletions(-) diff --git a/collector/bonding_linux.go b/collector/bonding_linux.go index a9bbcb2670..f764b87e54 100644 --- a/collector/bonding_linux.go +++ b/collector/bonding_linux.go @@ -16,6 +16,7 @@ package collector import ( + "flag" "fmt" "io/ioutil" "os" @@ -31,6 +32,7 @@ type bondingCollector struct { func init() { Factories["bonding"] = NewBondingCollector + CollectorsEnabledState["bonding"] = flag.Bool("collectors.bonding.enabled", false, "enables bonding-collector") } // NewBondingCollector returns a newly allocated bondingCollector. diff --git a/collector/collector.go b/collector/collector.go index da109c96a1..f4a0df6e5b 100644 --- a/collector/collector.go +++ b/collector/collector.go @@ -21,6 +21,7 @@ import ( const Namespace = "node" var Factories = make(map[string]func() (Collector, error)) +var CollectorsEnabledState = make(map[string]*bool) // Interface a collector has to implement. type Collector interface { diff --git a/collector/conntrack_linux.go b/collector/conntrack_linux.go index 3f435718d0..1be702c6e9 100644 --- a/collector/conntrack_linux.go +++ b/collector/conntrack_linux.go @@ -16,6 +16,8 @@ package collector import ( + "flag" + "github.com/prometheus/client_golang/prometheus" ) @@ -26,6 +28,7 @@ type conntrackCollector struct { func init() { Factories["conntrack"] = NewConntrackCollector + CollectorsEnabledState["conntrack"] = flag.Bool("collectors.conntrack.enabled", true, "enables conntrack-collector") } // Takes a prometheus registry and returns a new Collector exposing diff --git a/collector/cpu_dragonfly.go b/collector/cpu_dragonfly.go index db690b0a51..fdec81fe85 100644 --- a/collector/cpu_dragonfly.go +++ b/collector/cpu_dragonfly.go @@ -17,6 +17,7 @@ package collector import ( "errors" + "flag" "fmt" "unsafe" @@ -89,6 +90,7 @@ type statCollector struct { func init() { Factories["cpu"] = NewStatCollector + enabledCollectors["cpu"] = flag.Bool("collectors.cpu.enabled", true, "enables cpu-collector") } // Takes a prometheus registry and returns a new Collector exposing diff --git a/collector/cpu_freebsd.go b/collector/cpu_freebsd.go index 0ede1a6951..c0823b7d27 100644 --- a/collector/cpu_freebsd.go +++ b/collector/cpu_freebsd.go @@ -17,6 +17,7 @@ package collector import ( "errors" + "flag" "strconv" "unsafe" @@ -111,6 +112,7 @@ type statCollector struct { func init() { Factories["cpu"] = NewStatCollector + enabledCollectors["cpu"] = flag.Bool("collectors.cpu.enabled", true, "enables cpu-collector") } // Takes a prometheus registry and returns a new Collector exposing diff --git a/collector/devstat_dragonfly.go b/collector/devstat_dragonfly.go index 13aa1a55ec..46540fe159 100644 --- a/collector/devstat_dragonfly.go +++ b/collector/devstat_dragonfly.go @@ -17,6 +17,7 @@ package collector import ( "errors" + "flag" "fmt" "github.com/prometheus/client_golang/prometheus" @@ -100,6 +101,7 @@ type devstatCollector struct { func init() { Factories["devstat"] = NewDevstatCollector + enabledCollectors["devstat"] = flag.Bool("collectors.devstat.enabled", false, "enables devstat-collector") } // Takes a prometheus registry and returns a new Collector exposing diff --git a/collector/devstat_freebsd.go b/collector/devstat_freebsd.go index 3967df1045..161b507b01 100644 --- a/collector/devstat_freebsd.go +++ b/collector/devstat_freebsd.go @@ -17,6 +17,7 @@ package collector import ( "errors" + "flag" "fmt" "github.com/prometheus/client_golang/prometheus" @@ -147,6 +148,7 @@ type devstatCollector struct { func init() { Factories["devstat"] = NewDevstatCollector + enabledCollectors["devstat"] = flag.Bool("collectors.devstat.enabled", false, "enables devstat-collector") } // Takes a prometheus registry and returns a new Collector exposing diff --git a/collector/diskstats_linux.go b/collector/diskstats_linux.go index e7b24fda9b..a32ae55b4c 100644 --- a/collector/diskstats_linux.go +++ b/collector/diskstats_linux.go @@ -45,6 +45,7 @@ type diskstatsCollector struct { func init() { Factories["diskstats"] = NewDiskstatsCollector + CollectorsEnabledState["diskstats"] = flag.Bool("collectors.diskstats.enabled", true, "enables diskstats-collector") } // Takes a prometheus registry and returns a new Collector exposing diff --git a/collector/drbd_linux.go b/collector/drbd_linux.go index d5f4cd5eca..34aa8bd718 100644 --- a/collector/drbd_linux.go +++ b/collector/drbd_linux.go @@ -15,6 +15,7 @@ package collector import ( "bufio" + "flag" "fmt" "os" "strconv" @@ -149,6 +150,7 @@ type drbdCollector struct{} func init() { Factories["drbd"] = newDRBDCollector + CollectorsEnabledState["drdb"] = flag.Bool("collectors.drdb.enabled", false, "enables drdb-collector") } func newDRBDCollector() (Collector, error) { diff --git a/collector/entropy_linux.go b/collector/entropy_linux.go index 0ee6db6033..ca43b02ea2 100644 --- a/collector/entropy_linux.go +++ b/collector/entropy_linux.go @@ -16,6 +16,7 @@ package collector import ( + "flag" "fmt" "github.com/prometheus/client_golang/prometheus" @@ -27,6 +28,7 @@ type entropyCollector struct { func init() { Factories["entropy"] = NewEntropyCollector + CollectorsEnabledState["entropy"] = flag.Bool("collectors.entropy.enabled", true, "enables entropy-collector") } // Takes a prometheus registry and returns a new Collector exposing diff --git a/collector/filefd_linux.go b/collector/filefd_linux.go index 180c642506..e5ea589863 100644 --- a/collector/filefd_linux.go +++ b/collector/filefd_linux.go @@ -17,6 +17,7 @@ package collector import ( "bufio" + "flag" "fmt" "io" "os" @@ -34,6 +35,7 @@ type fileFDStatCollector struct{} func init() { Factories[fileFDStatSubsystem] = NewFileFDStatCollector + CollectorsEnabledState["filefd"] = flag.Bool("collectors.filefd.enabled", true, "enables filefd-collector") } // NewFileFDStatCollector returns a new Collector exposing file-nr stats. diff --git a/collector/filesystem_common.go b/collector/filesystem_common.go index 30e2b8a6db..29a8fb86b4 100644 --- a/collector/filesystem_common.go +++ b/collector/filesystem_common.go @@ -58,6 +58,7 @@ type filesystemStats struct { func init() { Factories["filesystem"] = NewFilesystemCollector + CollectorsEnabledState["filesystem"] = flag.Bool("collectors.filesystem.enabled", true, "enables filesystem-collector") } // Takes a prometheus registry and returns a new Collector exposing diff --git a/collector/gmond.go b/collector/gmond.go index 573785d3c4..67715bbc40 100644 --- a/collector/gmond.go +++ b/collector/gmond.go @@ -18,6 +18,7 @@ package collector import ( "bufio" "encoding/xml" + "flag" "fmt" "io" "net" @@ -42,6 +43,7 @@ type gmondCollector struct { func init() { Factories["gmond"] = NewGmondCollector + CollectorsEnabledState["gmond"] = flag.Bool("collectors.gmond.enabled", false, "enables gmond-collector") } var illegalCharsRE = regexp.MustCompile(`[^a-zA-Z0-9_]`) diff --git a/collector/hwmon_linux.go b/collector/hwmon_linux.go index d879aca9ab..4269c1a4d7 100644 --- a/collector/hwmon_linux.go +++ b/collector/hwmon_linux.go @@ -17,6 +17,7 @@ package collector import ( "errors" + "flag" "io/ioutil" "os" "path" @@ -45,6 +46,7 @@ var ( func init() { Factories["hwmon"] = NewHwMonCollector + CollectorsEnabledState["hwmon"] = flag.Bool("collectors.hwmon.enabled", true, "enables hwmon-collector") } type hwMonCollector struct{} diff --git a/collector/interrupts_common.go b/collector/interrupts_common.go index fd0d7c6882..402f1388af 100644 --- a/collector/interrupts_common.go +++ b/collector/interrupts_common.go @@ -16,7 +16,11 @@ package collector -import "github.com/prometheus/client_golang/prometheus" +import ( + "flag" + + "github.com/prometheus/client_golang/prometheus" +) type interruptsCollector struct { metric *prometheus.CounterVec @@ -24,6 +28,7 @@ type interruptsCollector struct { func init() { Factories["interrupts"] = NewInterruptsCollector + CollectorsEnabledState["interrupts"] = flag.Bool("collectors.interrupts.enabled", false, "enables interrupts-collector") } // Takes a prometheus registry and returns a new Collector exposing diff --git a/collector/ipvs_linux.go b/collector/ipvs_linux.go index c2ba7fcbfb..f9917a71b1 100644 --- a/collector/ipvs_linux.go +++ b/collector/ipvs_linux.go @@ -16,6 +16,7 @@ package collector import ( + "flag" "fmt" "strconv" @@ -32,6 +33,7 @@ type ipvsCollector struct { func init() { Factories["ipvs"] = NewIPVSCollector + CollectorsEnabledState["ipvs"] = flag.Bool("collectors.ipvs.enabled", false, "enable interrupts-collector") } // NewIPVSCollector sets up a new collector for IPVS metrics. It accepts the diff --git a/collector/ksmd_linux.go b/collector/ksmd_linux.go index 198024e9a0..184842f1e1 100644 --- a/collector/ksmd_linux.go +++ b/collector/ksmd_linux.go @@ -16,6 +16,7 @@ package collector import ( + "flag" "fmt" "path" @@ -33,6 +34,7 @@ type ksmdCollector struct { func init() { Factories["ksmd"] = NewKsmdCollector + CollectorsEnabledState["ksmd"] = flag.Bool("collectors.ksmd.enabled", false, "enables ksmd-collector") } func getCanonicalMetricName(filename string) string { diff --git a/collector/loadavg.go b/collector/loadavg.go index 1a022660eb..d300232360 100644 --- a/collector/loadavg.go +++ b/collector/loadavg.go @@ -17,6 +17,7 @@ package collector import ( + "flag" "fmt" "github.com/prometheus/client_golang/prometheus" @@ -29,6 +30,7 @@ type loadavgCollector struct { func init() { Factories["loadavg"] = NewLoadavgCollector + CollectorsEnabledState["loadavg"] = flag.Bool("collectors.loadavg.enabled", true, "enable loadavg-collector") } // Take a prometheus registry and return a new Collector exposing load average. diff --git a/collector/logind_linux.go b/collector/logind_linux.go index e7172f1b42..be277746c3 100644 --- a/collector/logind_linux.go +++ b/collector/logind_linux.go @@ -16,6 +16,7 @@ package collector import ( + "flag" "fmt" "os" "strconv" @@ -79,6 +80,7 @@ type logindSeatEntry struct { func init() { Factories["logind"] = NewLogindCollector + CollectorsEnabledState["logind"] = flag.Bool("collectors.logind.enabled", false, "enables logind-collector") } // Takes a prometheus registry and returns a new Collector exposing diff --git a/collector/mdadm_linux.go b/collector/mdadm_linux.go index f820d2b357..8d02fabeca 100644 --- a/collector/mdadm_linux.go +++ b/collector/mdadm_linux.go @@ -16,6 +16,7 @@ package collector import ( + "flag" "fmt" "io/ioutil" "os" @@ -48,6 +49,7 @@ type mdadmCollector struct{} func init() { Factories["mdadm"] = NewMdadmCollector + CollectorsEnabledState["mdadm"] = flag.Bool("collectors.mdadm.enabled", true, "enable mdadm-collector") } func evalStatusline(statusline string) (active, total, size int64, err error) { diff --git a/collector/megacli.go b/collector/megacli.go index 6ceb78a12c..e11ecc6360 100644 --- a/collector/megacli.go +++ b/collector/megacli.go @@ -45,6 +45,7 @@ type megaCliCollector struct { func init() { Factories["megacli"] = NewMegaCliCollector + CollectorsEnabledState["megacli"] = flag.Bool("collectors.megacli.enabled", false, "enables megacli-collector") } // Takes a prometheus registry and returns a new Collector exposing diff --git a/collector/meminfo_bsd.go b/collector/meminfo_bsd.go index 9e70fd1ae9..cbed929e94 100644 --- a/collector/meminfo_bsd.go +++ b/collector/meminfo_bsd.go @@ -18,6 +18,7 @@ package collector import ( "errors" + "flag" "github.com/prometheus/client_golang/prometheus" ) @@ -49,6 +50,7 @@ type meminfoCollector struct{} func init() { Factories["meminfo"] = NewMeminfoCollector + CollectorsEnabledState["meminfo"] = flag.Bool("collectors.meminfo.enabled", true, "enables meminfo-collector") } // Takes a prometheus registry and returns a new Collector exposing diff --git a/collector/meminfo_linux.go b/collector/meminfo_linux.go index d1ebe26c50..ef46d24a0c 100644 --- a/collector/meminfo_linux.go +++ b/collector/meminfo_linux.go @@ -17,6 +17,7 @@ package collector import ( "bufio" + "flag" "fmt" "io" "os" @@ -36,6 +37,7 @@ type meminfoCollector struct{} func init() { Factories["meminfo"] = NewMeminfoCollector + CollectorsEnabledState["meminfo"] = flag.Bool("collectors.meminfo.enabled", true, "enables meminfo-collector") } // Takes a prometheus registry and returns a new Collector exposing diff --git a/collector/meminfo_numa_linux.go b/collector/meminfo_numa_linux.go index f6310c65bf..3add5da1f8 100644 --- a/collector/meminfo_numa_linux.go +++ b/collector/meminfo_numa_linux.go @@ -17,6 +17,7 @@ package collector import ( "bufio" + "flag" "fmt" "io" "os" @@ -48,6 +49,7 @@ type meminfoNumaCollector struct { func init() { Factories["meminfo_numa"] = NewMeminfoNumaCollector + CollectorsEnabledState["meminfo_numa"] = flag.Bool("collectors.meminfo_numa.enabled", false, "enable meminfo-numa-collector") } // Takes a prometheus registry and returns a new Collector exposing diff --git a/collector/mountstats_linux.go b/collector/mountstats_linux.go index e9360e8457..d72a948410 100644 --- a/collector/mountstats_linux.go +++ b/collector/mountstats_linux.go @@ -14,6 +14,7 @@ package collector import ( + "flag" "fmt" "github.com/prometheus/client_golang/prometheus" @@ -61,6 +62,7 @@ type mountStatsCollector struct { func init() { Factories["mountstats"] = NewMountStatsCollector + CollectorsEnabledState["mountstats"] = flag.Bool("collectors.mountstats.enabled", false, "enable mountstats-collectors") } func NewMountStatsCollector() (Collector, error) { diff --git a/collector/netdev_common.go b/collector/netdev_common.go index 41edf5d745..c83c1a365d 100644 --- a/collector/netdev_common.go +++ b/collector/netdev_common.go @@ -39,6 +39,7 @@ type netDevCollector struct { func init() { Factories["netdev"] = NewNetDevCollector + CollectorsEnabledState["netdev"] = flag.Bool("collectors.netdev.enabled", true, "enables netdev-collector") } // NewNetDevCollector returns a new Collector exposing network device stats. diff --git a/collector/netstat_linux.go b/collector/netstat_linux.go index 8b3d6882ee..b5eb047133 100644 --- a/collector/netstat_linux.go +++ b/collector/netstat_linux.go @@ -17,6 +17,7 @@ package collector import ( "bufio" + "flag" "fmt" "io" "os" @@ -34,6 +35,7 @@ type netStatCollector struct{} func init() { Factories["netstat"] = NewNetStatCollector + CollectorsEnabledState["netstat"] = flag.Bool("collectors.netstat.enabled", true, "enables netstat-collector") } // NewNetStatCollector takes and returns diff --git a/collector/nfs_linux.go b/collector/nfs_linux.go index 70083d32b0..38e71e50fe 100644 --- a/collector/nfs_linux.go +++ b/collector/nfs_linux.go @@ -15,6 +15,7 @@ package collector import ( "errors" + "flag" "io/ioutil" "os" "regexp" @@ -109,6 +110,7 @@ type nfsCollector struct{} func init() { Factories["nfs"] = NewNfsCollector + CollectorsEnabledState["nfs"] = flag.Bool("collectors.nfs.enabled", false, "enables nfs-collector") } func NewNfsCollector() (Collector, error) { diff --git a/collector/ntp.go b/collector/ntp.go index 60c9b76e4b..733ab11b7e 100644 --- a/collector/ntp.go +++ b/collector/ntp.go @@ -36,6 +36,7 @@ type ntpCollector struct { func init() { Factories["ntp"] = NewNtpCollector + CollectorsEnabledState["ntp"] = flag.Bool("collectors.ntp.enabled", false, "enables ntp-collector") } // Takes a prometheus registry and returns a new Collector exposing diff --git a/collector/runit.go b/collector/runit.go index 2dc6e12639..b6d10dee49 100644 --- a/collector/runit.go +++ b/collector/runit.go @@ -34,6 +34,7 @@ type runitCollector struct { func init() { Factories["runit"] = NewRunitCollector + CollectorsEnabledState["runit"] = flag.Bool("collectors.runit.enabled", false, "enables runit-collector") } func NewRunitCollector() (Collector, error) { diff --git a/collector/stat_linux.go b/collector/stat_linux.go index 0a48681475..9d2da4f7ff 100644 --- a/collector/stat_linux.go +++ b/collector/stat_linux.go @@ -17,6 +17,7 @@ package collector import ( "bufio" + "flag" "os" "strconv" "strings" @@ -40,6 +41,7 @@ type statCollector struct { func init() { Factories["stat"] = NewStatCollector + CollectorsEnabledState["stat"] = flag.Bool("collectors.stat.enabled", true, "enables stat-collector") } // Takes a prometheus registry and returns a new Collector exposing diff --git a/collector/supervisord.go b/collector/supervisord.go index a8ee5bf1c3..756f46c00c 100644 --- a/collector/supervisord.go +++ b/collector/supervisord.go @@ -37,6 +37,7 @@ type supervisordCollector struct { func init() { Factories["supervisord"] = NewSupervisordCollector + CollectorsEnabledState["supervisord"] = flag.Bool("collectors.supervisord.enabled", false, "enables supervisord-collector") } func NewSupervisordCollector() (Collector, error) { diff --git a/collector/systemd_linux.go b/collector/systemd_linux.go index 93b25d4926..91dc89bc01 100644 --- a/collector/systemd_linux.go +++ b/collector/systemd_linux.go @@ -49,6 +49,7 @@ var ( func init() { Factories["systemd"] = NewSystemdCollector + CollectorsEnabledState["systemd"] = flag.Bool("collectors.systemd.enabled", false, "enables systemd-collector") } // Takes a prometheus registry and returns a new Collector exposing diff --git a/collector/tcpstat_linux.go b/collector/tcpstat_linux.go index ca425155ad..4272b08323 100644 --- a/collector/tcpstat_linux.go +++ b/collector/tcpstat_linux.go @@ -17,6 +17,7 @@ package collector import ( "bufio" + "flag" "fmt" "io" "os" @@ -48,6 +49,7 @@ type tcpStatCollector struct { func init() { Factories["tcpstat"] = NewTCPStatCollector + CollectorsEnabledState["tcpstat"] = flag.Bool("collectors.tcpstat.enabled", false, "enables tcpstat-collector") } // NewTCPStatCollector takes a returns diff --git a/collector/textfile.go b/collector/textfile.go index ab0c3a7db9..567a6b3fbf 100644 --- a/collector/textfile.go +++ b/collector/textfile.go @@ -42,6 +42,7 @@ type textFileCollector struct { func init() { Factories["textfile"] = NewTextFileCollector + CollectorsEnabledState["textfile"] = flag.Bool("collectors.textfile.enabled", true, "enables textfile-collector") } // Takes a registers a diff --git a/collector/time.go b/collector/time.go index 627f46790d..9a0860cb35 100644 --- a/collector/time.go +++ b/collector/time.go @@ -16,6 +16,7 @@ package collector import ( + "flag" "time" "github.com/prometheus/client_golang/prometheus" @@ -28,6 +29,7 @@ type timeCollector struct { func init() { Factories["time"] = NewTimeCollector + CollectorsEnabledState["time"] = flag.Bool("collectors.time.enabled", true, "enables time-collector") } // Takes a prometheus registry and returns a new Collector exposing diff --git a/collector/vmstat_linux.go b/collector/vmstat_linux.go index a43bacf78c..68702709d4 100644 --- a/collector/vmstat_linux.go +++ b/collector/vmstat_linux.go @@ -17,6 +17,7 @@ package collector import ( "bufio" + "flag" "fmt" "os" "strconv" @@ -33,6 +34,7 @@ type vmStatCollector struct{} func init() { Factories["vmstat"] = NewvmStatCollector + CollectorsEnabledState["vmstat"] = flag.Bool("collectors.vmstat.enabled", true, "enables vmstat-collector") } // Takes a prometheus registry and returns a new Collector exposing diff --git a/node_exporter.go b/node_exporter.go index 52d76b4c61..5753bbd34e 100644 --- a/node_exporter.go +++ b/node_exporter.go @@ -97,9 +97,10 @@ func execute(name string, c collector.Collector, ch chan<- prometheus.Metric) { scrapeDurations.WithLabelValues(name, result).Observe(duration.Seconds()) } -func loadCollectors(list string) (map[string]collector.Collector, error) { +func loadCollectors(collectorList string) (map[string]collector.Collector, error) { collectors := map[string]collector.Collector{} - for _, name := range strings.Split(list, ",") { + collectorsEnabled := collector.CollectorsEnabledState + for _, name := range strings.Split(collectorList, ",") { fn, ok := collector.Factories[name] if !ok { return nil, fmt.Errorf("collector '%s' not available", name) @@ -110,6 +111,21 @@ func loadCollectors(list string) (map[string]collector.Collector, error) { } collectors[name] = c } + for name, enabled := range collectorsEnabled { + if *enabled { + if _, ok := collectors[name]; !ok { + fn, ok := collector.Factories[name] + if !ok { + return nil, fmt.Errorf("collector '%s' not available", name) + } + c, err := fn() + if err != nil { + return nil, err + } + collectors[name] = c + } + } + } return collectors, nil } @@ -119,11 +135,11 @@ func init() { func main() { var ( - showVersion = flag.Bool("version", false, "Print version information.") - listenAddress = flag.String("web.listen-address", ":9100", "Address on which to expose metrics and web interface.") - metricsPath = flag.String("web.telemetry-path", "/metrics", "Path under which to expose metrics.") - enabledCollectors = flag.String("collectors.enabled", filterAvailableCollectors(defaultCollectors), "Comma-separated list of collectors to use.") - printCollectors = flag.Bool("collectors.print", false, "If true, print available collectors and exit.") + showVersion = flag.Bool("version", false, "Print version information.") + listenAddress = flag.String("web.listen-address", ":9100", "Address on which to expose metrics and web interface.") + metricsPath = flag.String("web.telemetry-path", "/metrics", "Path under which to expose metrics.") + enabledCollectorsList = flag.String("collectors.enabled", filterAvailableCollectors(defaultCollectors), "Comma-separated list of collectors to use.") + printCollectors = flag.Bool("collectors.print", false, "If true, print available collectors and exit.") ) flag.Parse() @@ -147,7 +163,7 @@ func main() { } return } - collectors, err := loadCollectors(*enabledCollectors) + collectors, err := loadCollectors(*enabledCollectorsList) if err != nil { log.Fatalf("Couldn't load collectors: %s", err) }