基于插件分布式监控平台设计.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于插件分布式监控平台设计

基于插件分布式监控平台设计摘要: 阐述基于JAVA语言的可扩展插件监控平台,定义监控数据采集的个性化插件,以及基于动态数据分析和动态加载的监控数据展现的插件,利用标准化的监控数据结构和自定义的远程协议,实现可热部署的监控数据采集插件和可热部署的监控数据分析和采集插件,组成一套监控数据分析和报表展现平台。 关键词: 插件;分布式;监控;热部署 0 引言 如今的应用都是部署在集群环境中的,但是集群中各台服务器的负载情况,对使用者来说往往都是盲点,只有在服务器宕机,服务不可用或者服务响应慢等异常情况出现时,才会被发现,于是大家都纷纷采用各种监控技术,如预先在各台服务器部署脚本,定时运行脚本等方式来获取每台服务器的负载情况,并及时通知给使用者,这种方式的缺点很明显,就是脚本升级是个麻烦的事情,扩展脚本的功能也很困难,又由于服务器部署的应用不同,采集的监控数据不同,就得另行设计一套监控,无法跟机器监控合二为一。于是本文采取一种动态的,可热插拔的,且可自定义的监控平台,为管理大量服务器提供简便,以及提供个性化的监控服务功能。 1 概述 监控平台分为两部分,一部分是数据收集器,另一部分是数据分析和展现平台。 如上模型图所示,左边是数据收集器,右边是数据分析器和数据展现平台,中间是底层运行收集器和数据展现平台的容器,收集器和数据分析与展现平台都是基于插件容器的,插件容器实现了热部署。 数据收集器的作用是,收集各台服务器上的数据项,例如CPU使用情况,内存使用情况等,在该监控系统设计中会默认提供一些数据收集插件,比如当前线程数据、cpu、io、内存等基础数据,使用者也可以依据自己需要,根据约定的接口和数据格式来定义插件并动态增加数据收集插件。数据展现平台的作用是,分析数据收集器收集到的数据,然后展现分析结果,当然分析器是可选的,系统也可以根据用户需要以不同形式展现收集到的数据。 2 插件设计 插件的实现方式有很多种,考虑到实现代码的轻量级以及实现的简易性,选择自定义插件服务;自定义插件必须实现平台统一的插件服务接口,通过自定义的类加载模型动态加载插件,插件可以在应用启动前部署在指定的路径下,或者服务器启动后上传到指定的目录下。应用启动后会运行一个线程,轮询检查指定目录是否有修改,如果有修改就重新加载插件,所以当插件上传后就会被加载到插件容器中。 3 数据收集器设计 收集器部署在业务系统中,作为客户端存在,其包括两部分功能,一部分是采集插件,用来采集服务机器上的监控数据,另一部分是数据推送服务,把采集到的数据推送到数据展现系统。 收集器插件需要实现收集器接口,并且会在数据收集器服务启动时或插件重新加载时被加载到收集器容器中。 收集器服务数据会启动收集数据的线程,该线程中会完成以下几项任务: 1)收集器插件加载线程,用于加载收集器插件以及检查是否需要重新加载。 2)建立一个线程池,让收集器按照优先级定时运行,优先级的排序是按下一次运行时间从近到远排序。 3)建立一个守护线程,判断加载收集器插件的线程和线程池是否正常,若出现异常则重启异常的线程。 4)启动一个线程,定时将收集器采集到的监控数据,推送到监控数据展现平台中。 5)启动一个让服务端心跳检查的服务。 线程池会根据收集器自定义插件的运行周期及执行次数进行定时执行,收集器收集到的数据会被存放到内存中,并定时或定量持久化到本地磁盘,这种内存缓冲的设计是为了减少监控插件的运行对系统正常运行带来的影响。 4 监控数据展现平台设计 当数据被采集并且推送到监控数据展现平台后,会被持久化到数据库中,当监控数据需要展现的时候,才从中取出,从数据被取出到展现前,会经过数据分析器,对数据进行过滤和分析,结果会被传给展现插件,展现插件会把输入的数据包装成报表对象,该对象包含了展现的必要信息,如展现类型:饼图,柱状图,折线图或表格,展现的数据等。 展现插件是一系列的插件,由展现插件容器加载,展现插件容器会在监控数据展现平台启动时加载服务,展现插件容器会启动2个线程: 1)展现插件加载线程,用于加载展现插件和分析器插件以及检查是否需要重新加载。 2)建立一个守护线程,判断展现插件和分析器插件轮询线程是否正常,出现异常则重启该线程。 在加载展现插件的同时加载分析器插件,因为展现插件依赖对应的分析器插件的分析结果。展现层的插件化是为了能够以自定义报表展现,以适应多样的监控数据展现,可以对收集到的同一份数据,自定义产生多份报表。 数据库中的数据,会被监控平台包装成通用的数据源接口,提供统一的查询方法,通过插件名称和时间参数等有哪些信誉好的足球投注网站监控数据。 5 数据分析器设计 数据分析器类似于一个过滤器的管道,跟servlet中的f

文档评论(0)

linsspace + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档