开发一个基于Erlang的网管代理

初步了解了一下Erlang,设想利用Erlang各种功能搭建一个SNMP网管代理。

 

网管代理最重要的部分是SNMP代理,即可以面向多个图形客户端程序进行服务,代理它们的SNMP get/set请求,客户端本身并不直接和SNMP设备通信。网管代理本身还必须完成一些重要的日常功能,比如:设备在线情况监控;一些轮询或定时任务(性能数据获取,定时检测,升级等);trap告警的处理等。每个代理节点要求能管理尽可能多的设备,并能长期稳定可靠地运行。

 

网管代理和设备之间使用标准的SNMP协议通信,和客户端之间可以采用完全的Corba接口来通信,需要实现的主要功能包括:

1) set/get请求代理

2) 设备上下线情况变化、告警变化时通知客户端

3) 客户端打开某设备面板后代理轮询一些即时信息(比如设备面板灯)变化后对客户端的通知

 

实现这样一个网管代理可能涉及到的Erlang模块和功能包括:

1 数据库功能使用mnesia实现内存数据库功能,用于管理运行时的一些公共数据,比如设备信息等。使用Erlang ODBC实现同步到外部数据库(比如MySQL),但这个ODBC是基于微软ODBC的,是否意味着不能跨平台(Erlang本身是跨的)?

2 SNMP代理使用Erlang SNMP模块

3 Corba北向接口使用Erlang的Corba实现TMF814规定的重要接口

4 其他辅助功能

4.1 Shell Erlang实现了一个SSH Shell,可以用作远程管理接口

4.2 UI Erlang提供一个gs库,可以用来开发简单图形管理界面,由于网管代理需要的图形界面不多,这个可以考虑 Erlang还提供了一些实用工具辅助管理,如Appmon,用于监视本地或远端的执行情况;Pman,进程监控;tv,数据表监控等。

4.3 Log 操作系统监视器os_mon里,有个工具os_sup可以用来写日志到操作系统(Linux:syslog,Windows:EventLog),可以用这个来建立一套日志系统

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值