[ANNOUNCE] agentx - golang snmp agent implementation

981 views
Skip to first unread message

daniel...@learnosity.com

unread,
Dec 5, 2013, 6:38:57 AM12/5/13
to golan...@googlegroups.com
Hi everyone,

Today I (on behalf of my employer, Learnosity) open-sourced (MIT) a simple SNMP agent implementation in Go:


It's designed to be deployed alongside net-snmp's snmpd.

The functionality is deliberately limited for now, because working with libsnmp via cgo introduces some real complexity for memory management and mapping 

I've gotten some good traction with Go from a "devops" perspective thanks to the ability to deploy it as a very fast standalone binary to run as a persistent service. It makes Perl into a joke (in case Perl needed any help).

Go's niche as a safe, statically linked systems programming language makes it perfect for lightweight monitoring and reporting tools with minimal impact on a production environment; Ground Control for Raspberry Pi is a good example.
 
This package can be used either to implement an SNMP agent embedded within a Go service, or a dedicated monitoring tool. At Learnosity, our monitoring service is written in Go and exposes data over HTTP, CLI and SNMP through the agentx service.

I think there's a good case to be made for the emerging C-compatible systems programming languages to help revive interest in some robust "old school" tech like snmp.

I want to expand the library to support working with tables - mainly so that requests can be handled with fewer calls (which are particularly expensive due to crossing from the cgo stack back into Go callbacks).

If anyone else has worked with the agentx protocol or libsnmp in the past, I'd love to get an opinion on whether I should tough it out with libsnmp or try to implement the protocol handling natively in Go.

Shivakumar GN

unread,
Dec 7, 2013, 4:29:29 AM12/7/13
to golang-nuts
You may want to look at work in progress pure go snmp library : github.com/alouca/gosnmp

tristan...@gmail.com

unread,
May 22, 2015, 9:21:03 AM5/22/15
to golan...@googlegroups.com, daniel...@learnosity.com
The link ( https://github.com/Learnosity/agentx ) does no longer lead to a repository. Has it moved? Is it no longer available?
I would love to take a look at it :)

Tristan

bru...@simiatech.com

unread,
Aug 26, 2015, 12:53:17 PM8/26/15
to golang-nuts, daniel...@learnosity.com, tristan...@gmail.com
Hi Tristan,

too bad that the repository disappeared. I could offer an alternative implementation: https://github.com/posteo/go-agentx

Feedback and contributions welcome.
Best,
Philipp
Reply all
Reply to author
Forward
0 new messages