mirror of
https://github.com/prometheus/node_exporter.git
synced 2024-11-23 12:30:46 +01:00
04380ae60a
This works by using a global array with references to NewXCollector functions. Each collector appends to that array in it's init() function. Which file gets build depends on the build tags: To build only the ganglia exporter, you can do: go build -tags nonative,ganglia By default it will build only the native collector.
28 lines
532 B
Go
28 lines
532 B
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"log"
|
|
|
|
"github.com/prometheus/node_exporter/exporter"
|
|
)
|
|
|
|
var (
|
|
configFile = flag.String("config", "node_exporter.conf", "config file.")
|
|
memprofile = flag.String("memprofile", "", "write memory profile to this file")
|
|
)
|
|
|
|
func main() {
|
|
flag.Parse()
|
|
|
|
exporter, err := exporter.New(*configFile)
|
|
if err != nil {
|
|
log.Fatalf("Couldn't instantiate exporter: %s", err)
|
|
}
|
|
log.Printf("Registered collectors:")
|
|
for _, c := range exporter.Collectors {
|
|
log.Print(" - ", c.Name())
|
|
}
|
|
exporter.Loop()
|
|
}
|