Possible bug fix for oid_key collision

closes #1044
This commit is contained in:
Larry Kim 2016-04-17 02:00:52 +09:00 committed by Cameron Sparr
parent a585119a67
commit 46543d6323
2 changed files with 6 additions and 1 deletions

View File

@ -37,6 +37,7 @@ based on _prefix_ in addition to globs. This means that a filter like
- [#1013](https://github.com/influxdata/telegraf/pull/1013): Close dead riemann output connections. Thanks @echupriyanov! - [#1013](https://github.com/influxdata/telegraf/pull/1013): Close dead riemann output connections. Thanks @echupriyanov!
- [#1012](https://github.com/influxdata/telegraf/pull/1012): Set default tags in test accumulator. - [#1012](https://github.com/influxdata/telegraf/pull/1012): Set default tags in test accumulator.
- [#1058](https://github.com/influxdata/telegraf/issues/1058): Fix possible leaky TCP connections in influxdb output. - [#1058](https://github.com/influxdata/telegraf/issues/1058): Fix possible leaky TCP connections in influxdb output.
- [#1044](https://github.com/influxdata/telegraf/pull/1044): Fix SNMP OID possible collisions. Thanks @relip
## v0.12.1 [2016-04-14] ## v0.12.1 [2016-04-14]

View File

@ -733,7 +733,11 @@ func (h *Host) HandleResponse(oids map[string]Data, result *gosnmp.SnmpPacket, a
break nextresult break nextresult
} }
} }
if strings.HasPrefix(variable.Name, oid_key) { // If variable.Name is the same as oid_key
// OR
// the result is SNMP table which "." comes right after oid_key.
// ex: oid_key: .1.3.6.1.2.1.2.2.1.16, variable.Name: .1.3.6.1.2.1.2.2.1.16.1
if variable.Name == oid_key || strings.HasPrefix(variable.Name, oid_key+".") {
switch variable.Type { switch variable.Type {
// handle Metrics // handle Metrics
case gosnmp.Boolean, gosnmp.Integer, gosnmp.Counter32, gosnmp.Gauge32, case gosnmp.Boolean, gosnmp.Integer, gosnmp.Counter32, gosnmp.Gauge32,