最近公司要求做一个监控系统,基本要求如下:
(1)。系统拥有呼叫和接打电话功能,呼叫转移,语音等待等功能。
(2)。系统拥有发电子邮件,发送短信的功能。
(3)。系统针对应用程序服务端的温度,湿度,CPU内存等利用率
和服务质量的一定等级的报警功能。
(4)。系统针对应用程序App的终端服务(TVM,闸机,大屏,人工窗口等)远程监控操作。
(5)。监控系统针对服务器或者终端发生问题要给出相应的回应,同时给出可能的解决方案(备注与问题知识库 系 统交互)。
备注:公司系统服务器和终端可能是Linux或者windows系统,系统程序底层核心采用C,C++,其他的采用Java实现。
针对这几天的对系统的需求的解决,通过在网上查看资料,以及以前的工作经验,对部分功能的提出以下问题。希望各位大佬提出意见。
针对(1)需求中第一个问题:
我了解一些,去年我的上一家公司采用第三方的Avaya技术实现,系统针对外部电话的呼入,接打,转移,录音等.
如果想了解更多Avaya功能建议访问网站:http://www.avaya.com/cn/或者其他网站。
针对(2)可以采用第三方的服务如或者飞信等第三方服务即可实现发送短信功能,至于发送邮件很多方式如:可以采用COS,JavaMail,Common-email,Spring EMail实现即可。
针对(3)实时系统监控(cpu利用率,cpu温度,总内存大小,已使用内存大小)
法一:针对window系统,设计方式为java通过JNI访问C,C++.
法二:方案一:针对linux系统,通过读取系统特定的文件,解析本地的信息。
获取内存:/proc/meminfo,.....
方案二:采用Shell,derl 编写监控的脚本在服务器端运行,然后将数据封装成特定信息发送
至监控系统的服务端,然后解析数据保存到数据库,然后展示出来。
(备注此 种方案不通用,在window系统不能用).
法三:使用snmp4j应该是snmp协议的实现,snmp是个比较通用的协议,针对linux,windows,或者路由器,交换机等等一些服务器系统都会安装有snmp协议,根据网上部分人士所说,像moto,诺西一些通信公司开发的网管系统,也是用snmp针对设备性能进行监控的。
(但是设备的协议不一致,可能有问题),
针对(4)(5)暂时没有找到解决方案。
网上收费的监控软件如:HP openView , IBM 忘了也有一个工具。
网上开源的监控软件很多,只是看看,没有具体的实践经验。