【问题标题】:Is it possible to have SNMP Agent without MIB’s support?是否可以在没有 MIB 支持的情况下使用 SNMP 代理?
【发布时间】:2011-02-08 20:15:31
【问题描述】:

嗨,我最近几天一直在研究 SNMP,我开发了一个小应用程序(SNMP 代理)

* Run on 161 port.
* Have a tree structured OID support.
* Respond to all Get,GetNext,Set Pdu Request types.
* Tested with some SNMP Managers(free available) by get and set the values of the OID's.

但是,现在的问题是,当我用 Cacti 尝试它时,它不会响应任何东西,但会检测到 windows snmp 服务..它只是响应 SNMP 管理器的请求。

那么,是否必须为 mib 提供 SNMP 代理??

【问题讨论】:

  • 虽然我已经在下面回答了您的问题,但我不确定我是否已帮助您找到解决您遇到的问题的方法。当您尝试从 Cacti 查询代理时,究竟会发生什么?你收到任何结果吗? Cacti 是否提供针对基本 OID 执行 snmpwalk 的选项(snmpwalk 在处理树形结构的 MIB 时很有帮助)?
  • 感谢您的回答..cacti 没有检测到我的 snmp 代理(显示 SNMP 错误)..我已经使用我的 snmp 代理手动测试了 snmpwalk.exe。我尝试了 net-snmp 的其他命令(如 snmpget.exe、snmpgetnext.exe 等)..现在我只想让 Cacti 检测到我的代理。
  • 您是否能够使用 Cacti 查询任何 SNMP 代理?如果不是,则可能是 Cacti 中的配置问题,而不是您的代理的问题。
  • Ya..我已经尝试使用 Windows snmp 服务,然后 cacti 正在检测 SNMP 信息..但是如果我尝试使用其他 SNMP 代理,例如提供 #Snmp 库..它也没有检测到.

标签: snmp agent rrdtool cacti


【解决方案1】:

不,并不严格要求 MIB 能够查询 SNMP 代理。

MIB 允许 SNMP 客户端解释代理返回的信息(即,通过给它一个可读的名称而不仅仅是 OID,以所需的格式正确显示数据等)。如果您知道 OID,客户端应该能够在不提供 MIB 的情况下查询代理。

【讨论】:

  • Thanx,但是如果我不会根据 RFC 的标准使用 MIB ......那我不是违反了这个协议的任何规则吗??..如果我只处理来自的请求可以吗经理。??
  • @Divya mohan Singh,“违反协议规则”是什么意思?
  • 我的意思是..它不是在 RFC 中提供的用于处理所有标准 OID 的规则集中(比如 1.3.6.1.2.1.1 是系统的基本 OID).??..如果我我对一些标准的 OID 没有响应,可以吗??
  • @Divya mohan Singh,哦,好的。我无法明确回答这个问题,但我相信如果你的代理只响应特定的 OID 就可以了。我刚刚查找了RFC,看起来它只是SHOULD,而不是MUST。除非 Cacti 出于某种原因需要它,否则我认为这不是问题。
  • @losriebo :所以这意味着它是一个完整的 SNMP 代理(SNMP 服务),用于监控设备。cacti 是用于监控和绘制从远程设备收集的资源数据的标准应用程序(启用了 snmp 的设备)..所以,如果这是我的 snmp 服务..它必须被 cacti 检测到才能被监控...现在有我的问题了吗??
【解决方案2】:

@Divya mohan Singh,您希望 Cacti 检测您的代理,然后您应该追踪 Cacti 本身。

一旦您知道 Cacti 需要哪些 OID,您就可以在代理中实现它们,然后一切都会好起来的。

如果您有时间,您可以在代理中实现尽可能多的 SNMP 对象,但如果 Cacti 仅依赖其中的几个,您可以采用简单的方法在它要求的少数几个上实现。

好吧,听起来我在鼓励您开发一个不符合 RFC 规定的 SNMP 代理,但事实是许多代理已经违反了规则,而您的代理不会是最后一个。 :)

【讨论】:

  • cacti 正在寻找系统信息的基本 OID(即 1.3.6.1.2.1.1)并进入这个分支..我已经在我的代理中实现了它..并成功完成了这个使用 net-snmp 进行分支..但是 cacti 不会查询它的任何内容..jus 显示错误..它如何在 Windows snmp 服务的情况下静默获取信息..它如何查询代理??..请帮助我出去
  • 请使用网络监视器或 System.Net 跟踪来捕获仙人掌发送的消息以及它要求的 OID。此外,咨询 Cacti 支持团队进行澄清是获得明确解决方案的更直接方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-16
  • 2020-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多