mirror of
https://github.com/prometheus-community/windows_exporter
synced 2025-02-16 03:57:37 +00:00
Merge pull request #651 from breed808/config_files
Fix exporter failing to start without config flag
This commit is contained in:
commit
2fbd0464dc
@ -154,8 +154,6 @@ An example configuration file can be found [here](docs/example_config.yml).
|
||||
|
||||
#### Configuration file notes
|
||||
|
||||
If the `--config.file` flag is not specified, `windows_exporter` will look for a file located at `%programfiles\windows_exporter\config.yml` by default. If no file is found, CLI flags are processed as per normal.
|
||||
|
||||
Configuration file values can be mixed with CLI flags. E.G.
|
||||
|
||||
`.\windows_exporter.exe --collectors.enabled=cpu,logon`
|
||||
|
30
exporter.go
30
exporter.go
@ -273,8 +273,8 @@ func main() {
|
||||
app = kingpin.New("windows_exporter", "")
|
||||
configFile = app.Flag(
|
||||
"config.file",
|
||||
"YAML configuration file to use. Values set in this file will override flags.",
|
||||
).Default(os.ExpandEnv("$ProgramFiles\\windows_exporter\\config.yml")).String()
|
||||
"YAML configuration file to use. Values set in this file will be overriden by CLI flags.",
|
||||
).String()
|
||||
listenAddress = app.Flag(
|
||||
"telemetry.addr",
|
||||
"host:port for exporter.",
|
||||
@ -311,18 +311,20 @@ func main() {
|
||||
if err != nil {
|
||||
log.Fatalf("%v\n", err)
|
||||
}
|
||||
resolver, err := config.NewResolver(*configFile)
|
||||
if err != nil {
|
||||
log.Fatalf("could not load config file: %v\n", err)
|
||||
}
|
||||
err = resolver.Bind(app, os.Args[1:])
|
||||
if err != nil {
|
||||
log.Fatalf("%v\n", err)
|
||||
}
|
||||
// Parse flags once more to include those discovered in configuration file(s).
|
||||
_, err = app.Parse(os.Args[1:])
|
||||
if err != nil {
|
||||
log.Fatalf("%v\n", err)
|
||||
if *configFile != "" {
|
||||
resolver, err := config.NewResolver(*configFile)
|
||||
if err != nil {
|
||||
log.Fatalf("could not load config file: %v\n", err)
|
||||
}
|
||||
err = resolver.Bind(app, os.Args[1:])
|
||||
if err != nil {
|
||||
log.Fatalf("%v\n", err)
|
||||
}
|
||||
// Parse flags once more to include those discovered in configuration file(s).
|
||||
_, err = app.Parse(os.Args[1:])
|
||||
if err != nil {
|
||||
log.Fatalf("%v\n", err)
|
||||
}
|
||||
}
|
||||
|
||||
if *printCollectors {
|
||||
|
Loading…
Reference in New Issue
Block a user