pull/109/head
midoks 7 years ago
parent 2fdf7bb4a9
commit 9c11d1f217
  1. 2
      class/core/plugin_api.py
  2. 57
      class/core/system_api.py
  3. 10
      route/plugins.py
  4. 17
      route/system.py
  5. 1337
      static/js/control.js
  6. 19
      task.py
  7. 4
      templates/default/control.html

@ -44,6 +44,7 @@ class plugin_api:
if not self.__tasks:
self.__tasks = public.M('tasks').where(
"status!=?", ('1',)).field('status,name').select()
if sName.find('php-') != -1:
tmp = sName.split('-')
sName = tmp[0]
@ -188,6 +189,7 @@ class plugin_api:
pg = self.getPluginInfo(data)
plugins_info.append(pg)
# print plugins_info, data
return plugins_info
def getAllList(self, sType='0'):

@ -336,6 +336,7 @@ class system_api:
return networkInfo
except Exception, e:
print e
return None
def getNetWorkApi(self, get=None):
@ -386,34 +387,72 @@ class system_api:
'/panel/' + scriptFile)
return self.GetMemInfo()
def getNetWorkIo(self, start, end):
def getNetWorkIoData(self, start, end):
# 取指定时间段的网络Io
data = public.M('network').dbfile('system').where("addtime>=? AND addtime<=?", (start, end)).field(
'id,up,down,total_up,total_down,down_packets,up_packets,addtime').order('id asc').select()
return self.ToAddtime(data)
return self.toAddtime(data)
def getDiskIo(self, start, end):
def getDiskIoData(self, start, end):
# 取指定时间段的磁盘Io
data = public.M('diskio').dbfile('system').where("addtime>=? AND addtime<=?", (start, end)).field(
'id,read_count,write_count,read_bytes,write_bytes,read_time,write_time,addtime').order('id asc').select()
return self.ToAddtime(data)
return self.toAddtime(data)
def getCpuIo(self, start, end):
def getCpuIoData(self, start, end):
# 取指定时间段的CpuIo
data = public.M('cpuio').dbfile('system').where("addtime>=? AND addtime<=?",
(start, end)).field('id,pro,mem,addtime').order('id asc').select()
return self.ToAddtime(data, True)
return self.toAddtime(data, True)
def getLoadAverage(self, start, end):
def getLoadAverageData(self, start, end):
data = public.M('load_average').dbfile('system').where("addtime>=? AND addtime<=?", (
start, end)).field('id,pro,one,five,fifteen,addtime').order('id asc').select()
return self.ToAddtime(data)
return self.toAddtime(data)
def toAddtime(self, data, tomem=False):
import time
# 格式化addtime列
if tomem:
import psutil
mPre = (psutil.virtual_memory().total / 1024 / 1024) / 100
length = len(data)
he = 1
if length > 100:
he = 1
if length > 1000:
he = 3
if length > 10000:
he = 15
if he == 1:
for i in range(length):
data[i]['addtime'] = time.strftime(
'%m/%d %H:%M', time.localtime(float(data[i]['addtime'])))
if tomem and data[i]['mem'] > 100:
data[i]['mem'] = data[i]['mem'] / mPre
return data
else:
count = 0
tmp = []
for value in data:
if count < he:
count += 1
continue
value['addtime'] = time.strftime(
'%m/%d %H:%M', time.localtime(float(value['addtime'])))
if tomem and value['mem'] > 100:
value['mem'] = value['mem'] / mPre
tmp.append(value)
count = 0
return tmp
# 重启面板
def reWeb(self, get):
# if not public.IsRestart(): return
# public.returnMsg(False,'EXEC_ERR_TASK');
public.ExecShell('/etc/init.d/bt restart &')
# public.ExecShell('/etc/init.d/bt restart &')
return True
# 修复面板

@ -1,14 +1,14 @@
# coding:utf-8
from flask import Blueprint, render_template
from flask import jsonify
from flask import request
import psutil
import time
import sys
import os
import json
import psutil
from flask import Blueprint, render_template
from flask import jsonify
from flask import request
sys.path.append("class/core")
import public

@ -8,6 +8,7 @@ import sys
from flask import Flask, session
from flask import Blueprint, render_template
from flask import jsonify
from flask import request
sys.path.append("class/core")
import public
@ -47,23 +48,31 @@ def getControl():
@system.route('/get_load_average', methods=['GET'])
def getLoadAverage():
data = {'status': True, 'day': 30}
start = request.args.get('start', '')
end = request.args.get('end', '')
data = system_api.system_api().getLoadAverageData(start, end)
return public.getJson(data)
@system.route('/get_cpu_io', methods=['GET'])
def getCpuIo():
data = {'status': True, 'day': 30}
start = request.args.get('start', '')
end = request.args.get('end', '')
data = system_api.system_api().getCpuIoData(start, end)
return public.getJson(data)
@system.route('/get_disk_io', methods=['GET'])
def getDiskIo():
data = {'status': True, 'day': 30}
start = request.args.get('start', '')
end = request.args.get('end', '')
data = system_api.system_api().getDiskIoData(start, end)
return public.getJson(data)
@system.route('/get_network_io', methods=['GET'])
def getNetworkIo():
data = {'status': True, 'day': 30}
start = request.args.get('start', '')
end = request.args.get('end', '')
data = system_api.system_api().getNetWorkIoData(start, end)
return public.getJson(data)

File diff suppressed because it is too large Load Diff

@ -6,8 +6,10 @@
import sys
import os
import json
# import psutil
import time
print sys.path
sys.path.append("/usr/local/lib/python2.7/site-packages")
import psutil
sys.path.append(os.getcwd() + "/class/core")
reload(sys)
@ -303,13 +305,13 @@ def systemTask():
'up,down,total_up,total_down,down_packets,up_packets,addtime', data)
sql.table('network').where(
"addtime<?", (deltime,)).delete()
if os.path.exists('/proc/diskstats'):
data = (diskInfo['read_count'], diskInfo['write_count'], diskInfo['read_bytes'], diskInfo[
'write_bytes'], diskInfo['read_time'], diskInfo['write_time'], addtime)
sql.table('diskio').add(
'read_count,write_count,read_bytes,write_bytes,read_time,write_time,addtime', data)
sql.table('diskio').where(
"addtime<?", (deltime,)).delete()
# if os.path.exists('/proc/diskstats'):
data = (diskInfo['read_count'], diskInfo['write_count'], diskInfo['read_bytes'], diskInfo[
'write_bytes'], diskInfo['read_time'], diskInfo['write_time'], addtime)
sql.table('diskio').add(
'read_count,write_count,read_bytes,write_bytes,read_time,write_time,addtime', data)
sql.table('diskio').where(
"addtime<?", (deltime,)).delete()
# LoadAverage
load_average = getLoadAverage()
@ -351,6 +353,7 @@ def getMemUsed():
try:
import psutil
mem = psutil.virtual_memory()
print 'mem:', mem
memInfo = {'memTotal': mem.total / 1024 / 1024, 'memFree': mem.free / 1024 / 1024,
'memBuffers': mem.buffers / 1024 / 1024, 'memCached': mem.cached / 1024 / 1024}
tmp = memInfo['memTotal'] - memInfo['memFree'] - \

@ -40,8 +40,8 @@
<span class="tit">区间检索:</span>
<span class="gt" onclick="Wday(1,'getload')">昨天</span>
<span class="gt on" onclick="Wday(0,'getload')">今天</span>
<span class="gt" onclick="Wday(7,'getload')">最近30</span>
<span class="gt" onclick="Wday(30,'getload')">自定义时间</span>
<span class="gt" onclick="Wday(7,'getload')">最近7</span>
<span class="gt" onclick="Wday(30,'getload')">最近30天</span>
<div class="ss">
<span class="st">自定义时间</span>
<div class="time">

Loading…
Cancel
Save