寻找 .NET SNMP 扩展代理

发布于 2024-10-18 20:34:54 字数 649 浏览 3 评论 0原文

我正在开发一个 C#(针对完整框架 4)Windows 应用程序。我需要该应用程序写入一些简单的计数器,更重要的是,当发生重大应用程序事件时,引发(或者应该触发)一些 SNMP 陷阱。

现在大多数可用的 .NET SNMP 库都可以做到这一点,到目前为止一切顺利。然而,我还有一个重要的进一步要求;我的 MIB 必须添加到 PC 自己的 MIB 中,它不能取代 Windows PC 中“现成的”所有好的 SNMP 东西。

这最后一项似乎是一件大事。迄今为止我的所有调查表明,任何 .NET SNMP 解决方案似乎都取代了 Windows MIB 和 SNMP 服务;它们会替换 Windows MIB 以暴露您的 MIB。我需要将我的添加到 Windows。

该解决方案必须将自己的 MIB 添加到 Windows 部署 PC,据我所知,这意味着它必须(至少部分)提供非托管 SNMP 扩展 DLL 来扩展标准 Windows SNMP 服务。

  • 谁能推荐一种方法,使用适合您自己的 MIB 的扩展代理来扩展标准 Winsows SNMP 服务,并且非常适合托管代码
  • 如果我必须为扩展代理做一些本机 Win32 C/C++/Delphi 工作,任何人都可以推荐一种方法来最大限度地减少所需的非托管代码量吗?

I am developing a C# (targeting full framework 4) windows app. I need that app to write to a few simple counters and more importantly raise (or should that be fire) a few SNMP traps when significant app events occur.

Now most .NET SNMP libraries avalable can do this, so far so good. However I have one significant further requirement; my MIB must add to the PC's own MIB, it must not replace all the good SNMP things that come "out of the bag" with your Windows PC.

This last one seems to be the big deal. All my investigations to date indicate any .NET SNMP solutions out there seem to replace the Windows MIB and the SNMP service(s); they replace the Windows MIB to expose yours. I need to add mine to Windows.

The solution must add its own MIB to the Windows deployment PC, which from what I can tell, means it must (at least in part) provide an unmanaged SNMP extension DLL to extend the standard windows SNMP service.

  • Can anyone recommend an approach which extends the standard Winsows SNMP service with extension agents for your own MIB that is a good fit with managed code?
  • If I have to do some native Win32 C/C++/Delphi work for the extension agent can anyone recommend an aproach that minimises the amount of unmanged code required?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

命硬 2024-10-25 20:34:54

如果要扩展 Microsoft 的 Windows SNMP 代理,则必须使用非托管语言。

使用托管语言的可能性很小,因为 Microsoft 更喜欢 WMI 而不是 SNMP,并且不会对当前的 SNMP 代理进行任何更改。

您可以咨询商业 .NET SNMP 代理供应商,看看他们是否已经实现了您需要的所有必要对象。据我所知,开源/免费 .NET SNMP 供应商没有那么多资源来实现这些。

If you want to extend Microsoft's Windows SNMP agent, you have to use unmanaged languages.

There is little possibility to use managed languages, as Microsoft prefers WMI to SNMP and would not make any change to current SNMP agent.

You may consult a commercial .NET SNMP agent vendor to see if they already implement all necessary objects you need. As far as I know, open source/free .NET SNMP vendors do not have that much resource to implement those.

演出会有结束 2024-10-25 20:34:54

我发现一个名为 snmpsharpnet 的程序集对于在 .NET 上使用 SNMP 非常有帮助。

您将在 这个 StackOverflow 回答了使用它的一种方法(高级)的示例。

但请查看文档。您可以通过两种方式使用此组件:

  1. 低级别,创建您自己的 SNMP(V1、V2c、V3)PDU
  2. 高级,您只需使用 SNMP

即可尝试。

另一种方法是在Windows之上使用NET-SNMP。我想您可以在 CygWin 之上使用您的 Linux 工具。

JP

PS:法国人可以找到这个程序集的第一步 在我的公司博客上

I found An assembly called snmpsharpnet wich is very helpful to play with SNMP on the top of .NET.

You will find in this StackOverflow answer an example of one way (high level) to use it.

But look at the documentation. You can use this assembly in two ways :

  1. Low level to create your own SNMP (V1, V2c, V3) PDUs
  2. High level, where you just use SNMP

Just try it.

Another way is to use NET-SNMP on the top of Windows. I imagine that you can use your Linux tools on the top of CygWin.

JP

PS : French people can find a first step to this assembly on my company blog

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文