论文部分内容阅读
随着国家信息化的不断深入,越来越多的互联网公司开始使用消息中间件支撑平台的业务流量。消息中间件不仅在互联网领域有大量应用,在其他传统行业,比如电信、政务、金融等领域都在大量使用消息中间件,规模可达千级。如果缺乏对这些消息中间件的管理和监控,那么势必会造成极大的资源浪费,甚至影响线上生产服务的正常运行。目前,有少数开源的针对消息中间件的监控系统,但其稳定性普遍较差且无法对众多消息中间件进行管理。因此,需要一套消息中间件的管理和监控系统,在不影响集群性能的前提下,对公司所有消息中间件进行监控,实时关注消息中间件以及消息队列的运行状态,及时定位异常消息队列所属业务,在服务崩溃之前对其进行处理,同时对所有消息中间件集群进行统一管理,优化集群资源配置,减轻运维人员和开发人员的工作负担。消息中间件的管理与监控系统实现了对RabbitMQ和Redis两种消息中间件集群的管理和监控。系统将所有消息队列与公司业务进行绑定,将所有RabbitMQ和Redis集群纳入统一的管理与监控,做到事前及时预警,资源统一规划。同时,为了便于维护与二次开发,遵循团队主流技术路线,本项目将基于Linux系统,使用Golang语言进行开发,完成对RabbitMQ集群和Redis集群的管理和监控。本人在此项目中负责监控模块中的RabbitMQ集群监控功能和Redis集群监控功能、数据采集模块中的RabbitMQ集群数据采集功能和Redis集群数据采集功能以及监控策略模板模块的设计与开发。开发过程主要基于Beego框架,使用H-UI以及主流的JQuery和AJax设计美观友好的前端监控页面,同时使用Oracle数据库和Redis缓存分别存储系统的静态数据和实时数据。本系统已经开发完成并已部署上线,公司所有RabbitMQ集群和Redis集群已经被纳入系统的统一管理和监控之中,系统自上线以来运行稳定,为运维人员或者开发人员迅速定位问题所在提供了极大的方便,为线上服务能够安全可靠地运行提供了极大的支持。