当前位置:   article > 正文

springboot架构图_【从0到1】spring boot计算机性能指标展现

springboot项目的性能指标有哪些

此项目是迭代产生的,本人精力水平有限一共更新了五篇,期间有任何疑问欢迎大家评论或者私我。这一篇文章讲了基本的实现,后面的文章增加了数据库,hdfs,redis,页面布局。写过的文章我也会持续更新,让文章更细,代码功能更加丰富,此项目满足了用spring boot框架最基本的增删改查功能,并将这些数据进行可视化展现,如果正好有此需求的人,那么这篇文章一定不容错过。关注不迷路~你们的鼓励就是我最大的动力(ง •_•)ง

话不多说,先来最终效果!!!觉得不错就看下去,这个系列如果帮到你了,就给个赞吧~

6532462a0da6a9cf43d193510b8060a6.gif

程序流程图

d4c04bec2700e797373e867efd3d302c.png

集群部署架构图

4b5749ec9d598741f6d6f266c0d0f11b.png

项目技术栈

ed7185dd3c48c7d7a7af7c63a4cea656.png

负载均衡实现效果

204c618f49332acea0421ddd4f593fb5.gif

目的计算Linux虚拟机指标包括内存使用率,cpu使用率,实时网速。获取hdfs的健康信息,包括配置容量,现有容量,DFS余量,非DFS使用量。并进行可视化展示

涉及技术:【必用】spring boot + Echarts + thymeleaf+【选用】Redis+Vue+Bootstrap

怎么去看:这个项目就是将平时数据库去到的数据去做可视化展现,至于加redis,登录页,导航页都是花里胡哨的,所以只想学核心基本的看1-3,想深入美观的看4-5。我这个每个模块都是可以拆分的,取你所需就可以了。只要其中有涉及到你想看的,那就值得一看。

收获什么:加深对spring boot的理解,学会如何Echarts官方案例变为自己的并加以应用,学会前后端联动,熟悉控制器与异步传输的使用,简单进行Linux和shell文件的了解。以及对缓存基本的应用,麻雀虽小,相信能收获颇多。

本篇实现思路:利用Java去读取Linux中的文件,读出其中的信息,并将获得的字符串加以计算,通过控制层传给前端,利用前端进行展示。

源码地址:https://github.com/bigli97/computer

本篇实现效果

05135e0884d290a1721e382745752be4.gif

实现步骤

  1. Java利用ssh连接Linux
  2. 数据准备
  3. 提供一个可视化模板
  4. 进行前后端联动,异步将数据传输到页面上

1、Java利用ssh连接Linux

de0ddafb7b971bec4f31e36eb8f918f4.png

2、数据准备

(1)CPU使用率获取

command:top -b -n 1 | head -3

f5394c5cf90652cef41ae85c50c2d9ad.png
第三行为cpu状态:
依次对应:
us:user 用户空间占用cpu的百分比
sy:system 内核空间占用cpu的百分比
ni:niced 改变过优先级的进程占用cpu的百分比 id:空闲cpu百分比
wa:IO wait IO等待占用cpu的百分比
hi:Hardware IRQ 硬中断 占用cpu的百分比
si:software 软中断 占用cpu的百分比
st:被hypervisor偷去的时间

计算方式:100-cpu空闲百分比

a3ccff207f60a13ef18350180c689a1b.png

(2)内存使用率获取

commandcat /proc/meminfo

85d0e0d2ab4f1ac99db0d954320c482e.png

红框代表含义:总内存,空闲内存

计算方式:(总内存-空闲内存)/总内存

7739f8feca7381546cf298c7e7138cf3.png

(3)实时网速获取

command:cat /proc/net/dev(记录了不同网络接口(interface)上的各种包的记录)

最左边的表示接口的名字,Receive表示收包(下载量),Transmit表示发送包(上传量)

87b7a2a15bb775f3fcd381f28d78460f.png

需要一个脚本文件(获取实时网速和实时上传率,我只做了第一个,可以自己扩展一下)

简单介绍以下脚本含义:sed将:替换为空格全局匹配, awk读第二个,grep 按什么匹配,echo代表输出什么,剩下的有点语言底子的都应该可以看懂,我也就不说了。

463baf7e16810ef34ab66738c31f6994.png

计算方式:根据前后一秒网络下载量所产生的差值作为数据

6f6328a5bf63d191e0bcc8431496aece.png

3、可视化模板

我们需要一个可视化前端模板,我找了一个官方案例,效果如下

https://echarts.apache.org/examples/zh/editor.html?c=gauge-car-dark

eeeff3117e896266cfa4ac88e189ba88.png

4、进行前后端数据交互

前端部分

553124fd07a3d30d00a950a677cb2dd6.png

后端部分

bedd4a938c3e00504e5469cc24480b16.png

结语:对学习了spring boot或者Echarts想要一个练手项目的时候,那么这个项目就适合你。我为什么没有直接利用Java去实现本机(windows)一些性能指标的监控呢,比如下图。因为Java并不能直接获取本机的一些数据,应该是操作系统层面的权限问题吧,这些都是我踩过的坑,我也只获取到了jvm层面,代码就不附了,感兴趣的网上或者私我都可以。

大忽悠:计算机指标2-整合mybatis​zhuanlan.zhihu.com

如果帮到你了,不要吝啬你的赞哦,关注不迷路,关于Java和大数据的知识我会持续更新~

1a26d44046bbb7f7a7410762927b0893.gif
win10指标监控
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/146686
推荐阅读
相关标签
  

闽ICP备14008679号