Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add snmp_trap input plugin #6629

Merged
merged 27 commits into from
Nov 25, 2019
Merged

Add snmp_trap input plugin #6629

merged 27 commits into from
Nov 25, 2019

Conversation

reimda
Copy link
Contributor

@reimda reimda commented Nov 6, 2019

Required for all PRs:

  • [ x ] Signed CLA.
  • [ x ] Associated README.md updated.
  • [ x ] Has appropriate unit tests.

closes #4377

Look up OIDs in SNMP traps using SnmpTranslate() from the SNMP plugin.

Update dep for github.com/soniah/gosnmp to get Asn1BER stringer function.

Add README.md.
@reimda
Copy link
Contributor Author

reimda commented Nov 6, 2019

to do:

  • Mock OID name resolution so unit tests pass even when snmptranslate isn't available
  • Add v1 traps. Version 2c traps seem to work now.
  • Format values better, possibly using the same mechanism as the snmp plugin or by adding support for textual convention in the MIB.
  • Check on upstream support for inform.

@glinton glinton changed the title Feat/4377 Add snmp_trap input plugin Nov 6, 2019
plugins/inputs/snmp_trap/README.md Outdated Show resolved Hide resolved
plugins/inputs/snmp_trap/README.md Outdated Show resolved Hide resolved
plugins/inputs/snmp_trap/snmp_trap.go Outdated Show resolved Hide resolved
plugins/inputs/snmp_trap/snmp_trap.go Outdated Show resolved Hide resolved
plugins/inputs/snmp_trap/snmp_trap.go Outdated Show resolved Hide resolved
plugins/inputs/snmp_trap/snmp_trap.go Outdated Show resolved Hide resolved
plugins/inputs/snmp_trap/snmp_trap.go Outdated Show resolved Hide resolved
plugins/inputs/snmp_trap/snmp_trap.go Outdated Show resolved Hide resolved
Gopkg.lock Show resolved Hide resolved
plugins/inputs/snmp_trap/snmp_trap_test.go Outdated Show resolved Hide resolved
plugins/inputs/snmp_trap/snmp_trap.go Outdated Show resolved Hide resolved
plugins/inputs/snmp/snmp.go Show resolved Hide resolved
plugins/inputs/snmp_trap/snmp_trap.go Outdated Show resolved Hide resolved
plugins/inputs/snmp_trap/snmp_trap_test.go Outdated Show resolved Hide resolved
@tesibelda
Copy link

Great job reimda. Some suggestions:

  • it would be useful to have a snmp_mib tag added. It would be helpfull for post processing filtering of these points (say with kapacitor). When using a large amount of MIBs, some of them might use the same string for snmp_trap.
  • it would be useful to have a snmp_host tag added. It would include the DNS resolved name of the IP address of device sending the trap. This would help identify the device having the issue reported by the trap.

@reimda
Copy link
Contributor Author

reimda commented Nov 13, 2019

Thanks for the feedback @tesibelda

* it would be useful to have a snmp_mib tag added ...

I added this as a tag called trap_mib to match the existing tag trap_name.

* it would be useful to have a snmp_host tag added. It would include the DNS resolved name of the IP address of device sending the trap ...

Since we already have the numeric IP address, I added it as a tag called source. Other inputs use the name "source" for this so it makes sense to follow convention. I agree a DNS name could be more useful than the IP but I'd like to wrap up this PR. Adding a setting to do reverse DNS sounds like a great follow-on feature.

plugins/inputs/snmp_trap/README.md Outdated Show resolved Hide resolved
plugins/inputs/snmp_trap/README.md Outdated Show resolved Hide resolved
plugins/inputs/snmp_trap/README.md Outdated Show resolved Hide resolved
plugins/inputs/snmp_trap/snmp_trap.go Outdated Show resolved Hide resolved
plugins/inputs/snmp_trap/snmp_trap.go Outdated Show resolved Hide resolved
plugins/inputs/snmp_trap/snmp_trap.go Outdated Show resolved Hide resolved
plugins/inputs/snmp_trap/snmp_trap.go Outdated Show resolved Hide resolved
plugins/inputs/snmp_trap/snmp_trap.go Outdated Show resolved Hide resolved
@reimda reimda marked this pull request as ready for review November 21, 2019 00:28
@sjwang90 sjwang90 added this to the 1.13.0 milestone Nov 21, 2019
plugins/inputs/snmp_trap/README.md Outdated Show resolved Hide resolved
plugins/inputs/snmp_trap/snmp_trap.go Outdated Show resolved Hide resolved
plugins/inputs/snmp_trap/snmp_trap.go Show resolved Hide resolved
plugins/inputs/snmp_trap/snmp_trap.go Outdated Show resolved Hide resolved
plugins/inputs/snmp_trap/snmp_trap.go Outdated Show resolved Hide resolved
plugins/inputs/snmp_trap/snmp_trap.go Show resolved Hide resolved
plugins/inputs/snmp_trap/snmp_trap.go Show resolved Hide resolved
plugins/inputs/snmp_trap/snmp_trap.go Outdated Show resolved Hide resolved
@danielnelson danielnelson merged commit cec1bdc into master Nov 25, 2019
@danielnelson danielnelson deleted the feat/4377 branch November 25, 2019 19:56
athoune pushed a commit to bearstech/telegraf that referenced this pull request Apr 17, 2020
idohalevi pushed a commit to idohalevi/telegraf that referenced this pull request Sep 29, 2020
arstercz pushed a commit to arstercz/telegraf that referenced this pull request Mar 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

SNMP trap collection Telegraf
5 participants