如何使用SNMP从其他机器收集数据?

问题描述 投票:0回答:2

考虑任何组织中的 LAN 网络。在一台机器上,我们将安装一个收集系统审计数据的应用程序。如果启用了 Active Directory 功能,它还可以从 AD 用户计算机收集详细信息。但是,如果没有 Active Directory 功能,如何从网络中的其他系统收集 WMI 等机器信息呢?当我在谷歌研究时,发现 SNMP 会有用。

任何人都可以帮助我解决我实际上必须在这里做的事情吗?不是编码。 从 SNMP 检索详细信息的步骤是什么? 我有一些客户端库,如 SnmpSharpLib 等,但执行示例会生成错误。

提前致谢!

c# snmp
2个回答
3
投票

SNMP 是基于服务器/客户端的协议。这里有两个选择:

  1. 网络中的其他系统充当客户端,将带有相关数据的 SNMP 陷阱发送到收集数据的系统(充当服务器)。
  2. 或者网络中的其他系统充当服务器,收集数据的系统可以通过发送SNMP请求来获取数据,从而充当客户端。

如果添加到网络的新系统也需要监控,则选项 1 会更容易。 选项 2 可以更好地控制您希望收集的数据。如果您突然觉得需要其他类型的数据,您可以让服务器请求这些数据,而不是重新配置所有其他系统来发送特定类型数据的陷阱。

其他系统将需要某种类型的 SNMP 守护程序或客户端运行,服务器也将如此。


0
投票

对于这样的程序员站点来说这不是一个好问题,更适合以服务器/网络管理员为中心的站点。

为了能够远程监控/管理本地网络中的设备,管理员需要对其进行预先配置。将它们注册到 Active Directory 等系统中可以启用某些功能,例如元数据存储、数据收集、配置推送等。AD/WMI/PowerShell 远程处理均来自 Microsoft Windows,因此如果您的管理员没有选择这些功能,那么您就不走运了路线。

SNMP当然提供类似的功能,但前提是每个设备都运行一个响应远程SNMP请求的SNMP代理/引擎。这在当今的现代环境中是不可行的,因为许多操作系统/固件默认情况下可能不带有这些位。

因此,如何启用远程监控或管理实际上取决于管理员的选择,而不是编写程序/脚本的您。

© www.soinside.com 2019 - 2024. All rights reserved.