Add network protocol stats to the network plugin
This commit is contained in:
parent
bcafadb68a
commit
0d0a8e9b68
|
@ -83,6 +83,7 @@ same type.
|
||||||
- [#364](https://github.com/influxdb/telegraf/pull/364): Support InfluxDB UDP output.
|
- [#364](https://github.com/influxdb/telegraf/pull/364): Support InfluxDB UDP output.
|
||||||
- [#370](https://github.com/influxdb/telegraf/pull/370): Support specifying multiple outputs, as lists.
|
- [#370](https://github.com/influxdb/telegraf/pull/370): Support specifying multiple outputs, as lists.
|
||||||
- [#372](https://github.com/influxdb/telegraf/pull/372): Remove gosigar and update go-dockerclient for FreeBSD support. Thanks @MerlinDMC!
|
- [#372](https://github.com/influxdb/telegraf/pull/372): Remove gosigar and update go-dockerclient for FreeBSD support. Thanks @MerlinDMC!
|
||||||
|
- [#382](https://github.com/influxdb/telegraf/pull/382): Add system wide network protocol stats to `net` plugin.
|
||||||
|
|
||||||
### Bugfixes
|
### Bugfixes
|
||||||
- [#331](https://github.com/influxdb/telegraf/pull/331): Dont overwrite host tag in redis plugin.
|
- [#331](https://github.com/influxdb/telegraf/pull/331): Dont overwrite host tag in redis plugin.
|
||||||
|
|
|
@ -3,6 +3,7 @@ package system
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"net"
|
"net"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"github.com/influxdb/telegraf/plugins"
|
"github.com/influxdb/telegraf/plugins"
|
||||||
)
|
)
|
||||||
|
@ -79,6 +80,15 @@ func (s *NetIOStats) Gather(acc plugins.Accumulator) error {
|
||||||
acc.Add("drop_out", io.Dropout, tags)
|
acc.Add("drop_out", io.Dropout, tags)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Get system wide stats for different network protocols
|
||||||
|
netprotos, err := s.ps.NetProto()
|
||||||
|
for _, proto := range netprotos {
|
||||||
|
for stat, value := range proto.Stats {
|
||||||
|
name := fmt.Sprintf("%s_%s", proto.Protocol, strings.ToLower(stat))
|
||||||
|
acc.Add(name, value, nil)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -29,6 +29,7 @@ type PS interface {
|
||||||
CPUTimes(perCPU, totalCPU bool) ([]cpu.CPUTimesStat, error)
|
CPUTimes(perCPU, totalCPU bool) ([]cpu.CPUTimesStat, error)
|
||||||
DiskUsage() ([]*disk.DiskUsageStat, error)
|
DiskUsage() ([]*disk.DiskUsageStat, error)
|
||||||
NetIO() ([]net.NetIOCountersStat, error)
|
NetIO() ([]net.NetIOCountersStat, error)
|
||||||
|
NetProto() ([]net.NetProtoCountersStat, error)
|
||||||
DiskIO() (map[string]disk.DiskIOCountersStat, error)
|
DiskIO() (map[string]disk.DiskIOCountersStat, error)
|
||||||
VMStat() (*mem.VirtualMemoryStat, error)
|
VMStat() (*mem.VirtualMemoryStat, error)
|
||||||
SwapStat() (*mem.SwapMemoryStat, error)
|
SwapStat() (*mem.SwapMemoryStat, error)
|
||||||
|
@ -88,6 +89,10 @@ func (s *systemPS) DiskUsage() ([]*disk.DiskUsageStat, error) {
|
||||||
return usage, nil
|
return usage, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *systemPS) NetProto() ([]net.NetProtoCountersStat, error) {
|
||||||
|
return net.NetProtoCounters(nil)
|
||||||
|
}
|
||||||
|
|
||||||
func (s *systemPS) NetIO() ([]net.NetIOCountersStat, error) {
|
func (s *systemPS) NetIO() ([]net.NetIOCountersStat, error) {
|
||||||
return net.NetIOCounters(true)
|
return net.NetIOCounters(true)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue