Linux服务器运行数据监测系统设计与实现

2023-10-28 00:11黄勇银朋孙千惠谈俊文王子芊
电子产品世界 2023年9期
关键词:监测系统可视化服务器

黄勇 银朋 孙千惠 谈俊文 王子芊

摘要:在大中型企业中,Linux 服务器得到了广泛的应用,服务器数量随着应用扩展越来越多,给运维监测带来了巨大挑战。为了解决服务器运维监测问题,提高运维效率与系统的可用性,方便运维人员掌握服务器运行状态,设计并实现了Linux 服务器运行数据监测系统,包括系统架构和系统功能。服务器运行数据监测系统能够对Linux 服务器数据进行准确监测,设计并实现了通过Android 移动应用程序来可视化展示监测数据。该系统运行稳定,且能够满足运维人员的工作需求。

关键词:服务器;监测系统;监测指标;可视化

中图分类号:TP277 文献标识码:A

1 研究背景

随着信息技术的快速发展,大中型企事业单位的数字化建设也在不断推进,云服务集群的应用也越来越广泛。其中,私有化的云平台能够通过管理软件虚拟化出几十台甚至上百台虚拟应用服务器,根据实际需求还能不断扩展其应用层面,但随之带来的影响就是对主机、服务器、应用系统进行综合监控的需求不断扩大,仅仅通过人工对服务器运行状态进行监测变得越来越不现实,完整且可靠的服务器监控管理方案是非常必要的[1]。为解决服务器监控所需的网络和设备,智能移动终端得到应用[2]。系统架构的设计好坏对服务器的应用起到关键作用,好的系统架构能够为用户提供高效服务,也可构造成节点服务器集群[3]。轻量级的服务器控制管理系统设计,可采用当前主流框架来实现,如Spring、Spring MVC(模型—视图—控制器)、MyBatis。对于用户来说,其能够实现及时查看服务器运行状态,同时还可以收到服务器的反馈信息[4-5]。在服务器数据展示方面,ECharts 的使用十分广泛,其是基于JavaScript 的数据可视化图表库,能够可视化展示获取的数据,对市面上的浏览器和设备具有较好的兼容性[6]。在Windows 系统上,可实现多种平台服务器的性能监控,多平台的支持使得系统的应用更广泛。当然,也可以采用C/S(客户端/ 服务器)架构,实现对Linux 服务器性能进行分析以及对资源调度的监控[7]。如果想要持久化存储服务器监控数据,可以设计专门的监控数据库,将监控服务器负责的节点服务器采集到的节点监控数据存入这个专门监控数据库中,就可以随时查看历史数据[8]。

2 系统设计

2.1 系统分析

Linux 系统不仅开源性好,而且具有相对稳定的优点,经常被大中型企事业单位作为支持业务处理的平台。使用稳定的平台可以降低业务处理过程中存在的风险。所以,将所有的业务集中在Linux服务器处理时,其运行数据监测就变得尤为重要。

当前,传统的服务器监测系统已不能满足企业日益发展的需要,主要是其受限于工作地点,需要到机房才可以监测服务器的运行状态,不能利用手机等移动设备随时查看服务器的各项指标运行状态。如果遇到系统应用出现了运行故障,负责运维的工作人员要到机房进行现场处理。基于以上可能出现的情况,本文设计了Linux 服务器运行数据监测系统,通过Android 移动应用程序可视化展示监测数据。

2.2 设计思路

私有化的服务器集群越多,对服务器系统化、高效化管理的需求也越发强烈。要支持几十个甚至上百个节点服务器的正常运行,仅仅依赖传统的管理和监测方法是无法实现的。所以,监测系统需要有一个好的架构,对于架构的设计要考虑数据的实时性和真实性。Linux 服务器运行数据监测系统可以提高运维人员的工作效率,以达到降低维护成本的目的。本文设计与实现了Android 移动终端可视化展示监测数据,服务端则用于采集服务器运行数据并推送给Android 移动终端。Linux 服务器运行数据监测系统架构如图1 所示。

本文提出的Linux 服务器运行数据监测系统能够通过移动设备来实现远程监测。该服务器的系统架构分为3 个部分,包括节点服务器、主服务器、移动终端。

节点服务器:节点服务器是一种用于处理和存储数据的服务器,是服务器集群中的一部分。其特征在于各节点可以切换该节点的动作模式,即切换各节点的单独动作或与其他节点的协调动作。其在Linux 服务器运行数据监测系统中作为单一功能服务器存在。

主服务器:主要是指服务器集群,其在服务器上安装并运行了集群服务。为了减少单点故障数量,可以进行集群化操作,同时也实现了集群化资源的高可用性。

移动终端:在Linux 服务器运行数据监测系统中,主要对主服务器的运行数据进行监测,设计与实现了Android 移动应用程序可视化展示各个节点服务器传递到主服务器中的数据。

监测客户端程序主要部署在Android 移动终端设备,其可以从主服务器采集到各个节点服务器的运行状态数据。

2.3 系统功能设计

Linux 服务器运行数据监测系统的功能结构主要包括数据采集模块和数据可视化模块。其中数据采集模块主要采集服务器的数据指标,包括CPU(中央处理器)数量、CPU 使用率、mem(内存)使用率、disk(磁盘)使用率、TCP/UDP(传输控制协议/ 用户数据报协议)连接数量。Linux服务器运行数据监测系统功能结构如图2 所示。

3 系统实现

3.1 数据采集模块实现

数据采集模块是为了方便Linux 服务器采集数据而专门设计的,主要考虑采集数据时的真实性和实时性。利用dataAcquisition(数据采集)方法,采集Linux 服务器运行状态数据,包含CPU 数量、CPU 使用率、内存使用率、磁盘使用率、TCP/UDP 连接数量。

Linux 服务器运行数据监测系统客戶端实现过程如下。

步骤1:客户端使用Flutter 框架开发,可以构建并在Android 平台上运行。

步骤2:navigationBarComponent(导航栏组件)可从配置文件的config.json(配置信息数据)中读取配置信息,包括主服务器的IP 地址与端口号,以及使用的口令。

步骤3:通过HTTPS(超文本传输安全协议)网络向主服务器发送请求,获取目录监控到的服务器信息。

步骤4:MessageBlock(信息块)组件将通过网络请求获取的服务器数据在前台中以列表的形式渲染出来。

Linux 服务器运行数据监测系统服务端使用Go语言实现,Go 又称Golang,是一种静态强类型、编译型语言。其可以实现对应指标数据的采集,以CPU 指标为例,实现过程如下。

步骤1: 使用Go 程序中的工具包, 导入numcpus(提供系统中CPU 数量的信息)包。

步骤2:读取CPU 核心数。

步骤3:计算CPU 总占用百分比 。

步骤4:计算CPU 每个核心的占用百分比。

步骤5:将数据写入dataJson(轻量级的数据格式)文件中,该变量包含服务器要监控的所有数据信息。

步骤6:将该数据通过HTTPS 发送serverState.json(服务器状态的数据)文件到主服务器。

3.2 数据可视化模块实现

Linux 服务器监测结果都能在移动设备上进行可视化查看,使用谷歌推出的Android 应用程序,可以呈现出数据界面,其设计简洁,能够增强用户体验,同时可以查看各个服务器总体状态以及监测服务器数据。Linux 服务器运行数据监测系统服务端采用Go 语言实现数据采集,使用Flutter 框架设计与实现Android 移动终端的服务器监测数据可视化展示。Linux 服务器运行数据监测系统对服务器的监测如图3 所示。

如图3 所示,通过Android 移动终端可视化界面,可以掌握Linux 服务器运行状态,其监测到的数据结果如表1 所示。

通过以上两种服务器的实验,结果表明Linux服务器运行数据监测系统能够准确实时地显示监测到的真实数据,而且可以较稳定地运行。

4 结论

互联网信息产业的快速发展,使得服务器需求数量越来越多,各大中型企事业单位为了能够安全高效地处理业务,愈发重视服务器的良好运行。但是,传统的服务器监测方式发展滞后,已经不能满足当前的服务器运行监测实际需求。出现这种情况的原因有很多种,如系统运维成本较高、无法及时监测等。本文设计并实现了Linux 服务器运行数据监测系统,系统采用Go 语言、Android 等主流技术,设计了3 层系统架构。该系统主要包括数据采集模块、数据可视化模块两大模块。监测客户端程序从主服务器获取到节点服务器运行状态数据,包括CPU 数量、CPU 使用率、mem 使用率、disk 使用率、TCP/UDP 連接数量等指标数据。数据可视化模块为用户提供了简洁的可视化界面,达到了提高用户体验的目的。运维人员可以快速掌握服务器运行状况。监测系统功能验证结果表明,服务器监测系统能够满足工作需求,同时可以减少由于系统问题导致的整个应用出现故障的概率,进一步提高系统的可靠性、可用性以及运维效率。

参考文献

[1] 刘锦荣,周冬梅. 基于服务器集群的云监控系统的设计与实现[J]. 信息通信,2016(8):96-97.

[2] 李志炜,田秀云. Linux 服务器自动化部署和管理[J].机电工程技术,2021,50(2):171-173.

[3] 张天明. 探析以云平台为基础的Linux 服务器搭建[J].科技视界,2020(34):112-113.

[4] 张嘉豪,赵亮,翁铭隆,等. 基于SSM+SpringBoot 技术实现服务器监控的研究[J]. 科学技术创新,2020(33):101-102.

[5] 冀潇,李杨. 采用ECharts 可视化技术实现的数据体系监控系统[J]. 计算机系统应用,2017,26(6):72-76.

[6] 李自成,刘庆,王后能,等. 煤层气开发数据采集与远程监控系统设计[J]. 自动化与仪表,2019,34(8):64-68.

[7] 裴欧亚,康慕宁,张磊. 基于SystemTap 的Linux服务器性能分析系统的设计与实现[J]. 电子设计工程,2014,22(10):28-31.

[8] 胡景军,陈云. 跨平台工业生产服务器性能监控系统的设计与实现[J]. 自动化应用,2013(10):10-12.

猜你喜欢
监测系统可视化服务器
基于CiteSpace的足三里穴研究可视化分析
基于Power BI的油田注水运行动态分析与可视化展示
基于CGAL和OpenGL的海底地形三维可视化
通信控制服务器(CCS)维护终端的设计与实现
“融评”:党媒评论的可视化创新
中国服务器市场份额出炉
得形忘意的服务器标准
GIS设备局部放电监测系统的研究
计算机网络安全服务器入侵与防御