|
|
|
@ -3,6 +3,7 @@ package main
|
|
|
|
|
import ( |
|
|
|
|
"encoding/json" |
|
|
|
|
"flag" |
|
|
|
|
"fmt" |
|
|
|
|
"io/ioutil" |
|
|
|
|
"log" |
|
|
|
|
"net/http" |
|
|
|
@ -24,7 +25,8 @@ var (
|
|
|
|
|
configFile = flag.String("config", "node_exporter.conf", "config file.") |
|
|
|
|
memProfile = flag.String("memprofile", "", "write memory profile to this file") |
|
|
|
|
listeningAddress = flag.String("listen", ":8080", "address to listen on") |
|
|
|
|
enabledCollectors = flag.String("enabledCollectors", "attributes,diskstats,loadavg,meminfo,netdev", "comma seperated list of collectors to use") |
|
|
|
|
enabledCollectors = flag.String("enabledCollectors", "attributes,diskstats,loadavg,meminfo,netdev", "comma-seperated list of collectors to use") |
|
|
|
|
printCollectors = flag.Bool("printCollectors", false, "If true, print available collectors and exit") |
|
|
|
|
interval = flag.Duration("interval", 60*time.Second, "refresh interval") |
|
|
|
|
scrapeDurations = prometheus.NewDefaultHistogram() |
|
|
|
|
metricsUpdated = prometheus.NewGauge() |
|
|
|
@ -32,6 +34,13 @@ var (
|
|
|
|
|
|
|
|
|
|
func main() { |
|
|
|
|
flag.Parse() |
|
|
|
|
if *printCollectors { |
|
|
|
|
fmt.Printf("Available collectors:\n") |
|
|
|
|
for n, _ := range collector.Factories { |
|
|
|
|
fmt.Printf(" - %s\n", n) |
|
|
|
|
} |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
registry := prometheus.NewRegistry() |
|
|
|
|
collectors, err := loadCollectors(*configFile, registry) |
|
|
|
|
if err != nil { |
|
|
|
|