老星头的JoJo技术花园

主要花草:XML 园间杂草:SNMP C++ JAVA :)
posts - 4, comments - 11, trackbacks - 0, articles - 0

SNMP

Posted on 2005-12-07 12:45 小乔的老哥 阅读(204) 评论(1)  收藏 引用
请教一个很初级的问题。我以前做个一个产品,是短信平台的。服务器端由多个服务器构成(带负载均衡),我想做一个管理控制台能够实时管理(增加/删除/连接新的软件设备)并且监控这些软件服务器的实时运行数据。用snmp是否可以实现。(1)是不是首先需要在各个服务器平台运行环境上配置snmp协议。(2)软件平台通过接口实时向配置好的snmp的数据结构中读写数据就可以?传输的事情交给snmp去做。是这样的原理吗?(3)如果我自己的应用程序与snmp交互是否需要自己按照协议要求开发接口呢?
不知道说清楚没有,谢谢您?

Feedback

# re: SNMP  回复  更多评论   

2005-12-13 00:25 by 小乔的老哥
抱歉,这几天出差+加班,今天才看到你的留言,非常不好意思。

由于我对您使用的服务器和平台等不太了解,所以我仅发表一些
持保留态度的意见。

首先,您的需求是可以通过SNMP实现的,但是在实际应用中,
SNMP被更多的应用于监控管理(即是只看,而不改),如你
所说的增加/删除/连接新的软件设备是很难通过SNMP接口来
实现的,必竟SNMP是一个轻量级的网管协议。但如果你是要
把被监控端发生了 增加/删除/连接新的软件设备 这样的事件,
通过SNMP告诉管理者,是很简单而且很适宜的。至于监控
软件服务器的实时运行数据,比如进程情况,CPU负荷等等,
也能够很简单的通过SNMP实现,也是现实中的SNMP的主要
应用之一。

如果用SNMP实现,关于您的三个问题:
(1)必须要在各个服务器运行环境中配置好SNMP
(2)基本上是这样的,传输的事情不用操心,SNMP会
自己处理。但是需要注意,SNMP必竟不是消息中间件,
所以实际上是有一个管理者,可以读写多个代理者上的
数据结构。而代理是无法读写管理者端的数据结构的。
当然,这个问题可以通过互为管理-代理来解决。
(3)几乎不用再按照协议开发接口,或做什么复杂的开发,
网上有很多开源的项目,已经把接口封装的很好了,调用相应
API就OK了。著名的SNMP软件包有 SNMP++, NET-SNMP等。

由于对您的项目的情况不太了解,所以无法给予更多帮助了:)
不过我建议您再做一做需求分析,看是否需要使用SNMP技术,
也许有更好的办法,比如消息中间件等等。

如果的确需要使用SNMP相关技术,我愿意和您一起探讨研究,
希望我的一点经验可以对你有所帮助 :)







只有注册用户登录后才能发表评论。