python脚本采集服务器数据通过API提交到django web服务器,然后展示在页面上

简介:

采集服务器的信息的python程序

#coding:utf-8

import psutil

import urllib

import urllib.request

import urllib.parse

#import urllib2

import requests


#获取数据

cpuData = psutil.cpu_times()

#处理数据

cpuMax = cpuData.user+cpuData.system+cpuData.idle

cpuUsed = cpuData.user+cpuData.system

cpuUse = cpuUsed/cpuMax


#将数据进行打包

data = {"cpuUsed":cpuUse}

#sendData = urllib.parse.urlencode(data)

#sendData = sendData.encode('utf-8')

url = "http://192.168.52.129:8000/api/savecpu/"

#定义请求头部

header = {

        "User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",

    }


#定义请求

res =requests.post(url,data = data)

#req = urllib.request.Request(url,data = sendData,headers = header,method = 'POST')

#添加Header

#req.add_header(headers = header)

#发送请求

#ope = urllib.request.urlopen(req)

#打印结果

print(res.content.decode())

#print(ope.read())



django创建项目,创建app,我这里创建了一个api的应用

api的urls.py文件配置信息


from django.conf.urls import url

from . import views


urlpatterns = [

     url(r'^index/$', views.index,name='index'),

     # url(r'^getinfo/$',views.getinfo,name='getinfo'),

     url(r"^savecpu/$", views.saveCpu,name='saveCpu'),

     url(r"^showcpu/$", views.show,name='showcpu'),


]



视图文件

定义了2个函数


def saveCpu(request):

    """

        这个方法就是我们的接口方法,

        当被请求时会将请求上来的数据存入数据库

    """

    statue = {}

    if request.method == "POST" and request.POST: #检测请求的方式是post,并且post请求有数据

        #request.POST 这个方法以字典的形式存放着当前post请求的所有数据

        cpuUsed = request.POST["cpuUsed"] #使用类字典的取值方式取出传递上来的cpu使用率

        times = datetime.datetime.now() #获取当前时间

        cpuDatabase = SaveCpu() #实例化一个SaveCpu的模型实例

        cpuDatabase.used = cpuUsed #将数据赋值给模型

        cpuDatabase.time = times #同上

        cpuDatabase.save() #将模型映射到数据库

        statue["statue"] = "success" #定义当前接口状态为保存成功

    else:

        statue["statue"] = "request method must be post" #定义当前接口状态为失败

    return JsonResponse(statue) #将接口状态返回给请求者


def show(request):

    cpu = SaveCpu.objects.all()

    return render(request,"api/showData.html",locals())

# Create your views here.


agent 端(python程序)不断的采集到本机服务器的信息,通过api把数据传递给WEB服务器端(django),web server端接收到接口传过来的数据,把传递过来的数据按照格式存入数据库保存数据,从数据库中提取数据,前端页面展示数据


大概一个简单的server -》agent端就是这样的



本文转自 xxl714 51CTO博客,原文链接:http://blog.51cto.com/dreamgirl1314/2044918,如需转载请自行联系原作者

相关文章
|
1月前
|
人工智能 前端开发 API
Gemini Coder:基于 Google Gemini API 的开源 Web 应用生成工具,支持实时编辑和预览
Gemini Coder 是一款基于 Google Gemini API 的 AI 应用生成工具,支持通过文本描述快速生成代码,并提供实时代码编辑和预览功能,简化开发流程。
143 38
Gemini Coder:基于 Google Gemini API 的开源 Web 应用生成工具,支持实时编辑和预览
|
2月前
|
弹性计算 安全 开发工具
灵码评测-阿里云提供的ECS python3 sdk做安全组管理
批量变更阿里云ECS安全组策略(批量变更)
|
2月前
|
Kubernetes 安全 Devops
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
97 10
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
|
3月前
|
API 数据库 开发者
深度剖析Django/Flask:解锁Web开发新姿势,让创意无限延伸!
在Web开发领域,Django与Flask如同两颗璀璨的星辰,各具特色。Django提供全栈解决方案,适合快速开发复杂应用;Flask则轻量灵活,适合小型项目和API开发。本文通过问答形式,深入解析两大框架的使用方法和选择策略,助你解锁Web开发新技能。
65 2
|
3月前
|
前端开发 API 开发者
Python Web开发者必看!AJAX、Fetch API实战技巧,让前后端交互如丝般顺滑!
在Web开发中,前后端的高效交互是提升用户体验的关键。本文通过一个基于Flask框架的博客系统实战案例,详细介绍了如何使用AJAX和Fetch API实现不刷新页面查看评论的功能。从后端路由设置到前端请求处理,全面展示了这两种技术的应用技巧,帮助Python Web开发者提升项目质量和开发效率。
88 1
|
3月前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
269 45
|
3月前
|
安全 数据库 开发者
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第26天】本文详细介绍了如何在Django框架下进行全栈开发,包括环境安装与配置、创建项目和应用、定义模型类、运行数据库迁移、创建视图和URL映射、编写模板以及启动开发服务器等步骤,并通过示例代码展示了具体实现过程。
112 2
|
3月前
【Azure App Service】PowerShell脚本批量添加IP地址到Web App允许访问IP列表中
Web App取消公网访问后,只允许特定IP能访问Web App。需要写一下段PowerShell脚本,批量添加IP到Web App的允许访问IP列表里!
|
3月前
|
JSON API 数据格式
如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架
本文介绍了如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架,适合小型项目和微服务。文章从环境准备、创建基本Flask应用、定义资源和路由、请求和响应处理、错误处理等方面进行了详细说明,并提供了示例代码。通过这些步骤,读者可以快速上手构建自己的RESTful API。
253 2
|
3月前
|
缓存 监控 Linux
Python 实时获取Linux服务器信息
Python 实时获取Linux服务器信息

推荐镜像

更多