利用paramiko模块批量查看远程机器上指定进程的相关信息

本文介绍了一种使用Python的paramiko模块从远程服务器收集特定进程信息的方法。通过SSH连接到多个节点,可以方便地查看和管理远程服务器上的进程状态。
#! /usr/bin/env python
#coding:utf-8
#通过paramiko模块,获得远程机器的指定进程相关信息;
 
 
import paramiko
 
host_lists=(
            ('node1','172.16.41.151'),
            ('node2','172.16.41.152'),
            ('node3','172.16.41.153'),
            ('node4','172.16.41.158')
        )
 
 
 
def getServerInfo(host,user,password,services):
     conn = paramiko.SSHClient()
     conn.load_system_host_keys()
     conn.set_missing_host_key_policy(paramiko.AutoAddPolicy())
     conn.connect(host,22,user,password)
     stdin,stdout,stderr = conn.exec_command("ps aux|awk '{print $3,$4,$5,$6,$11}'|grep %s" % services)
     info = stdout.read()
     conn.close()
 
     return info
 
if __name__ == '__main__':
    print "hostname   %CPU   %MEM   VSZ   RSS   services"
    for host in host_lists:
        try:
            info = getServerInfo(host[1],'root','passwd','cupsd')
            info_list = info.split()
            print "%s %s %s %s %s %s " % (host[0],info_list[0],info_list[1],info_list[2],info_list[3],info_list[4] )
        except:
            pass


转载于:https://my.oschina.net/yangting880815/blog/473878

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值