您的位置:首页 > 游戏 > 手游 > 句容网站建设开发_品牌logo设计图片_如何在google上免费推广_网站建站教程

句容网站建设开发_品牌logo设计图片_如何在google上免费推广_网站建站教程

2025/2/24 8:58:01 来源:https://blog.csdn.net/m0_74172897/article/details/144675889  浏览:    关键词:句容网站建设开发_品牌logo设计图片_如何在google上免费推广_网站建站教程
句容网站建设开发_品牌logo设计图片_如何在google上免费推广_网站建站教程

讲一下之前获取CPU的,其余的原理和这个一样

python代码

@app.route('/cpu/')
def cpu_used():cpuoid=ObjectType(ObjectIdentity(myOIDs['cpu_loads']))ret = getTableRows((cpuoid,))cpuload=0for i in ret:cpuload += i[0]print(cpuload)return {'cpu':cpuload}
  var dom = document.getElementById('cpuChart');var myChart = echarts.init(dom, null, {renderer: 'canvas',useDirtyRect: false});var app = {};var option;option = {series: [{type: 'gauge',axisLine: {lineStyle: {width: 30,color: [[0.3, '#67e0e3'],[0.7, '#37a2da'],[1, '#fd666d']]}},pointer: {itemStyle: {color: 'auto'}},axisTick: {distance: -30,length: 8,lineStyle: {color: '#fff',width: 2}},splitLine: {distance: -30,length: 30,lineStyle: {color: '#fff',width: 4}},axisLabel: {color: 'inherit',distance: 40,fontSize: 20},detail: {valueAnimation: true,formatter: '{value}%',color: 'inherit'},data: [{value: 70}]}]};var myurcpu = "http://" + window.location.host+"/cpu/";setInterval(()=>{fetch(myurcpu).then(res=>{return res.json()}).then((json)=>{option.series[0].data[0].value = json.cpu;myChart.setOption(option);})},1000)if (option && typeof option === 'object') {myChart.setOption(option);}window.addEventListener('resize', myChart.resize);

一.路由 

python首先定义一个路由

  

这个参数 cpu 一定是和html代码里面的参数一致

 访问这个网址的时候 python就会执行这个路由下面的函数(cpu_used())并返回这样的数据

 {'cpu':cpuload}

二.python代码

首先  ObjectType 和 ObjectIdentity 不用管  固定格式 用就完了(详细讲解在最后 不看也可以 看也没用) 里面的参数是OID ,全局字典myOIDs里面有

这个OID在MIB里面这里

值是

 

可以看出来有很多值(说明 :

. 1.3.6.1.2.1.25.3.3.1.2  这里我后面没加索引,所以函数会读所有的值

) 

执行完 cpuoid=ObjectType(ObjectIdentity(myOIDs['cpu_loads']))  之后

cpuoid   里面就是

然后

ret = getTableRows((cpuoid,))

就是获取.5 .6 .7 .8 .9  --- .20  对应的所有的值,这里有个逗号是因为这个的参数要求是元组,加一个逗号代表是元组,不然会被按运算符()处理

这样 ret里面就是这边所有的值

cpuload=0
for i in ret:cpuload += i[0]
print(cpuload)
return {'cpu':cpuload}

上面代码就是遍历ret 一个一个加起来就是CPU使用率了

三.html代码

首先

 定义一个div元素用来存放图表

然后就是js代码

首先通过id获取到上面的div元素,id  一定要对应起来  是cpuChart

然后就是初始化配置

里面的data就是一会我们动态获取参数后 填充的地方

最后就是获取数据

刚才也说了,这里的cpu一定要和python定义的路由一样

你可以在网址后面自己实验,加一个CPU看一下是什么结果

 

是这样的

程序也是这样获取的

所以

option.series[0].data[0].value = json.cpu;

就是把后端返回的cpu  渲染到页面上

四.ObjectIdentity,ObjectType

  1. ObjectIdentity 的作用

    • ObjectIdentity 是 pysnmp 库中用于表示 SNMP 中 MIB 对象标识符 的类。
    • 它将接收一个点分十进制格式的字符串(如 1.3.6.1.2.1.25.3.3.1.2)或者 MIB 模块和名称(如 "SNMPv2-MIB", "sysDescr", 0"),并生成对应的 SNMP 查询标识。
  2. ObjectType 的作用

    • ObjectType 接收一个 ObjectIdentity 实例,进一步包装成一个 完整的 SNMP 查询对象
    • ObjectType 主要用于发起 SNMP 请求,并在请求结果中标识数据。
    • 初始化后,cpuoid 将是一个封装了特定 OID(myOIDs['cpu_loads'])的对象,随后会在查询中被使用。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com