当前位置: 首页 > news >正文

文明网站建设培训体会希爱力双效片的作用与功效

文明网站建设培训体会,希爱力双效片的作用与功效,郑州修了你官方网站,java做项目的网站文章目录CPU信息展示图表展示-视图函数设计图表展示-前端界面设计折线图和饼图展示饼图测试折线图celery和Django配合实现定时任务Windows安装redis根据数据库中的数据绘制CPU折线图CPU信息展示 图表展示-视图函数设计 host/views.py def cpu(request):logical_core_num ps…

文章目录

    • CPU信息展示
      • 图表展示-视图函数设计
      • 图表展示-前端界面设计
      • 折线图和饼图展示
        • 饼图
        • 测试
        • 折线图
          • celery和Django配合实现定时任务
      • Windows安装redis
          • 根据数据库中的数据绘制CPU折线图


CPU信息展示

图表展示-视图函数设计

host/views.py

def cpu(request):logical_core_num = psutil.cpu_count()physical_core_num = psutil.cpu_count(logical=False)try:load_avg = os.getloadavg()except Exception as e:load_avg = ['', '', '']cpu_time_percent = psutil.cpu_times_percent()else_percent = 0.0  #空闲CPU占有率for i in range(3, 5):else_percent += cpu_time_percent[i]try:cpu_freq = psutil.cpu_freq()except AttributeError:cpu_freq = Nonereturn render(request, 'host/cpu.html', locals())

Windows中怎么获取平均负载?没找到资料。。。。。。。

自定义过滤器:
在 host/templatetags/timefilter.py 文件附加过滤器:

@register.filter(name='cpu_val_fmt')
def cpu_val_fmt(value):return round(value/1000,2)

图表展示-前端界面设计

templates/host/cpu.html 文件:

{% extends 'host/base.html' %}
{% load timefilter %}
{% block title %} cpu信息 {% endblock %}
{% block content %}<div class="page-header"><a {% if not chart %}id="display"{% endif %} href="/cpu/">CPU 信息</a></div><div id="cpu_info"><table class="table table-bordered"><tr><td>物理 CPU 核心数</td><td>{{ physical_core_num }}</td></tr><tr><td>逻辑 CPU 核心数</td><td>{{ logical_core_num }}</td></tr><tr><td>最近 1 分钟平均负载</td><td>{{ load_avg.0 }}</td></tr><tr><td>最近 5 分钟平均负载</td><td>{{ load_avg.1 }}</td></tr><tr><td>最近 15 分钟平均负载</td><td>{{ load_avg.2 }}</td></tr><tr><td>用户</td><td>{{ cpu_time_percent.user }} %</td></tr><tr><td>系统</td><td>{{ cpu_time_percent.system }} %</td></tr><tr><td>空闲</td><td>{{ cpu_time_percent.idle }} %</td></tr>{% if cpu_time_percent.nice %}<tr><td>nice</td><td>{{ cpu_time_percent.nice }} %</td></tr>{% endif %}{% if cpu_time_percent.iowait %}<tr><td>iowait</td><td>{{ cpu_time_percent.iowait }} %</td></tr>{% endif %}{% if else_percent %}<tr><td>其他</td><td>{{ else_percent }} %</td></tr>{% endif %}{% if cpu_freq %}<tr><td>正在运行频率</td><td>{{ cpu_freq.current | cpu_val_fmt}} GHz</td></tr><tr><td>最低运行频率</td><td>{{ cpu_freq.min | cpu_val_fmt }} GHz</td></tr><tr><td>最高运行频率</td><td>{{ cpu_freq.max | cpu_val_fmt }} GHz</td></tr>{% endif %}</table></div>
{% endblock %}

测试:
在这里插入图片描述

折线图和饼图展示

host/urls.py 文件更改路由:

在这里插入图片描述
相应的,在视图函数 host/views.py 中也需要设置根据不同的路径,访问不同的HTML页面
在这里插入图片描述

选择使用 echarts 绘制折线图和饼图
参考echart官网,快速上手: https://echarts.apache.org/handbook/zh/get-started/
使用在线echart: https://cdn.baomitu.com/echarts
在 templates/host/base.html 中添加在线echart
在这里插入图片描述
新建 templates/host/cpu-header.html 文件:用于设置CPU饼图和折线图页面共同的部分。
在这里插入图片描述
在下面的CPU饼图和折线图页面中 {% include ‘host/cpu-header.html’ %} 即可。

饼图

选择合适的饼图,使用其代码,再修改为自己的数据:https://echarts.apache.org/examples/zh/editor.html?c=pie-borderRadius

饼图中的数据是一次性,无需使用数据库存储其数据。当访问的适合返回对应的信息即可。

{% extends 'host/base.html' %}
{% load timefilter %}
{% block title %} cpu信息 {% endblock %}
{% block content %}{% include 'host/cpu-header.html' %}<div><div id="main" style="width: 80%;height:400px;"></div></div><script type="text/javascript">// 基于准备好的dom,初始化echarts实例var myChart = echarts.init(document.getElementById('main'));// 指定图表的配置项和数据option = {tooltip: {trigger: 'item'},legend: {top: '5%',left: 'center'},series: [{name: 'CPU占用百分比分类',type: 'pie',radius: ['40%', '70%'],avoidLabelOverlap: false,itemStyle: {borderRadius: 10,borderColor: '#fff',borderWidth: 2},label: {show: false,position: 'center'},emphasis: {label: {show: true,fontSize: 40,fontWeight: 'bold'}},labelLine: {show: false},data: [{value: {{cpu_time_percent.user}}, name: '用户'},{value: {{cpu_time_percent.system}}, name: '系统'},{value: {{cpu_time_percent.idle}}, name: '空闲'},]}]};// 使用刚指定的配置项和数据显示图表。myChart.setOption(option);</script>
{% endblock %}

测试

在这里插入图片描述

折线图

有些数据是需要存储到数据库中。比如负载信息、CPU占有率等。进而根据数据库中的数据来绘制折线图。
下面选择使用用户CPU占有率这个属性来绘制折线图。
创建数据模型:
在这里插入图片描述

生成迁移文件,并写入数据库:
在这里插入图片描述
已经添加了数据库,但是此时数据库中还没有数据。
下面使用 celery 定时任务,定期扫描并存储。celery工作原理:
在这里插入图片描述

celery和Django配合实现定时任务

参考文章:https://www.cnblogs.com/yance-dev/p/10110754.html

- 1、安装所需模块

pip install celery
pip install django-celery-beat
pip install django-celery-results
pip install redis
  • 2、新建 host/tasks.py 文件,书写定时任务

在这里插入图片描述

  • 3、新建 sysinfo/celery.py 文件:

在这里插入图片描述

  • 4、在sysinfo/ _ _ init _ _.py写:

在这里插入图片描述

  • 5、在 sysinfo/settings.py 写入:

在这里插入图片描述

Windows安装redis

还需要在Windows中安装redis:
参考文章:https://redis.com.cn/redis-installation.html
安装过程中,注意要将redis添加到环境变量中.

  • 6、启动redis,测试celery是否配置成功:
pip install eventlet
Celery -A sysinfo worker -l info -P eventlet

在这里插入图片描述
此时已经连接到 redis 数据库。

  • 7、 定义定时任务: tasks.py 文件

在这里插入图片描述

  • 8、使用定时任务:

8.1 beat插件安装

pip install django-celery-beat

8.2 注册APP

在这里插入图片描述

8.3 数据库变更:
生成了django_celery_beat的一些信息
在这里插入图片描述

添加定时任务,选择任务类型
在这里插入图片描述
设定任务的间隔时间为2秒,并保存
在这里插入图片描述
8.4、 启动 worker 和 beat :

#启动beta 调度器使用数据库
celery -A sysinfo beat -l info --scheduler django_celery_beat.schedulers:DatabaseSchedulerCelery -A sysinfo worker -l info -P eventlet

出现了错误
在这里插入图片描述
根据文章:https://blog.csdn.net/Jason_WangYing/article/details/122147921
修改 settings.py:
在这里插入图片描述

再次启动worker
在这里插入图片描述
再次启动beat:
在这里插入图片描述
数据已经存储到数据库中:

在这里插入图片描述

根据数据库中的数据绘制CPU折线图

修改视图函数: host/views.py
在这里插入图片描述
修改 templates/host/cpu-line.html 前端界面,获取数据:

{% extends 'host/base.html' %}
{% load timefilter %}
{% block title %} cpu信息 {% endblock %}
{% block content %}{% include 'host/cpu-header.html' %}<div><div id="main" style="width: 80%;height:400px;"></div></div><script type="text/javascript">// 基于准备好的dom,初始化echarts实例var myChart = echarts.init(document.getElementById('main'));{# 首先,生命两个javascript数组 #}var series_data=[];var xAxis_data=[];{# 使用循环,依次将数据库需要展示的数据添加到声明的两个数组中 #}{% for data in datas %}series_data.push({{ data.user_percent }})xAxis_data.push("{{ data.create_time }}"){% endfor %}// 指定图表的配置项和数据option = {xAxis: {type: 'category',data: xAxis_data},yAxis: {type: 'value'},series: [{data: series_data,type: 'line',smooth: true}]};// 使用刚指定的配置项和数据显示图表。myChart.setOption(option);</script>
{% endblock %}

为了使得数据更好地展示,可以修改定时任务的时间间隔。例如1分钟或者3分钟、5分钟。

在这里插入图片描述

http://www.qdjiajiao.com/news/4072.html

相关文章:

  • 诸暨网站制作设计经典模板网站建设
  • 网站后台使用什么做的深圳seo秘籍
  • 玄圭做网站怎么样b站推广网站2024
  • 大型门户网站开发教程搜索引擎优化的简称是
  • 百度搜索官方网站个人微信管理系统
  • 佛山企业网站建设公司搜索引擎营销的模式有哪些
  • 网络技术培训内容网站关键词优化软件
  • 基层政府网站的建设情况百度小说免费阅读
  • 做机器设备的网站黑科技引流推广神器怎么下载
  • 如何做家教网站手机如何制作网页
  • 做网站销售话术百度营销客户端
  • 百度seo网络营销书福州seo代理商
  • 中国建造师官方网站查询seo优化排名公司
  • 有手机网站怎样做微信小程序收录网站的平台有哪些
  • p2p网站制作价格网站制作建设
  • 网络空间安全就业前景抚州seo排名
  • 湖北专升本网站建设介绍网络营销
  • 设计软件库网站页面优化内容包括哪些
  • 做plc课程设计的网站培训网站有哪些
  • 常德做网站建设的公司品牌推广与传播怎么写
  • 评估政府网站建设成效的指标推荐seo关键词优化
  • 上海工作网站站内优化包括哪些
  • 做苗木的用什么网站巨量引擎广告投放
  • 做推广网站的文章seo搜索引擎优化软件
  • 专业网站制作公司采用哪些技术制作网站?首页关键词优化价格
  • 兰州新站seoseo外包优化公司
  • 郑州手机网站建设多少钱竞价培训班
  • 怎样做问卷网站seo诊断报告
  • 邯郸之窗官网排名优化是怎么做的
  • 好便宜建站cba目前排行