add flags '-input-list' and '-output-list' for telegraf command

This commit is contained in:
张光权 2016-03-06 20:08:51 +08:00
parent 81db1d4551
commit 8d702a3432
1 changed files with 15 additions and 5 deletions

View File

@ -13,6 +13,7 @@ import (
"github.com/influxdata/telegraf/internal/config" "github.com/influxdata/telegraf/internal/config"
"github.com/influxdata/telegraf/plugins/inputs" "github.com/influxdata/telegraf/plugins/inputs"
_ "github.com/influxdata/telegraf/plugins/inputs/all" _ "github.com/influxdata/telegraf/plugins/inputs/all"
"github.com/influxdata/telegraf/plugins/outputs"
_ "github.com/influxdata/telegraf/plugins/outputs/all" _ "github.com/influxdata/telegraf/plugins/outputs/all"
) )
@ -30,12 +31,13 @@ var fSampleConfig = flag.Bool("sample-config", false,
var fPidfile = flag.String("pidfile", "", "file to write our pid to") var fPidfile = flag.String("pidfile", "", "file to write our pid to")
var fInputFilters = flag.String("input-filter", "", var fInputFilters = flag.String("input-filter", "",
"filter the inputs to enable, separator is :") "filter the inputs to enable, separator is :")
var fInpuList = flag.Bool("input-list", false, "print all the plugins inputs")
var fOutputFilters = flag.String("output-filter", "", var fOutputFilters = flag.String("output-filter", "",
"filter the outputs to enable, separator is :") "filter the outputs to enable, separator is :")
var fOutputList = flag.Bool("output-list", false,
"print all the available outputs")
var fUsage = flag.String("usage", "", var fUsage = flag.String("usage", "",
"print usage for a plugin, ie, 'telegraf -usage mysql'") "print usage for a plugin, ie, 'telegraf -usage mysql'")
var fUsageList = flag.Bool("usage-list", false, "print all the plugins inputs")
var fInputFiltersLegacy = flag.String("filter", "", var fInputFiltersLegacy = flag.String("filter", "",
"filter the inputs to enable, separator is :") "filter the inputs to enable, separator is :")
var fOutputFiltersLegacy = flag.String("outputfilter", "", var fOutputFiltersLegacy = flag.String("outputfilter", "",
@ -60,9 +62,10 @@ The flags are:
-sample-config print out full sample configuration to stdout -sample-config print out full sample configuration to stdout
-config-directory directory containing additional *.conf files -config-directory directory containing additional *.conf files
-input-filter filter the input plugins to enable, separator is : -input-filter filter the input plugins to enable, separator is :
-input-list print all the plugins inputs
-output-filter filter the output plugins to enable, separator is : -output-filter filter the output plugins to enable, separator is :
-output-list print all the available outputs
-usage print usage for a plugin, ie, 'telegraf -usage mysql' -usage print usage for a plugin, ie, 'telegraf -usage mysql'
-usage-list print all the plugins input
-debug print metrics as they're generated to stdout -debug print metrics as they're generated to stdout
-quiet run in quiet mode -quiet run in quiet mode
-version print the version to stdout -version print the version to stdout
@ -117,6 +120,13 @@ func main() {
outputFilters = strings.Split(":"+outputFilter+":", ":") outputFilters = strings.Split(":"+outputFilter+":", ":")
} }
if *fOutputList {
fmt.Println("The outputs available:")
for k, _ := range outputs.Outputs {
fmt.Printf(" %s\n", k)
}
}
if *fVersion { if *fVersion {
v := fmt.Sprintf("Telegraf - Version %s", Version) v := fmt.Sprintf("Telegraf - Version %s", Version)
fmt.Println(v) fmt.Println(v)
@ -137,8 +147,8 @@ func main() {
return return
} }
if *fUsageList { if *fInpuList {
fmt.Println("The plugin inputs avaiable:") fmt.Println("The plugin inputs available:")
for k, _ := range inputs.Inputs { for k, _ := range inputs.Inputs {
fmt.Printf(" %s\n", k) fmt.Printf(" %s\n", k)
} }