基于Kafka和Storm技术的在线学习平台的监控后台实现

 2022-04-03 22:39:26

论文总字数:39875字

摘 要

现如今,科学技术的迅猛发展使软件产品或服务受到越来越多行业的欢迎,但是现在软件的系统日益庞大、复杂性日益提高,其面临的潜在风险也越大。分布式系统由于其集群内节点数目繁多,工作拓扑复杂,可能因为一个节点发生异常而造成整个系统的崩溃,所以随时掌握系统的运行状况,防范化解潜在问题受到越来越多公司的重视。实时监控能以可视化方式展示系统中各个组件的运行状况,并在发现潜在问题时及时向运维人员发送告警信息,因此实时监控的研究与应用具有非常重要的意义。

本文在分析比较目前主流监控框架的基础上,设计并实现了一个采用Prometheus和Grafana框架的实时监控平台。它充分利用了该框架的高度定制性,针对一个在线大数据学习和训练平台中的两个重要组件:Apache Kafka和Apache Storm,自定义了若干监控指标,并通过表格或者折线图的形式,可视化展示其中的运行数据。当采集的数据超过设定的阈值或组件发生故障时,能以邮件形式通知告警。最后通过展示其在实际应用中的效果图,证明其达到了预期效果。

关键词:实时监控,Prometheus,Grafana,可视化展示,告警

ABSTRACT

Nowadays, with the rapid development of science and technology, software products and services are getting more and more popular among all walks of life. However, because the systems of software are huger and the complexity higher, the risks they face are increasing too. With regard to distributed systems, it is likely that the failure of a single node leads to the collapse of the whole system considering the large number of nodes in the cluster and the complex working topology. So, knowing the running condition of the system at any time, preventing and resolving potential problems are paid more attention by more firms. Real-time monitoring system is able to display the condition of all components by visualization methods, find potential problems and inform those responsible for operations of warning information in time. So, to research and apply real-time monitoring system is of great significance.

Based on the analysis and comparison of popular monitoring frameworks, the paper designs and implements a real-time monitoring platform on the basis of Prometheus and Grafana. It fully utilizes the high customizability of the framework and defines some metrics associated with two important components: Apache Kafka and Apache Storm in an online Big Data learning and training platform. It presents the visualization of data in the form of table or line chart. When data collected is out of the range which is defined in advance or some component fails, it can send emails to inform operation staff timely. At last, it illustrates the effectiveness of this monitoring platform by displaying some screenshots in the real application.

Keywords: real-time monitoring, Prometheus, Grafana, visualization display, waning

目 录

摘要 I

ABSTRACT II

第一章 绪论 1

1.1课题的背景和意义 1

1.2国内外研究现状 1

1.3研究内容与组织结构 2

第二章 技术综述 3

2.1在线学习与训练平台概述 3

2.1.1 平台架构 3

2.1.2 关键构件 4

2.2监控平台概述 6

2.3监控层次与指标 6

2.4监控平台的实现原理 7

2.4.1 监控系统基本模型 7

2.4.2 监控系统的一般结构 7

2.4.3 监控系统的数据传输 9

2.5主流监控系统框架 10

2.5.1 传统监控框架简介和比较 10

2.5.2 Prometheus和Grafana框架简介 11

2.6本章小结 13

第三章 需求分析与概要设计 14

3.1 监控平台需求分析 14

3.1.1 功能性需求分析 14

3.1.2 非功能性需求分析 14

3.2 监控平台概要设计 14

3.3本章小结 15

第四章 监控平台详细设计与实现 16

4.1 拓扑设计 16

4.2 监控指标的选取与设计 17

4.3 监控指标的获取与处理 18

4.4 监控数据的可视化展示 24

4.5 监控告警的设计与实现 27

4.6本章小结 29

第五章 监控平台的应用与展示 30

第六章 工作总结与展望 35

6.1总结 35

6.2 展望 35

参考文献 36

致 谢 37

第一章 绪论

1.1课题的背景和意义

随着科学技术日新月异的发展,各种服务与软件层出不穷,如今各类软件产品被广泛应用到社会的各个领域中。但是,百分之百完美的软件或系统是不存在的,其自身的设计缺陷、所依托的外部环境的变化或性能瓶颈等,都会导致其产生异常或故障。同时,现在的系统日益庞大,复杂性日益提高,其中一个组件发生异常则可能“牵一发而动全身”,造成相关服务的中断乃至整个系统的瓦解。而分布式大数据系统因其分布式的特点:集群机器数目繁多,工作拓扑复杂,更增加了其运行风险。所以,随时了解系统运行状态以减少运行风险,受到越来越多公司的重视。

于是,为了在无人值守的情况下确保系统监控功能正常运行,同时及时精准地展示被监测对象的实时状态,自动化监控运维平台应运而生。通过可视化工具,运维人员可以简单方便地掌握各个节点中所装设的系统、软件、数据库等的实际运行情况。运维过程引入自动化监控平台,能够及时发现潜在风险并能向外发出告警通知,最大限度降低系统发生故障的概率,保障系统运转良好。

1.2国内外研究现状

伴随着大数据、人工智能等技术的火热发展,如今互联网技术得到越来越多的传统行业的欢迎, 通过信息化管理平台对资源进行分配和管理,实现资源的信息化检测与调控的需求也越来越旺盛,因而实时监控技术应运而生并快速发展,如今电网、交通运输等传统行业业已布局了大型监控系统以提升自身服务可靠性,而互联网公司是推动实时监控技术发展的最活跃的角色。

剩余内容已隐藏,请支付后下载全文,论文总字数:39875字

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;