diff --git a/config.go b/config.go index d50dd487f..168b8bd1d 100644 --- a/config.go +++ b/config.go @@ -30,7 +30,7 @@ func (d *Duration) UnmarshalTOML(b []byte) error { return nil } -// Config specifies the URL/user/password for the database that telegraf +// Config specifies the outputs that telegraf // will be logging to, as well as all the plugins that the user has // specified type Config struct { @@ -200,6 +200,7 @@ func LoadConfig(path string) (*Config, error) { } c := &Config{ + Tags: make(map[string]string), plugins: make(map[string]*ast.Table), outputs: make(map[string]*ast.Table), } @@ -213,6 +214,10 @@ func LoadConfig(path string) (*Config, error) { switch name { case "agent": c.agent = subtbl + case "tags": + if err := toml.UnmarshalTable(subtbl, c.Tags); err != nil { + return nil, errInvalidConfig + } case "outputs": for outputName, outputVal := range subtbl.Fields { outputSubtbl, ok := outputVal.(*ast.Table) diff --git a/etc/config.sample.toml b/etc/config.sample.toml index 38cfeba68..2b816c632 100644 --- a/etc/config.sample.toml +++ b/etc/config.sample.toml @@ -22,8 +22,11 @@ # NOTE: The configuration has a few required parameters. They are marked # with 'required'. Be sure to edit those to make this configuration work. +# OUTPUTS +[outputs] + # Configuration for influxdb server to send metrics to -[influxdb] +[outputs.influxdb] # The full HTTP endpoint URL for your InfluxDB instance url = "http://localhost:8086" # required. @@ -35,11 +38,9 @@ database = "telegraf" # required. # Set the user agent for the POSTs (can be useful for log differentiation) # user_agent = "telegraf" -# tags = { "dc": "us-east-1" } # Tags can also be specified via a normal map, but only one form at a time: - -# [influxdb.tags] +# [tags] # dc = "us-east-1" # Configuration for telegraf itself diff --git a/telegraf b/telegraf new file mode 100755 index 000000000..526440e8e Binary files /dev/null and b/telegraf differ diff --git a/testdata/influx.toml b/testdata/influx.toml index fc5d3c493..10684b159 100644 --- a/testdata/influx.toml +++ b/testdata/influx.toml @@ -3,12 +3,15 @@ interval = "5s" http = ":11213" debug = true -[influxdb] +[outputs] +[outputs.influxdb] url = "http://localhost:8086" username = "root" password = "root" database = "telegraf" -tags = { dc = "us-phx-1" } + +[tags] +dc = "us-phx-1" [redis] address = ":6379"