在线客服系统

基于开源软件的云监控平台设计与实现(2)

时间:2015-04-15 10:22 来源:www.fabiaoba.com 作者:车路等 点击:

  3 模块功能设计
  3.1 分布式架构功能设计
  本文分布式架构基于Zabbix开源软件开发和实现,Zabbix是一个分布式监控平台,利用它可以快速、灵活的部署企业级的监控系统,可监控数以千计的节点[13]。Zabbix由Alexei Vladishev和其团队开发,官方站点http://www.zabbix.com。系统可采集云计算中的服务器、网络设备、数据库、硬件监控、存储监控等设备性能数据和容量数据,进行集中的数据处理和视图展现。整个系统主要由Server、Agent以及Web 前端、数据库等几部分组成,服务器端需部署在类Linux环境下。客户端软件的采集指标更为详细,支持目前所有常见的操作系统,如Linux、FreeBSD、HP-UX、Mac OS X、Solaris、Windows2000、 Windows Server 2003、Windows XP、Windows Server 2008、Windows 7、Windows 8、Windows Server 2012等。后台数据库支持Mysql、PostgreSQL、Oracle和SQLite等。
  Zabbix通过C/S模式采集数据,通过B/S模式在web端展示和配置,系统整体架构如图2所示。Zabbix对于支持SNMP的设备可以通过SNMP协议实现无客户端方式管理,也支持调用Sigar实现对Linux内核或者Win32的底层操作系统信息和进程数据采集。还可通过IPMI、JMX、SSH等方式采集数据。数据传输方式上,Server 的server_get守护进程可通过poller(轮询)方式主动获取客户机Agent收集的性能数据,也可以被动的接受Agent上sender进程通过trapper方式发送的数据。当监控的资源数量较多时,Agent可以将采集的数据先发送到Proxy server,Proxy server利用空闲通过history syncer进程再发送给Server服务器,实现分布式采集,不会对现有网络资源、计算资源产生过多的开销。分布式架构如图2所示.
  3.2 逻辑处理功能设计
  云监控系统软件设计流程图如下图3所示。
  3.2.1 数据处理模块
  数据处理模块主要对数据采集模块收集的数据进行分析和处理,在云监控系统中项目(Item)是监控的基本元素,所有的监控项都是基于主机。每一个监控项对应一个被监控项的采集值,例如cpu 5分钟内的负载、网卡错误包数等。系统把监控项与预设报警阀值进行数据对照,若 Item 的数值超过预定义阀值则报警并生成告警事件,触发器(Trigger)由一个逻辑表达式(Expression)定义。每一个Trigger必须对应一个Item,但一个Item可以对应多个Trigger。触发器通过告警通知功能对事件进行告警事件(Events)和处理动作(Actions)。这些动作可以是发送 Email、SMS短信通知,最后通过Web 前端添加监控图和网络拓扑图,对相关故障和异常实现快速分析,甚至自定义脚本排除故障。
  3.2.2 自动化运维模块
  云计算的复杂性和多样性导致业务的可用性降低、定位故障源十分困难,大量的监控节点单凭手工操作是无法保证监控的时效性。自动化运维功能把具有相同特性的节点共同采集,根据通用的功能预先定制监控项目模板,将项目,集合,触发器,图形汇总为一个模板(Template),在创建监控主机时关联相关的配置模板,达到快速配置的目的,对相同属性监控项目可预定义脚本自动化执行操作,实现监控结果的二次确认或深度分析判断。自动发现功能通过定义自动发现条件,服务器进程定时轮询,查找到符合条件设备后将设备信息批量添加到数据库后台,如根据SNMP通讯字符串添加网络设备等。自动注册功能在客户端软件安装完成后配置相应配置文件,客户端主动发送注册请求,服务器端定义自动注册条件批量添加主机。低级自动发现功能通过脚本程序定义某种应用特征,结合模板功能实现,一般用在监控应用资源。
  3.2.3 数据库模块
  后台采用Mysql数据库,Mysql是一个关系型数据库管理系统,在WEB应用方面Mysql是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一[13]。设计主要数据表结构和字段如表2所示。3.3 云计算接口功能设计
  云资源接口层是云监控的核心,通过统一接口在一个平台内调用多个云资源接口,实现对多个云资源以及云资源内部资源收集和跟踪、了解相关信息并发送到逻辑处理层,根据自定义规则做出响应,并反馈回云资源。常见的开源云资源接口模块有:Deltacloud, jCloud, libvirt, libcloud, 云接口有:Amazon CloudWatch、VMware vcloud等。
  本文基于libcloud 开发统一接口模块。Apache Libcloud 基于Multi-Clouds思路,是一组标准化各种不同云计算提供商的 Python 库[14]。Libcloud 为不同云计算服务商提供了一个通用的接口,通过libcloud可实现云计算资源创建、删除、重启和查看等功能。

www.fabiaoba.com),是一个专门从事期刊推广期刊发表、投稿辅导、发表期刊的网站。
  本站提供如何投稿辅导、发表期刊,寻求论文刊登合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级论文刊登/国家级论文刊登/ CSSCI核心/医学投稿辅导/职称投稿辅导。

投稿邮箱:fabiaoba365@126.com
 在线咨询: 投稿辅导275774677投稿辅导1003180928
 在线咨询: 投稿辅导610071587投稿辅导1003160816
 联系电话:13775259981

联系方式
李老师QQ:发表吧客服610071587 陈老师QQ:发表吧客服275774677 刘老师QQ:发表吧客服1003160816 张老师QQ:发表吧客服1003180928 联系电话:18796993035 投稿邮箱:fabiaoba365@126.com
期刊鉴别
  • 刊物名称:
  • 检索网站:
热门期刊
发表吧友情提醒

近来发现有些作者论文投稿存在大量剽窃、抄袭行为,“发表吧”对此类存在大量剽窃、抄袭的论文已经停止编辑、推荐。同时我们也提醒您,当您向“发表吧”投稿时请您一定要保证论文的原创性、唯一性,这既是对您自己负责,更是对他人的尊敬。

此类投稿的论文如果发表之后,对您今后的人生和事业将造成很大的麻烦,后果不堪设想,请您一定要慎重,三思而后行。

如因版权问题引起争议或任何其他原因,“发表吧”不承担任何法律责任,侵权法律责任概由剽窃、抄袭者本人承担。

 
QQ在线咨询
陈老师:275774677
张老师:1003180928
李老师:610071587
刘老师:1003160816
论文刊登热线:
137-7525-9981
微信号咨询:
fabiaoba-com

友情链接

申请链接