-->

Implementing an SNMP Reporter (agent) in C# (must

2020-07-16 09:14发布

问题:

I am attempting to implement some additional statistics gathering in a C# server application - I have about 20 or so variables I'd like to be able to report to network monitoring tools; so I am assuming (hopefully correctly) that SNMP is the correct way to go.

There are however two problems:

  • The application is an open source server that cant include proprietary components, and
  • It needs to run on Mono under *nix environs as well as Windows via .NET.

The "#SNMP" library at http://sharpsnmplib.codeplex.com/ appears to be a promising solution - but there are no samples I can find; and my knowledge of SNMP is lacking.

Does anyone here have any (quick) examples of reporting data via SNMP? (ideally using a library under the LGPL, X/MIT, BSD or Zlib licenses)

Help much appreciated

Edit: The problem appears to be a lack of libraries capable of acting as SNMP servers, if anyone is aware of any - this would probably solve the problem nicely.

Edit #2: Basically I'm looking for a SNMP server library or sample reference implementation.

回答1:

As the author :) I suggest you check out TestAgent sample. It can send out TRAP or INFORM messages to the IP address you specify.

Note that this is a tiny sample, which does not reveal all powers of SNMP.



回答2:

#SNMP source comes with some samples (they're actually tests, but one can have an idea about how it works). Another thing you could try is send your snmp queries calling directly the snmpget executable with the Process class. It's not the best way, but it could work (I've used this kind of approach with another language).