在C#中实现SNMP Reporter(代理)(必须在Mono上运行)?

我正在尝试在C#服务器应用程序中实现一些额外的统计信息收集 – 我有大约20个左右的变量,我希望能够向网络监视工具报告; 所以我假设(希望是正确的)SNMP是正确的方法。

但是有两个问题:

  • 该应用程序是一个开源服务器,不能包含专有组件,和
  • 它需要在* nix环境下运行Mono以及通过.NET运行Windows。

http://sharpsnmplib.codeplex.com/上的“#SNMP”库似乎是一个很有前途的解决方案 – 但我找不到任何样本; 我缺乏对SNMP的了解。

这里有没有人有通过SNMP报告数据的任何(快速)示例? (理想情况下使用LGPL,X / MIT,BSD或Zlib许可下的库)

非常感谢

编辑:问题似乎是缺乏能够充当SNMP服务器的库,如果有人知道任何 – 这可能会很好地解决问题。

编辑#2:基本上我正在寻找SNMP服务器库或示例参考实现。

作为作者:)我建议你查看TestAgent示例。 它可以将TRAP或INFORM消息发送到您指定的IP地址。

请注意,这是一个很小的示例,它不会显示SNMP的所有function。

#SNMP源附带了一些样本(它们实际上是测试,但人们可以知道它是如何工作的)。 您可以尝试的另一件事是发送snmp查询直接使用Process类调用snmpget可执行文件。 这不是最好的方式,但它可以工作(我用另一种语言使用这种方法)。