python监控服务器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python监控服务器相关的知识,希望对你有一定的参考价值。

import paramiko
import threading
import re
import time
import string
from sendmail import send_mail
def ssh2(ip,username,passwd,cmd):

try:

ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect(ip,2222,username,passwd,timeout=5)

for m in cmd:

stdin, stdout, stderr = ssh.exec_command(m)

# stdin.write("Y") #简单交互,输入 ‘Y’

out = stdout.readlines()

#屏幕输出

for o in out:
# time.sleep(10)
# print(o),
# p = re.compile(r‘\\d+%‘)
zf = re.findall(r‘(.+%)‘,o)
# print(re.findall(r‘(.+%)‘,o))
# print("".join(zf))
qc = re.findall(r‘\\d+‘,"".join(zf))
# print(qc[-1:])
# print(len(qc[-1:]))
number = map(int,qc[-1:])
for x in number:
# print(type(x))
print(x)
if x > 30:
mailto_list = [‘[email protected]‘]
send_mail(mailto_list, ip, "ip‘disk:%d" % x)
# print(type(numbers))
# a = qc[-3:]
# b = re.findall(r‘\\d‘,a)
# c = "".join(b)
# print(len(c))
# print(type(c))

# zhzf = p.findall(o)
# print(zhzf.group())
# zf = ‘,‘.join(zhzf)
# print(zf)
# zfint = zf.strip().lstrip().rstrip(‘%‘)
# print(zfint)
# print(type(zfint))
# shuzf = int(zfint)
# print(type(shuzf))
# p = re.compile(r‘(\\d+)%‘)
# print(p.findall(o))
# print(type(w))
# newint = int(w[0].strip("%")) / 100
# print(newint)


print(‘%s\\tOK\\n‘%(ip))

ssh.close()

except :

print(‘%s\\tError\\n‘%(ip))





if __name__==‘__main__‘:
cmd = [‘df -h‘]#你要执行的命令列表
username = "root" #用户名
passwd = "123456" #密码
threads = [] #多线程
print("Begin......")
for i in (50,55,56,128,152):
ip = ‘192.168.6.‘+str(i)
a=threading.Thread(target=ssh2,args=(ip,username,passwd,cmd))
a.start()
for i in (95,):
ip = ‘192.168.1.‘+str(i)
a=threading.Thread(target=ssh2,args=(ip,username,passwd,cmd))
a.start()
结果:

技术分享

 

测试的时候一堆。修改一下可以用了!!!!




























































































以上是关于python监控服务器的主要内容,如果未能解决你的问题,请参考以下文章

Python监控服务器利器--psutil

python监控服务器

用 Python 脚本实现对 Linux 服务器的监控

Python磁盘监控日志分析监控脚本

Python工业项目实战:服务器性能监控Prometheus及项目总结

使用Flask结合python实现多台服务的内存监控