栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python远程监控脚本:使用paramiko和psutil监控远程机器的cpu、内存、磁盘、网络使用情况

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python远程监控脚本:使用paramiko和psutil监控远程机器的cpu、内存、磁盘、网络使用情况

需求

使用python写脚本获取对方服务器的cpu使用率、内存使用率、磁盘使用情况、网络带宽的使用情况

前提:建立免密通道

SSH免密登录:https://blog.csdn.net/qq_44212783/article/details/126029102

准备工作:

yum -y install python3-devel gcc gcc-devel
pip3 install pycrypto
pip3 install paramiko==1.17.1
pip3 install psutil

监控脚本psut.py
#!/usr/bin/python3
import psutil
import datetime

def linux_monitor():
    # cpu的使用率
    cup_per = psutil.cpu_percent()
    # 内存使用率
    mem_per = psutil.virtual_memory().percent
    # 磁盘使用率
    disk_per = psutil.disk_usage('/').percent
    # 网络使用情况  收发多少数据 net.bytes_recv、net.bytes_sent
    net = psutil.net_io_counters()
    # 获取当前系统时间
    current_time = datetime.datetime.now().strftime("%F %T")  
    # 拼接显示
    str = ""
    str+= "|---------time--------|---cpu---|----memory----|----disk----|--------------net-------------|n"
    str+= "| %s |   %s%%  |    %s%%     |    %s%%   | recv:%.2fMB  sent:%.2fMB |n" 
              % (current_time, cup_per, mem_per, disk_per, net.bytes_recv/1024/1024, net.bytes_sent/1024/1024)
    print(str)
    
linux_monitor()
远程控制脚本monitor.py
#!/usr/bin/python3
import paramiko

# 指定本地的RSA私钥文件
key = paramiko.RSAKey.from_private_key_file('/root/.ssh/id_rsa')

# 建立连接
trans = paramiko.Transport(('192.168.22.127', 22))
trans.connect(username='root', pkey=key)

# 创建ssh对象,将_transport指定为上面的trans
ssh = paramiko.SSHClient()
ssh._transport = trans

# 创建sftp对象,指定连接的通道
sftp = paramiko.SFTPClient.from_transport(trans)

# 上传psut.py文件
sftp.put(localpath='/root/psut.py', remotepath='/root/p.py')

# 添加可执行权限,运行脚本
ssh.exec_command('chmod +x /root/p.py')
stdin, stdout, stderr = ssh.exec_command('/root/p.py')
print(stdout.read().decode())

#关闭连接
ssh.close()

操作: 在本地(170)运行monitor.py脚本,可以监控远程机器(127)的cpu、内存、磁盘、网络的使用情况

操作: 运行psut.py脚本,查看本地的cpu、内存、磁盘、网络的使用情况,显然和远程机器不一样

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1029727.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号