Add telegraf and go version to the internal input plugin (#6216)
This commit is contained in:
parent
17465b0aaf
commit
eb8959272d
|
@ -42,14 +42,16 @@ agent stats collect aggregate stats on all telegraf plugins.
|
||||||
- metrics_written
|
- metrics_written
|
||||||
|
|
||||||
internal_gather stats collect aggregate stats on all input plugins
|
internal_gather stats collect aggregate stats on all input plugins
|
||||||
that are of the same input type. They are tagged with `input=<plugin_name>`.
|
that are of the same input type. They are tagged with `input=<plugin_name>`
|
||||||
|
`version=<telegraf_version>` and `go_version=<go_build_version>`.
|
||||||
|
|
||||||
- internal_gather
|
- internal_gather
|
||||||
- gather_time_ns
|
- gather_time_ns
|
||||||
- metrics_gathered
|
- metrics_gathered
|
||||||
|
|
||||||
internal_write stats collect aggregate stats on all output plugins
|
internal_write stats collect aggregate stats on all output plugins
|
||||||
that are of the same input type. They are tagged with `output=<plugin_name>`.
|
that are of the same input type. They are tagged with `output=<plugin_name>`
|
||||||
|
and `version=<telegraf_version>`.
|
||||||
|
|
||||||
|
|
||||||
- internal_write
|
- internal_write
|
||||||
|
@ -63,7 +65,7 @@ that are of the same input type. They are tagged with `output=<plugin_name>`.
|
||||||
|
|
||||||
internal_<plugin_name> are metrics which are defined on a per-plugin basis, and
|
internal_<plugin_name> are metrics which are defined on a per-plugin basis, and
|
||||||
usually contain tags which differentiate each instance of a particular type of
|
usually contain tags which differentiate each instance of a particular type of
|
||||||
plugin.
|
plugin and `version=<telegraf_version>`.
|
||||||
|
|
||||||
- internal_<plugin_name>
|
- internal_<plugin_name>
|
||||||
- individual plugin-specific fields, such as requests counts.
|
- individual plugin-specific fields, such as requests counts.
|
||||||
|
@ -71,15 +73,16 @@ plugin.
|
||||||
### Tags:
|
### Tags:
|
||||||
|
|
||||||
All measurements for specific plugins are tagged with information relevant
|
All measurements for specific plugins are tagged with information relevant
|
||||||
to each particular plugin.
|
to each particular plugin and with `version=<telegraf_version>`.
|
||||||
|
|
||||||
|
|
||||||
### Example Output:
|
### Example Output:
|
||||||
|
|
||||||
```
|
```
|
||||||
internal_memstats,host=tyrion alloc_bytes=4457408i,sys_bytes=10590456i,pointer_lookups=7i,mallocs=17642i,frees=7473i,heap_sys_bytes=6848512i,heap_idle_bytes=1368064i,heap_in_use_bytes=5480448i,heap_released_bytes=0i,total_alloc_bytes=6875560i,heap_alloc_bytes=4457408i,heap_objects_bytes=10169i,num_gc=2i 1480682800000000000
|
internal_memstats,host=tyrion alloc_bytes=4457408i,sys_bytes=10590456i,pointer_lookups=7i,mallocs=17642i,frees=7473i,heap_sys_bytes=6848512i,heap_idle_bytes=1368064i,heap_in_use_bytes=5480448i,heap_released_bytes=0i,total_alloc_bytes=6875560i,heap_alloc_bytes=4457408i,heap_objects_bytes=10169i,num_gc=2i 1480682800000000000
|
||||||
internal_agent,host=tyrion metrics_written=18i,metrics_dropped=0i,metrics_gathered=19i,gather_errors=0i 1480682800000000000
|
internal_agent,host=tyrion,go_version=1.12.7,version=1.99.0 metrics_written=18i,metrics_dropped=0i,metrics_gathered=19i,gather_errors=0i 1480682800000000000
|
||||||
internal_write,output=file,host=tyrion buffer_limit=10000i,write_time_ns=636609i,metrics_added=18i,metrics_written=18i,buffer_size=0i 1480682800000000000
|
internal_write,output=file,host=tyrion,version=1.99.0 buffer_limit=10000i,write_time_ns=636609i,metrics_added=18i,metrics_written=18i,buffer_size=0i 1480682800000000000
|
||||||
internal_gather,input=internal,host=tyrion metrics_gathered=19i,gather_time_ns=442114i 1480682800000000000
|
internal_gather,input=internal,host=tyrion,version=1.99.0 metrics_gathered=19i,gather_time_ns=442114i 1480682800000000000
|
||||||
internal_gather,input=http_listener,host=tyrion metrics_gathered=0i,gather_time_ns=167285i 1480682800000000000
|
internal_gather,input=http_listener,host=tyrion,version=1.99.0 metrics_gathered=0i,gather_time_ns=167285i 1480682800000000000
|
||||||
internal_http_listener,address=:8186,host=tyrion queries_received=0i,writes_received=0i,requests_received=0i,buffers_created=0i,requests_served=0i,pings_received=0i,bytes_received=0i,not_founds_served=0i,pings_served=0i,queries_served=0i,writes_served=0i 1480682800000000000
|
internal_http_listener,address=:8186,host=tyrion,version=1.99.0 queries_received=0i,writes_received=0i,requests_received=0i,buffers_created=0i,requests_served=0i,pings_received=0i,bytes_received=0i,not_founds_served=0i,pings_served=0i,queries_served=0i,writes_served=0i 1480682800000000000
|
||||||
```
|
```
|
||||||
|
|
|
@ -2,8 +2,10 @@ package internal
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"runtime"
|
"runtime"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"github.com/influxdata/telegraf"
|
"github.com/influxdata/telegraf"
|
||||||
|
inter "github.com/influxdata/telegraf/internal"
|
||||||
"github.com/influxdata/telegraf/plugins/inputs"
|
"github.com/influxdata/telegraf/plugins/inputs"
|
||||||
"github.com/influxdata/telegraf/selfstat"
|
"github.com/influxdata/telegraf/selfstat"
|
||||||
)
|
)
|
||||||
|
@ -54,7 +56,14 @@ func (s *Self) Gather(acc telegraf.Accumulator) error {
|
||||||
acc.AddFields("internal_memstats", fields, map[string]string{})
|
acc.AddFields("internal_memstats", fields, map[string]string{})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
telegrafVersion := inter.Version()
|
||||||
|
goVersion := strings.TrimPrefix(runtime.Version(), "go")
|
||||||
|
|
||||||
for _, m := range selfstat.Metrics() {
|
for _, m := range selfstat.Metrics() {
|
||||||
|
if m.Name() == "internal_agent" {
|
||||||
|
m.AddTag("go_version", goVersion)
|
||||||
|
}
|
||||||
|
m.AddTag("version", telegrafVersion)
|
||||||
acc.AddFields(m.Name(), m.Fields(), m.Tags(), m.Time())
|
acc.AddFields(m.Name(), m.Fields(), m.Tags(), m.Time())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,8 @@ func TestSelfPlugin(t *testing.T) {
|
||||||
"test": int64(3),
|
"test": int64(3),
|
||||||
},
|
},
|
||||||
map[string]string{
|
map[string]string{
|
||||||
"test": "foo",
|
"test": "foo",
|
||||||
|
"version": "",
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
acc.ClearMetrics()
|
acc.ClearMetrics()
|
||||||
|
@ -39,7 +40,8 @@ func TestSelfPlugin(t *testing.T) {
|
||||||
"test": int64(101),
|
"test": int64(101),
|
||||||
},
|
},
|
||||||
map[string]string{
|
map[string]string{
|
||||||
"test": "foo",
|
"test": "foo",
|
||||||
|
"version": "",
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
acc.ClearMetrics()
|
acc.ClearMetrics()
|
||||||
|
@ -56,7 +58,8 @@ func TestSelfPlugin(t *testing.T) {
|
||||||
"test_ns": int64(150),
|
"test_ns": int64(150),
|
||||||
},
|
},
|
||||||
map[string]string{
|
map[string]string{
|
||||||
"test": "foo",
|
"test": "foo",
|
||||||
|
"version": "",
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue