文档章节

基于socket的serve端监控项目

enet01
 enet01
发布于 2016/11/08 16:08
字数 670
阅读 27
收藏 2

#coding:utf-8
import psutil
import time
import socket
import os,sys
print "===========  系统当前用户:%s        ==============="%psutil.users()[0].name
print "===========  系统当前时间:%s  ==============="%time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time()))
print
def mem():
    mem=psutil.virtual_memory()
    mem_list=[mem.total,mem.used,mem.free,mem.percent]
    return(mem_list)
   
def disk():
    disk_list=[psutil.disk_usage('/').total,psutil.disk_usage('/').used,psutil.disk_usage('/').free,psutil.disk_usage('/').percent]
    return disk_list
def net():
    net_list=[psutil.net_io_counters().bytes_sent, psutil.net_io_counters().bytes_recv, psutil.net_io_counters().packets_sent, psutil.net_io_counters().packets_recv]
    return net_list
def cpu():
    return ('cpu'+str(psutil.cpu_percent())+"%")
cpulist=cpu()
netlist=net()
memlist=mem()
disklist=disk()
print cpulist
print netlist
print memlist
print disklist

myfile = open(r'C:\Users\Administrator\Desktop\1.txt','w+')
myfile.write("系统当前用户:%s\n"%psutil.users()[0].name)
myfile.write("系统当前时间:%s\n"%time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time())))
myfile.write("---------------------\n")
myfile.write("cpu使用率%s\n"%cpulist)
myfile.write("---------------------\n")
myfile.write("网络发送字节数:%sM\n"%(netlist[0]//1000000))
myfile.write("网络接收字节数:%sM\n"%(netlist[1]//1000000))
myfile.write("网络发送数据包:%sM\n"%(netlist[2]//1000000))
myfile.write("网络接收数据包:%sM\n"%(netlist[3]//1000000))
myfile.write("---------------------\n")
myfile.write("内存总数 :%sM\n"%(memlist[0]//1000000))
myfile.write("内存使用 :%sM\n"%(memlist[1]//1000000))
myfile.write("内存空闲 :%sM\n"%(memlist[2]//1000000))
myfile.write("内存使用率:%s\n"%(memlist[3]))
myfile.write("---------------------\n")
myfile.write("硬盘总数 :%sM\n"%(disklist[0]//1000000))
myfile.write("硬盘使用:%sM\n"%(disklist[1]//1000000))
myfile.write("硬盘空闲:%sM\n"%(disklist[2]//1000000))
myfile.write("硬盘使用率:%s\n"%(disklist[3]))
myfile.close()
f = open(r'C:\Users\Administrator\Desktop\1.txt','rb')
result= f.read()

def reader(path):
        con=os.popen('cat %s'%path)
        content=con.read()
        con.close()
        return content

sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sock.connect(('192.168.0.6',8001))
while True:
    #kk=raw_input("peease input>>>>>")
    #sock.send(kk.encode('gbk'))
    
    canshu=sock.recv(2048)
#     result=reader(canshu)
    print(canshu)
    print(f)
    sock.send(result)   
    f.close()
    print("success")
sock.close()

 

------------------服务器端接收的结果:如下-----------------------------------

系统当前用户:Administrator
系统当前时间:2016-10-29 15:59:07
---------------------
cpu使用率cpu0.0%
---------------------
网络发送字节数:1389M
网络接收字节数:17301M
网络发送数据包:10M
网络接收数据包:0M
---------------------
内存总数 :12738M
内存使用 :5531M
内存空闲 :7206M
内存使用率:43.4
---------------------
硬盘总数 :107375M
硬盘使用:82750M
硬盘空闲:24625M
硬盘使用率:77.1

 

=================================用的的模块和函数==========================
https://pypi.python.org/pypi/psutil
#获取要监控的计算机的信息
   os.system   os.popen   /proc/file   字符串处理 \n   编码
#CPU
      #user time      #system  time      #wait IO 空闲时间      #idle百分比
      import psutil      psutil.cpu_times()              #所有核
      psutil.cpu_times(percpu=True)          #单核
      psutil.cpu_count()              #逻辑核数
      psutil.cpu_count(logical=False) #物理核数

#内存
    psutil.virtual_memory().total    psutil.virtual_memory().free    psutil.virtual_memory().available
    psutil.virtual_memory().cached    psutil.virtual_memory().used    psutil.virtual_memory().buffers
    psutil.virtual_memory().percent    psutil.swap_memory().total    psutil.swap_memory().used
    psutil.swap_memory().free    psutil.swap_memory().percent

  #磁盘
    psutil.disk_usage('/')    psutil.disk_io_counters()    psutil.disk_io_counters(perdisk=True)

  #进程
    psutil.pids()  #所有进程的pid    psutil.Process()  #进程对象
    psutil.Process(30708).name()  #进程名    psutil.Process(30708).exe()   #进程bin文件
    psutil.Process(30708).cwd()  #工作目录的绝对路径    psutil.Process(30708).status()  #进程状态
    psutil.Process(30708).create_time() #进程创建的时间戳 time.ctime(1476181891.27)
    psutil.Process(11092).uids() #进程所有者的用户id    psutil.Process(11092).gids() #进程所有者的组id
    psutil.Process(18202).cpu_times() #进程的CPU时间    psutil.Process(18202).memory_info() #
    psutil.Process(18202).io_counters() #进程的IO

 

 

© 著作权归作者所有

enet01
粉丝 1
博文 11
码字总数 3402
作品 0
西安
项目经理
私信 提问
关于socket简单编程

我是第一次接触socket编程,完全不明白,希望各位大虾帮个帮,写一个程序,最好有比较多的注解,感激不尽啊,问题如下: 创建socket应用程序,程序要求:一次启动Server端和Client端后,首先...

马利
2011/10/09
1K
8
Golang开发支持平滑升级(优雅重启)的HTTP服务

前段时间用Golang在做一个HTTP的接口,因编译型语言的特性,修改了代码需要重新编译可执行文件,关闭正在运行的老程序,并启动新程序。对于访问量较大的面向用户的产品,关闭、重启的过程中势...

一曲
2016/12/15
183
0
Thrift辅助类,用于简化Thrift编程

CThriftServerHelper用于服务端,CThriftClientHelper用于客户端。 源代码链接:https://github.com/eyjian/mooon/blob/master/mooon/include/mooon/net/thrift_helper.h IDL定义: service ......

一见蓝天
2014/05/02
0
0
python网络编程中socket、select和poll的简单使用

网络编程的基本组件是socket[1],包括:服务端socket和客户端socket。其中客户端socket只是简单的连接、完成事务、断开连接,而服务端socket流程多一些。 一个小型服务器 v1-server 服务端的...

realsa
2016/10/26
46
0
YT/UnityNetworkResearch

#UnityNetworkResearch ##概述 本项目运用C#语言,在Unity3D中实现了基于Socket的多人网络通信功能。其中包括一对一、一对多通信,服务端对已连接客户端的管理监控(客户端发送内容监听、心跳...

YT
2017/06/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

怎么选择数据服务器?请记住这五条

我们应当都知道“数据无价”这个词,既然数据那么主要,选择一款安全稳定的数据服务器是很有必要的,那么如何选择一款牢靠的,稳定的数据服务器呢?我们从五个方面下手,协助您体系的了解数据...

linux-tao
4分钟前
0
0
第一讲:编写TCP Socket小程序

根据下面的步骤编写TCP Socket小程序。注意:作者必须是自己的名字。结果如下: 步骤: 1、用VC建立服务器程序 创建一个win32控制台程序 上面的代码如下,编写代码的时候切换到FileView界面,...

一匹狼工作室
6分钟前
0
0
python-protobuf2uml

首先这篇文章是参考的https://github.com/vak/protobuf2uml 本篇文章都是基于python3的 下面首先我们说一下python3的安装 wget https://github.com/protocolbuffers/protobuf/releases/down...

yiduwangkai
8分钟前
0
0
mysql通过source恢复大表小计

最近迁移一个数据库,500多张表大概600多万条数据,通过navicat导出的数据,再通过source命令导入到mysql8.0 之前也做过类似的工作,但是却从来没有这么慢过,一个小时了还没有完成,之前在笔...

休辞醉倒
8分钟前
0
0
Java、Python、C++、PHP、JavaScript这5大编程语言,我究竟该选哪个?

很多朋友在后台给我留言,问:现在这么多编程语言,Python、Java、PHP、C++、JavaScript等,究竟哪种最流行?我想这应该也是你的困扰吧! 其实他们各有优势,但是对于选择困难的程序员而言,...

Java领航员
25分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部