def get(self): c = Chart() m = Monitor() #获取cpu的信息 cpu_info = m.cpu() #返回字典格式 data = dict( #返回水球图 cpu_liquid=c.liquid_html('cpu_avg', 'CPU平均使用率', cpu_info['percent_avg']), ) self.render('index.html', data=data)
def save_log(): """保存日志的函数""" m = Monitor() cpu_info, swap_info, mem_info = m.cpu(), m.swap(), m.mem() _date_time, _date, _time = dt() # 1.创建会话 session = ORM.db() try: # cpu cpu = Cpu( percent=cpu_info['percent_avg'], create_date=_date, create_time=_time, create_dt=_date_time, ) # 交换分区 swap = Swap( percent=swap_info['percent'], total=swap_info['total'], used=swap_info['used'], free=swap_info['free'], create_date=_date, create_time=_time, create_dt=_date_time, ) # 内存 mem = Mem( percent=mem_info['percent'], total=mem_info['total'], used=mem_info['used'], free=mem_info['free'], create_date=_date, create_time=_time, create_dt=_date_time, ) # 提交至数据库 session.add(cpu) session.add(swap) session.add(mem) except Exception as e: session.rollback() # 出错回滚 print('出错回滚:{}'.format(e)) else: session.commit() # 正常,提交 print('正常,提交') finally: session.close() # 关闭会话 print('关闭会话')
def get_response(self): m = Monitor() c = Chart() cpu_info = m.cpu() mem_info = m.mem() swap_info = m.swap() net_info = m.net() disk_info = m.disk() net_pie = [ c.pie_two_html( "net{}".format(k + 1), "{}网卡信息".format(v["name"]), "收发包数统计", "收发字节统计", ["收包数", "发包数"], ["收字节", "发字节"], [v["packets_recv"], v["packets_sent"]], [v["bytes_recv"], v["bytes_sent"]], ) for k, v in enumerate(net_info) if v["packets_recv"] and v['packets_sent'] ] self.html("index.html", data=dict( title="系统监控", cpu_info=cpu_info, mem_info=mem_info, swap_info=swap_info, net_info=net_info, disk_info=disk_info, cpu_liquid=c.liquid_html("cpu_avg", "CPU平均使用率", cpu_info['percent_avg']), mem_gauge=c.gauge_html("mem", "内存使用率", mem_info['percent']), swap_gauge=c.gauge_html("swap", "交换分区使用率", mem_info['percent']), net_pie=net_pie, ) )
def save_log(): m = Monitor() cpu_info, mem_info, swap_info = m.cpu(), m.mem(), m.swap() _date, _time, _date_time = dt() # 1.创建会话 session = ORM.db() try: # CPU cpu = Cpu( percent=cpu_info["percent_avg"], create_date=_date, create_time=_time, create_dt=_date_time ) # 内存 mem = Mem( percent=mem_info['percent'], total=mem_info['total'], used=mem_info['used'], free=mem_info['free'], create_date=_date, create_time=_time, create_dt=_date_time ) # 交换分区 swap = Swap( percent=swap_info['percent'], total=swap_info['total'], used=swap_info['used'], free=swap_info['free'], create_date=_date, create_time=_time, create_dt=_date_time ) # 提交至数据块 session.add(cpu) session.add(mem) session.add(swap) except Exception as e: session.rollback() # 如果发送异常回滚 else: session.commit() # 没有异常提交 finally: session.close() # 无论是否发生异常关闭
def save_log(): m = Monitor() cpu_info, mem_info, swap_info = m.cpu(), m.mem(), m.swap() now_date, now_time, now_date_time = dt() # 1.创建会话 session = ORM.db() try: # CPU cpu = Cpu(percent=cpu_info["percent_avg"], create_date=now_date, create_time=now_time, create_dt=now_date_time) # 内存 mem = Mem(percent=mem_info['percent'], total=mem_info['total'], used=mem_info['used'], free=mem_info['free'], create_date=now_date, create_time=now_time, create_dt=now_date_time) # 交换分区 swap = Swap(percent=swap_info['percent'], total=swap_info['total'], used=swap_info['used'], free=swap_info['free'], create_date=now_date, create_time=now_time, create_dt=now_date_time) # 提交数据 session.add(cpu) session.add(mem) session.add(swap) except Exception as e: print(e) # 异常回滚 session.rollback() else: # 正常提交 session.commit() finally: # 关闭会话 session.close()
def on_message(self, message): try: m = Monitor() data = dict() if message == "system": data = dict(mem=m.mem(), swap=m.swap(), cpu=m.cpu(), disk=m.disk(), net=m.net(), dt=m.dt()) RealTimeHandler.send_updates(json.dumps(data)) except Exception as e: print(e)
def on_message(self, message): try: m = Monitor() data = dict() if message == "system": data = dict(mem=m.mem(), swap=m.swap(), cpu=m.cpu(), disk=m.disk(), net=m.net(), dt=m.dt()) # 对消息进行处理,把新的消息推送到所有连接的客户端 self.broadcast(self.waiters, json.dumps(data)) # 广播 except Exception as e: print(e)
def on_message(self, message): """接收消息""" try: m = Monitor() data = dict() if message == 'system': data = dict( mem=m.mem(), swap=m.swap(), cpu=m.cpu(), disk=m.disk(), net=m.net(), dt=m.dt() ) # pprint(data) # 接收消息并处理,把新消息发给所有客户端 self.broadcast(self.waiters, json.dumps(data)) # 广播 except Exception as e: print(e)
def get(self): # self.write('<h1>硬件实时监控系统</h1>') c = Chart() # 生成图对象 m = Monitor() # 获取系统信息对象 # CPU信息 cpu_info = m.cpu() # 内存信息 mem_info = m.mem() # 交换分区信息 swap_info = m.swap() # 网络信息 net_info = m.net() net_pie = [ c.pie_two_html(chart_id="net{}".format(k + 1), title="{}网卡信息".format(v['name']), sub_title1='收发包数统计', sub_title2='收发字节统计', key1=['收包数', '发包数'], value1=[v['packets_recv'], v['packets_sent']], key2=['收字节数', '发字节数'], value2=[v['bytes_recv'], v['bytes_sent']]) for k, v in enumerate(net_info) if v['packets_recv'] and v['packets_sent'] ] # 磁盘信息 disk_info = m.disk() self.render('index.html', data=dict( title='系统监控', cpu_liquid=c.liquid_html('cpu_avg', 'CPU平均使用率', cpu_info['percent_avg']), cpu_info=cpu_info, mem_gauge=c.gauge_html('mem', '内存使用率', mem_info['percent']), mem_info=mem_info, swap_gauge=c.gauge_html('swap', '交换分区使用率', swap_info['percent']), swap_info=swap_info, net_pie=net_pie, net_info=net_info, disk_info=disk_info, ))
async def get(self): # 实例化系统信息类 monitor = Monitor() # 实例化可视化图表类 chart = Chart() # CPU信息 cpu_info = monitor.cpu() # 内存信息 mem_info = monitor.mem() # 交换分区 swap_info = monitor.swap() # 网络信息 net_info = monitor.net() # 磁盘信息 disk_info = monitor.disk() # 网络信息 net_pie = [ chart.pie_two_html( "net{}".format(k + 1), "{}网卡信息".format(v["name"]), "收发包数统计", "收发字节统计", ["收包数", "发包数"], ["收字节", "发字节"], [v["packets_recv"], v["packets_sent"]], [v["bytes_recv"], v["bytes_sent"]], ) for k, v in enumerate(net_info) if v["packets_recv"] and v['packets_sent'] ] # 渲染视图 self.render( "index.html", data=dict( title="系统监控", cpu_info=cpu_info, mem_info=mem_info, swap_info=swap_info, net_info=net_info, disk_info=disk_info, cpu_liquid=chart.liquid_html("cpu_avg", "CPU平均使用率", cpu_info['percent_avg']), mem_gauge=chart.gauge_html("mem", "内存使用率", mem_info['percent']), swap_gauge=chart.gauge_html("swap", "交换分区使用率", mem_info['percent']), net_pie=net_pie, ) )
def get_response(self): # self.write("<h1>我们要开发一个硬件实时监控系统</h1>") m = Monitor() c = Chart() cpu_info = m.cpu() mem_info = m.mem() swap_info = m.swap() net_info = m.net() disk_info = m.disk() # print(cpu_info) net_pie = [ c.pie_two_html( "net{}".format(k + 1), "{}网卡信息".format(v["name"]), "收发包数统计", "收发字节统计", ["收包数", "发包数"], ["收字节", "发字节"], [v["packets_recv"], v["packets_sent"]], [v["bytes_recv"], v["bytes_sent"]], ) for k, v in enumerate(net_info) if v["packets_recv"] and v["packets_sent"] # 只接收有收包数和发包数的网卡信息 ] # 这里我们在views_common.py的CommonHandler里面重载的render方法:html self.html("index.html", data=dict( title="系统监控", cpu_info=cpu_info, mem_info=mem_info, swap_info=swap_info, net_info=net_info, disk_info=disk_info, cpu_liquid=c.liquid_html("cpu_avg", "CPU平均使用率", cpu_info["percent_avg"]), mem_gauge=c.gauge_html("mem", "内存使用率", mem_info["percent"]), swap_gauge=c.gauge_html("swap", "交换分区使用率", swap_info["percent"]), net_pie=net_pie, ))
def users(self): """登录用户""" m = Monitor() return m.get_user()
def started(self): """开机时间""" m = Monitor() return m.get_last_boot()
def users(self): m = Monitor() return m.logined_users()
def started(self): m = Monitor() return m.lastest_start_time()