.idea | ||
data | ||
apps.py | ||
Computer_status_get.py | ||
Computer_status.py | ||
README.md |
服务器监控面板
数据库
使用数据库存储历史30天的数据,每隔一秒储存一次
数据库存储:对象数据库
采用本地db文件,相对路径
数据对象:Computer_status
数据操作文件
文件名称Computer_status
数据对象
类名 Computer_status
time:时间戳,单位s
ram_all:所有内存
ram_use:已占用内存
cpu_use:cpu占用,比如50% 记作50
cpu_c:cpu温度
disk:记录磁盘,例如{'磁盘1':[容量,已用容量,io读,io写],'磁盘2':[容量,已用容量,io读,io写]} (单位kb)
web:记录网络流量,例如{‘网口1’:[上传,下载],'网口2':[上传,下载]} (单位kbps)
gpu:记录显卡信息,字典{'显卡名称':显卡信息,'显卡名称':显卡信息}
显卡信息(字典){
gpu_ram_all:gpu显存容量GB
gpu_ram_use:gpu显存使用GB
gpu_use:gpu占用,比如50% 记作50
gpu_fan:风扇占用,比如50% 记作50
}
构造函数:
Computer_status(time,ram_all,ram_use,cpu_use,cpu_c,disk,web,gpu)
数据读取方法
获取最新30s信息
方法名称:get_data_30s
参数:无
返回Computer_status集合
获取指定时间戳到指定时间戳信息
方法名称:get_data
参数:{
time_start
类型 int
备注:开始时间
time_end
类型 int
备注:结束时间
}
返回:Computer_status集合
获取最新30s信息
方法名称:get_data_json_30s
参数:无
将Computer_status集合根据时间排序,升序,转为json
返回json
获取指定时间戳到指定时间戳信息
方法名称:get_data_json
参数:{
time_start
类型 int
备注:开始时间
time_end
类型 int
备注:结束时间
}
将Computer_status集合根据时间排序,升序,转为json
返回json
数据写入方法
写入一条数据
方法名称:write_data
参数:{
名称computer_status
类型Computer_status
备注:数据对象
}
数据删除方法
删除time_start之前的数据 方法名称:delete_data
参数:{
time_start
类型 int
备注:开始时间
}
数据存储部分
每隔一秒,读取电脑状态,打包成Computer_status对象,调用Computer_status.write_data
web端部分
展示Computer_status对象中的状态,以时间为轴,绘制折线图
可以选择实时展示,每隔1s发送请求,服务器调用Computer_status.get_data_json_30s,返回json
可以选择查看指定时间端的历史信息,发送请求,包含开始时间和结束时间,服务器调用Computer_status.get_data_json,返回json