io plugin, add an 'unknown' tag when the serial number can't be found

closes #405
This commit is contained in:
Cameron Sparr 2015-12-02 12:44:16 -07:00
parent a844c1ac74
commit 6fb7d2883d
2 changed files with 19 additions and 8 deletions

View File

@ -1,3 +1,12 @@
## v0.2.4 [unreleased]
### Features
- [#412](https://github.com/influxdb/telegraf/pull/412): Additional memcached stats. Thanks @mgresser!
- [#410](https://github.com/influxdb/telegraf/pull/410): Additional redis metrics. Thanks @vlaadbrain!
### Bugfixes
- [#405](https://github.com/influxdb/telegraf/issues/405): Prometheus output cardinality issue
## v0.2.3 [2015-11-30] ## v0.2.3 [2015-11-30]
### Release Notes ### Release Notes

View File

@ -76,9 +76,9 @@ var diskIoSampleConfig = `
# By default, telegraf will gather stats for all devices including # By default, telegraf will gather stats for all devices including
# disk partitions. # disk partitions.
# Setting devices will restrict the stats to the specified devcies. # Setting devices will restrict the stats to the specified devcies.
# Devices=["sda","sdb"] # devices = ["sda","sdb"]
# Uncomment the following line if you do not need disk serial numbers. # Uncomment the following line if you do not need disk serial numbers.
# SkipSerialNumber = true # skip_serial_number = true
` `
func (_ *DiskIOStats) SampleConfig() string { func (_ *DiskIOStats) SampleConfig() string {
@ -106,11 +106,13 @@ func (s *DiskIOStats) Gather(acc plugins.Accumulator) error {
continue continue
} }
tags := map[string]string{} tags := map[string]string{}
if len(io.Name) != 0 {
tags["name"] = io.Name tags["name"] = io.Name
} if !s.SkipSerialNumber {
if len(io.SerialNumber) != 0 && !s.SkipSerialNumber { if len(io.SerialNumber) != 0 {
tags["serial"] = io.SerialNumber tags["serial"] = io.SerialNumber
} else {
tags["serial"] = "unknown"
}
} }
acc.Add("reads", io.ReadCount, tags) acc.Add("reads", io.ReadCount, tags)