views:

618

answers:

2

Hi,

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.

+3  A: 

#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).

Fernando
other way around - I'm looking to implement a 'server' rather than a client. There's plenty of examples for client/requests but nothing I can find for serving.
Adam Frisby
+2  A: 

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.

Lex Li
Just to keep you updated, I am happy to announce now this TestAgent (snmpd) is capable of SNMP v1 operations on a few basic objects. This will be released in either 3.5 or 4.0 release.
Lex Li
It is now a good time to update here. Since Change Set 39585, http://sharpsnmplib.codeplex.com/SourceControl/list/changesets, #SNMP Agent (snmpd) fully supports Mono 2.6.3 on openSUSE. That should guarantee it runs fine on other Linux distributions via Mono.
Lex Li