Allow users to tell telegraf Agent not to include host tag

closes #848
This commit is contained in:
Cameron Sparr 2016-03-21 15:33:19 -06:00 committed by Michele Fadda
parent 649d03e3d7
commit 013804437a
4 changed files with 25 additions and 10 deletions

View File

@ -11,6 +11,7 @@
- [#866](https://github.com/influxdata/telegraf/pull/866): couchbase input plugin. Thanks @ljosa! - [#866](https://github.com/influxdata/telegraf/pull/866): couchbase input plugin. Thanks @ljosa!
- [#789](https://github.com/influxdata/telegraf/pull/789): Support multiple field specification and `field*` in graphite templates. Thanks @chrusty! - [#789](https://github.com/influxdata/telegraf/pull/789): Support multiple field specification and `field*` in graphite templates. Thanks @chrusty!
- [#762](https://github.com/influxdata/telegraf/pull/762): Nagios parser for the exec plugin. Thanks @titilambert! - [#762](https://github.com/influxdata/telegraf/pull/762): Nagios parser for the exec plugin. Thanks @titilambert!
- [#848](https://github.com/influxdata/telegraf/issues/848): Provide option to omit host tag from telegraf agent.
### Bugfixes ### Bugfixes
- [#890](https://github.com/influxdata/telegraf/issues/890): Create TLS config even if only ssl_ca is provided. - [#890](https://github.com/influxdata/telegraf/issues/890): Create TLS config even if only ssl_ca is provided.

View File

@ -27,17 +27,19 @@ func NewAgent(config *config.Config) (*Agent, error) {
Config: config, Config: config,
} }
if a.Config.Agent.Hostname == "" { if !a.Config.Agent.OmitHostname {
hostname, err := os.Hostname() if a.Config.Agent.Hostname == "" {
if err != nil { hostname, err := os.Hostname()
return nil, err if err != nil {
return nil, err
}
a.Config.Agent.Hostname = hostname
} }
a.Config.Agent.Hostname = hostname config.Tags["host"] = a.Config.Agent.Hostname
} }
config.Tags["host"] = a.Config.Agent.Hostname
return a, nil return a, nil
} }

View File

@ -1,7 +1,6 @@
package agent package agent
import ( import (
"github.com/stretchr/testify/assert"
"testing" "testing"
"time" "time"
@ -11,8 +10,18 @@ import (
_ "github.com/influxdata/telegraf/plugins/inputs/all" _ "github.com/influxdata/telegraf/plugins/inputs/all"
// needing to load the outputs // needing to load the outputs
_ "github.com/influxdata/telegraf/plugins/outputs/all" _ "github.com/influxdata/telegraf/plugins/outputs/all"
"github.com/stretchr/testify/assert"
) )
func TestAgent_OmitHostname(t *testing.T) {
c := config.NewConfig()
c.Agent.OmitHostname = true
_, err := NewAgent(c)
assert.NoError(t, err)
assert.NotContains(t, c.Tags, "host")
}
func TestAgent_LoadPlugin(t *testing.T) { func TestAgent_LoadPlugin(t *testing.T) {
c := config.NewConfig() c := config.NewConfig()
c.InputFilters = []string{"mysql"} c.InputFilters = []string{"mysql"}

View File

@ -97,8 +97,9 @@ type AgentConfig struct {
Debug bool Debug bool
// Quiet is the option for running in quiet mode // Quiet is the option for running in quiet mode
Quiet bool Quiet bool
Hostname string Hostname string
OmitHostname bool
} }
// Inputs returns a list of strings of the configured inputs. // Inputs returns a list of strings of the configured inputs.
@ -183,6 +184,8 @@ var header = `# Telegraf Configuration
quiet = false quiet = false
## Override default hostname, if empty use os.Hostname() ## Override default hostname, if empty use os.Hostname()
hostname = "" hostname = ""
## If set to true, do no set the "host" tag in the telegraf agent.
omit_hostname = false
# #