找文章 / 找答案
精选问答 更多内容
回帖奖励 250 洪豆      回复本帖可获得 5 洪豆奖励! 每人限 1 次

[Python独家资料] 真实应用分享-流式数据集+脚本 快速实现设备监控平台

 
永洪tech_xh青铜一 显示全部楼层 发表于 2024-9-5 15:54:02 |阅读模式 打印 上一主题 下一主题
前景

随着物联网(IoT)的蓬勃发展和大数据技术的日益成熟,流式数据作为一种实时、源源不断的数据流,正逐渐成为行业关注的焦点。此类数据能够即刻提供关键的业务洞察,协助企业迅速作出策略调整。特别地,在对设备进行监控的过程中,流式数据集发挥着不可或缺的作用,特别是在那些要求对数据进行即时分析和快速响应的场合。

流式数据具有一些独特的特点,例如,其有效性短暂并不要求长期存储,数据内容变化频繁,这正适合用于反映即时情况和短时间内的状态变化。在工业自动化领域,生产线监控系统就是一个典型的流式数据集的应用实例。这里,机器传感器产生的温度、压力和速度等数据是实时生成的,需要被即时收集和分析以监控设备的运行状况。当系统检测到异常值时,它能立刻启动报警或进行自动调节,以避免事故发生并确保生产效率与安全。

智慧城市构建过程中,交通信号灯、公共Wi-Fi热点、环境监测站点等城市基础设施亦产生了大量的流式数据。通过持续监控这些数据,城市管理者能够即时掌握城市运作情况,并做出及时的资源优化配置,从而提升管理效率和居民生活质量。

因此,利用流式数据集结合脚本语言去快速搭建设备监控平台,不仅能提升数据处理的速度和灵活性,也大幅减少了开发与维护成本。对于现代企业来说,这种方法在处理大规模实时数据方面扮演着举足轻重的角色。

功能说明

在永洪系统中,我们可以预设一个流式数据的入口,使数据可以通过指定格式推送进来,并依据此数据构建监控仪表板,实时进行数据监控。
流式数据集数据路径.png
下面将举自己在使用过程中用到的实际示例来讲解此功能场景。

近期作者在公司通过树莓派搭建了一个小的服务器,但由于该服务器长时间开机以及下班后公司不开空调会导致服务器温度过高,担心对其存在损耗与风险,因此想要对其温度进行监控,顺便带上其内存使用情况。

在永洪系统中创建一个流式数据集,并预设想要填入的数据列:CPU温度、内存占用、内存空闲,最后填入一个数据集的唯一id。
创建流式数据集.png 创建流式数据集2.png
上图中将数据集唯一id设置为flowdata_system_audit,点击复制url即可获取到脚本需要发送请求的请求地址http://192.168.10.10/bi/Viewer?proc=20&name=flowdata_system_audit

再在服务器中创建一个定时的监控脚本文件system_audit.sh
  1. # 获取cpu温度
  2. cpu_temp=$(cat /sys/class/thermal/thermal_zone0/temp| awk '{printf "%.2f", $1/1000}')
  3. # 获取内存占用
  4. mem_usage=$(free -m | awk 'NR==2{printf "%.2f", $3}')
  5. # 获取内存空闲
  6. mem_free=$(free -m | awk 'NR==2{printf "%.2f", $7}')
  7. # 向流式数据集发送请求
  8. curl --location --request GET "http://192.168.10.10/bi/Viewer?proc=20&name=flowdata_system_audit" --data-raw "{"data":[{"CPU温度" : ${cpu_temp},"内存占用" : ${mem_usage},"内存空闲" : ${mem_free}}]}"
复制代码
通过crontab做一个定时任务
  1. * * * * * /bin/sh /home/test/system_audit.sh
复制代码
最后用该数据集做一个简单的报告,呈现效果如下。
报告演示1.png
通过上述简单的方式我们快速建立了一个服务器的cpu温度内存监控平台。但这仅仅达到了作者最基本需求对cpu温度内存监控,系统中存在这更多的指标以及信息可以用于监控与问题排查。

后续作者又通过python对系统的存储、网络、进程实时资源占比等信息进行了获取,并通过制作多个流式数据集对报告进行改进,最终呈现效果如下。
报告演示2.png

python脚本与最终报告的模板,见附件: python脚本与报告模板.zip (4.16 MB, 下载次数: 5)
回复

使用道具 举报

精彩评论71

永洪tech_xh青铜一 显示全部楼层 发表于 2024-9-5 16:02:45
python脚本的使用说明:
/bin/python3 /data/script/system_audit.py -U http://192.168.10.10/bi/Viewer --k XH-001 --cm sys_audit_info --n sys_audit_network --d sys_audit_disk --t sys_audit_process

-U :产品访问地址
--k : 设备名称
--cm : cpu内存信息流式数据集对应的唯一id
--n : 网络信息流式数据集对应的唯一id
--d : 磁盘信息流式数据集对应的唯一id
--t : cpu内存top进程流式数据集对应的唯一id

脚本中也有相应的配置介绍与部分注释
回复 支持 1 反对 1

使用道具 举报

scr328b玄铁二 显示全部楼层 发表于 2024-9-5 21:29:37

回帖奖励 +5 洪豆

学习了,做的真好!非常有创意。
回复 支持 1 反对 0

使用道具 举报

永洪tech_xh青铜一 显示全部楼层 发表于 2024-9-5 16:50:34
后续结果分析,在对设备进行长期监控的过程中也发现了一些数据情况很有趣,和大家分享下。 报告演示2.png
比如上图中13:5214:11时内存快速下降又回升,是因为这台服务器上启动了一个永洪产品并对其进行了两次启停操作,14:11启停时cpu占比非常高导致cpu温度在那段时间也快速上升了一下。
再比如下图中在815号的14点之后,产品自动获取到开发中的新包后CPU占比从平均38%涨到了平均58%,这样的现象持续了几天后将该问题上报后才CPU占用才降下来。
报告演示3.png
这个问题到822号进行了修复,从下图可以看到1230替换新包后CPU占比与温度有了下降。
报告演示4.png
因为平时风扇噪音太大,所以作者平时不开启风扇,下图体现了开启风扇后对cpu降温效果的一个展示。在1330开启了散热风扇,两分钟内cpu温度快速下降,从73度降到了48度,也从侧面反应了散热风扇的效能。
报告演示5.png

回复 支持 1 反对 0

使用道具 举报

永洪tech_xh青铜一 显示全部楼层 发表于 2024-9-5 16:36:41
报告模板已上传至官网模板页面:https://plugins.yonghongtech.com/template/470
回复 支持 1 反对 0

使用道具 举报

我是卡拉米青铜四 显示全部楼层 发表于 2024-9-5 16:48:51

回帖奖励 +5 洪豆

回复

使用道具 举报

ARS1青铜四 显示全部楼层 发表于 2024-9-5 16:52:45

回帖奖励 +5 洪豆

回复

使用道具 举报

kl雨田玄铁三 显示全部楼层 发表于 2024-9-5 16:57:02

回帖奖励 +5 洪豆

回帖奖励 +5 洪豆
回复 支持 反对

使用道具 举报

一一一一青铜一 显示全部楼层 发表于 2024-9-5 17:02:21

回帖奖励 +5 洪豆

回复

使用道具 举报

阿姆斯特朗炮铂金一 显示全部楼层 发表于 2024-9-5 17:05:44

回帖奖励 +5 洪豆

回复

使用道具 举报

Cathy_青铜三 显示全部楼层 发表于 2024-9-5 17:30:17

回帖奖励 +5 洪豆

回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部