diff --git a/agent/accumulator.go b/agent/accumulator.go index 6b2ffde2d4374..70744359f3fee 100644 --- a/agent/accumulator.go +++ b/agent/accumulator.go @@ -84,17 +84,13 @@ func (ac *accumulator) AddFields( if tags == nil { tags = make(map[string]string) } - // Apply plugin-wide tags if set - for k, v := range ac.inputConfig.Tags { - if _, ok := tags[k]; !ok { - tags[k] = v - } - } // Apply daemon-wide tags if set for k, v := range ac.defaultTags { - if _, ok := tags[k]; !ok { - tags[k] = v - } + tags[k] = v + } + // Apply plugin-wide tags if set + for k, v := range ac.inputConfig.Tags { + tags[k] = v } ac.inputConfig.Filter.FilterTags(tags) diff --git a/plugins/inputs/cassandra/cassandra.go b/plugins/inputs/cassandra/cassandra.go index b7525de1ac4a4..f49a74ab0a96e 100644 --- a/plugins/inputs/cassandra/cassandra.go +++ b/plugins/inputs/cassandra/cassandra.go @@ -9,17 +9,9 @@ import ( "io/ioutil" "net/http" "net/url" - //"reflect" "strings" ) -/*type Server struct { - Host string - Username string - Password string - Port string -}*/ - type JolokiaClient interface { MakeRequest(req *http.Request) (*http.Response, error) } @@ -55,12 +47,6 @@ type jmxMetric interface { addTagsFields(out map[string]interface{}) } -func addServerTags(host string, tags map[string]string) { - if host != "" && host != "localhost" && host != "127.0.0.1" { - tags["host"] = host - } -} - func newJavaMetric(host string, metric string, acc telegraf.Accumulator) *javaMetric { return &javaMetric{host: host, metric: metric, acc: acc} @@ -120,7 +106,7 @@ func (j javaMetric) addTagsFields(out map[string]interface{}) { tokens := parseJmxMetricRequest(mbean) addTokensToTags(tokens, tags) - addServerTags(j.host, tags) + tags["cassandra_host"] = j.host if _, ok := tags["mname"]; !ok { //Queries for a single value will not return a "name" tag in the response. @@ -148,7 +134,7 @@ func addCassandraMetric(mbean string, c cassandraMetric, fields := make(map[string]interface{}) tokens := parseJmxMetricRequest(mbean) addTokensToTags(tokens, tags) - addServerTags(c.host, tags) + tags["cassandra_host"] = c.host addValuesAsFields(values, fields, tags["mname"]) c.acc.AddFields(tokens["class"]+tokens["type"], fields, tags) @@ -192,7 +178,7 @@ func (j *Cassandra) SampleConfig() string { servers = ["myuser:mypassword@10.10.10.1:8778","10.10.10.2:8778",":8778"] ## List of metrics collected on above servers ## Each metric consists of a jmx path. - ## This will collect all heap memory usage metrics from the jvm and + ## This will collect all heap memory usage metrics from the jvm and ## ReadLatency metrics for all keyspaces and tables. ## "type=Table" in the query works with Cassandra3.0. Older versions might ## need to use "type=ColumnFamily" diff --git a/plugins/inputs/cassandra/cassandra_test.go b/plugins/inputs/cassandra/cassandra_test.go index 184fa3bbb45d4..aa39017fe7353 100644 --- a/plugins/inputs/cassandra/cassandra_test.go +++ b/plugins/inputs/cassandra/cassandra_test.go @@ -58,7 +58,7 @@ const validCassandraNestedMultiValueJSON = ` "status": 200, "timestamp": 1458089184, "value": { - "org.apache.cassandra.metrics:keyspace=test_keyspace1,name=ReadLatency,scope=test_table1,type=Table": + "org.apache.cassandra.metrics:keyspace=test_keyspace1,name=ReadLatency,scope=test_table1,type=Table": { "999thPercentile": 1.0, "Count": 100, "DurationUnit": "microseconds", @@ -66,7 +66,7 @@ const validCassandraNestedMultiValueJSON = ` "RateUnit": "events/second", "StdDev": null }, - "org.apache.cassandra.metrics:keyspace=test_keyspace2,name=ReadLatency,scope=test_table2,type=Table": + "org.apache.cassandra.metrics:keyspace=test_keyspace2,name=ReadLatency,scope=test_table2,type=Table": { "999thPercentile": 2.0, "Count": 200, "DurationUnit": "microseconds", @@ -163,13 +163,13 @@ func TestHttpJsonJavaMultiValue(t *testing.T) { "HeapMemoryUsage_used": 203288528.0, } tags1 := map[string]string{ - "host": "10.10.10.10", - "mname": "HeapMemoryUsage", + "cassandra_host": "10.10.10.10", + "mname": "HeapMemoryUsage", } tags2 := map[string]string{ - "host": "10.10.10.11", - "mname": "HeapMemoryUsage", + "cassandra_host": "10.10.10.11", + "mname": "HeapMemoryUsage", } acc.AssertContainsTaggedFields(t, "javaMemory", fields, tags1) acc.AssertContainsTaggedFields(t, "javaMemory", fields, tags2) @@ -190,8 +190,8 @@ func TestHttpJsonJavaMultiType(t *testing.T) { } tags := map[string]string{ - "host": "10.10.10.10", - "mname": "ConcurrentMarkSweep", + "cassandra_host": "10.10.10.10", + "mname": "ConcurrentMarkSweep", } acc.AssertContainsTaggedFields(t, "javaGarbageCollector", fields, tags) } @@ -231,10 +231,10 @@ func TestHttpJsonCassandraMultiValue(t *testing.T) { } tags := map[string]string{ - "host": "10.10.10.10", - "mname": "ReadLatency", - "keyspace": "test_keyspace1", - "scope": "test_table", + "cassandra_host": "10.10.10.10", + "mname": "ReadLatency", + "keyspace": "test_keyspace1", + "scope": "test_table", } acc.AssertContainsTaggedFields(t, "cassandraTable", fields, tags) } @@ -268,17 +268,17 @@ func TestHttpJsonCassandraNestedMultiValue(t *testing.T) { } tags1 := map[string]string{ - "host": "10.10.10.10", - "mname": "ReadLatency", - "keyspace": "test_keyspace1", - "scope": "test_table1", + "cassandra_host": "10.10.10.10", + "mname": "ReadLatency", + "keyspace": "test_keyspace1", + "scope": "test_table1", } tags2 := map[string]string{ - "host": "10.10.10.10", - "mname": "ReadLatency", - "keyspace": "test_keyspace2", - "scope": "test_table2", + "cassandra_host": "10.10.10.10", + "mname": "ReadLatency", + "keyspace": "test_keyspace2", + "scope": "test_table2", } acc.AssertContainsTaggedFields(t, "cassandraTable", fields1, tags1) diff --git a/plugins/inputs/disque/disque.go b/plugins/inputs/disque/disque.go index d726590b423bd..0e4baf9cb8d42 100644 --- a/plugins/inputs/disque/disque.go +++ b/plugins/inputs/disque/disque.go @@ -162,7 +162,7 @@ func (g *Disque) gatherServer(addr *url.URL, acc telegraf.Accumulator) error { var read int fields := make(map[string]interface{}) - tags := map[string]string{"host": addr.String()} + tags := map[string]string{"disque_host": addr.String()} for read < sz { line, err := r.ReadString('\n') if err != nil { diff --git a/plugins/inputs/rethinkdb/rethinkdb_server.go b/plugins/inputs/rethinkdb/rethinkdb_server.go index 98e2a35f0e8c1..f172717d1ecff 100644 --- a/plugins/inputs/rethinkdb/rethinkdb_server.go +++ b/plugins/inputs/rethinkdb/rethinkdb_server.go @@ -97,8 +97,8 @@ func (s *Server) getServerStatus() error { func (s *Server) getDefaultTags() map[string]string { tags := make(map[string]string) - tags["host"] = s.Url.Host - tags["hostname"] = s.serverStatus.Network.Hostname + tags["rethinkdb_host"] = s.Url.Host + tags["rethinkdb_hostname"] = s.serverStatus.Network.Hostname return tags } diff --git a/plugins/inputs/rethinkdb/rethinkdb_server_test.go b/plugins/inputs/rethinkdb/rethinkdb_server_test.go index c4b6442229d54..82ff292804a8c 100644 --- a/plugins/inputs/rethinkdb/rethinkdb_server_test.go +++ b/plugins/inputs/rethinkdb/rethinkdb_server_test.go @@ -20,8 +20,8 @@ func TestGetDefaultTags(t *testing.T) { in string out string }{ - {"host", server.Url.Host}, - {"hostname", server.serverStatus.Network.Hostname}, + {"rethinkdb_host", server.Url.Host}, + {"rethinkdb_hostname", server.serverStatus.Network.Hostname}, } defaultTags := server.getDefaultTags() for _, tt := range tagTests {