使用python,在linux上监控远程windows的CPU、硬盘、内存使用率?

使用python,在linux上监控远程windows的CPU、硬盘、内存使用率?,第1张

你需要安装wmic,它实现了linux下能使用wmi,安装以后就可以用了,下面是例子。

import wmi_client_wrapper as wmi

wmic = wmi.WmiClientWrapper(

username="Administrator",

password="password",

host="192.168.1.149",

)

output = wmic.query("SELECT * FROM Win32_Processor")

linux下好办,所有的设备都当作文件处理了,在『/dev/input』目录下找到鼠标对应设备文件读出来即可。

鼠标设备文件是『/dev/input/mice』,读3个字节,三个字节的值分别是『Button类型』,『X的相对位移』,『Y的相对位移』。取Button的低3位(Button &0x07)。 0x01 ->LeftButtonDown, 0x02 ->RightButtonDown.

import struct

mou = open( "/dev/input/mice", "rb" )

def m_event():

m = mou.read(3)

b = ord( m[0] )

bl = b &0x1

bm = ( b &0x4 ) >0

br = ( b &0x2 ) >0

x,y = struct.unpack( "bb", m[1:] )

print "Left:%d, Middle: %d, Right: %d, x: %d, y: %d\n" % (bl,bm,br, x, y)

while( 1 ):

m_event()

mou.close()

Python对日常运维工作来说比Perl和Bash都弱。Python做Web开发也比PHP麻烦很多。我个人的感觉Python更像Java,不适合与Perl/Bash比较。

我个人常用的运维工具是Bash为主,Python主要用来做一些算法演算。因为我的日常维护任务以文件系统维护为主,比较语言要结合场景。

绝大部分的应用需求,所有语言都能完成,但是难易程度不同,选择语言要看开发者的熟练程度和需求的复杂程度。

如果只是“grep”需求,你选Bash执行grep最简单,如果稍复杂就用awk,再复杂就用perl。用更通用的语言就是费力不讨好。

如果是个矩阵计算需求,perl的数组能把你折腾死,bash的管道能把机器折腾死。

我下面这个观点一定会有争议(尤其是PHPer),我倾向于把高级语言分成三类:

1) 底层的C/C++

这是可以写 *** 作系统, *** 作硬件的。可以解决一切问题,但是绝大多数互联网项目不应该用。

2) 中性的Java/Python/Ruby/.NET系列

这是做项目的主要语言,平衡开发效率和执行效率。没有明显的亮点,亦没有明显的缺点。

3) 特长的PHP/Bash/Perl

在某些特定领域,应该选择这些有特长的语言。随着需求越来越全面,语言的短板越用越多,应该控制扩散。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/6170891.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-17
下一篇 2023-03-17

发表评论

登录后才能评论

评论列表(0条)

保存