【Python运维脚本】Python监控内存(swap)的使用率

#!/usr/bin/env python
# -*- coding=utf-8 -*-
#Using GPL v2.7
#Author: [email protected]
#Python监控内存(swap)的使用率
‘‘‘
1、实现原理:通过SNMP协议获取系统信息,再进行相应的计算和格式化,最后输出结果
2、特别注意:被监控的机器上需要支持snmp。yum install -y net-snmp*安装
‘‘‘
#!/usr/bin/python
import os
def getAllitems(host, oid):
        sn1 = os.popen(‘snmpwalk -v 2c -c public ‘ + host + ‘ ‘ + oid).read().split(‘\n‘)[:-1]
        return sn1

def getSwapTotal(host):
        swap_total = getAllitems(host, ‘UCD-SNMP-MIB::memTotalSwap.0‘)[0].split(‘ ‘)[3]
        return swap_total

def getSwapUsed(host):
        swap_avail = getAllitems(host, ‘UCD-SNMP-MIB::memAvailSwap.0‘)[0].split(‘ ‘)[3]
        swap_total = getSwapTotal(host)
        swap_used = str(round(((float(swap_total)-float(swap_avail))/float(swap_total))*100 ,2)) + ‘%‘
        return swap_used

def getMemTotal(host):
        mem_total = getAllitems(host, ‘UCD-SNMP-MIB::memTotalReal.0‘)[0].split(‘ ‘)[3]
        return mem_total

def getMemUsed(host):
        mem_total = getMemTotal(host)
        mem_avail = getAllitems(host, ‘UCD-SNMP-MIB::memAvailReal.0‘)[0].split(‘ ‘)[3]
        mem_used = str(round(((float(mem_total)-float(mem_avail))/float(mem_total))*100 ,2)) + ‘%‘
        return mem_used

if __name__ == ‘__main__‘:
        hosts = [‘192.168.10.1‘,‘192.168.10.2‘]
        print "Monitoring Memory Usage"
        for host in hosts:
                mem_used = getMemUsed(host)
                swap_used = getSwapUsed(host)
                print ‘==========‘ + host + ‘==========‘
                print ‘Mem_Used = %-15s   Swap_Used = %-15s‘ % (mem_used, swap_used)
                print
时间: 2024-10-27 08:59:10

【Python运维脚本】Python监控内存(swap)的使用率的相关文章

Python运维脚本整理

python检测指定端口状态 import socket sk = socket.socket(socket.AF_INET,socket.SOCK_STREAM) sk.settimeout(1) for ip in range(0,254): try: sk.connect(("192.168.1."+str(ip),443)) print("192.168.1.%d server open \n"%ip) except Exception: print(&qu

【Python运维脚本】Python监控磁盘

#!/usr/bin/env python # -*- coding=utf-8 -*- #Using GPL v3.3 #Author: [email protected] #Python监控磁盘 """ 1.实现原理:通过SNMP协议获取系统信息,再进行相应的计算和格式化,最后输出结果 2.特别注意:被监控的机器上需要支持snmp.yum install -y net-snmp*安装 """ #!/usr/bin/python import

【Python运维脚本】Python监控网卡流量

#!/usr/bin/env python # -*- coding=utf-8 -*- #Using GPL v2.7 #Author: [email protected]126.com #Python监控网卡流量 """ 1.实现原理:通过SNMP协议获取系统信息,再进行相应的计算和格式化,最后输出结果 2.特别注意:被监控的机器上需要支持snmp.yum install -y net-snmp*安装 """ #!/usr/bin/pytho

【Python运维脚本】Python监控系统负载

#!/usr/bin/env python # -*- coding=utf-8 -*- #Using GPL v2.7 #Author: [email protected]126.com #Python监控系统负载 """ 1.实现原理:通过SNMP协议获取系统信息,再进行相应的计算和格式化,最后输出结果 2.特别注意:被监控的机器上需要支持snmp.yum install -y net-snmp*安装 """ #!/usr/bin/pytho

【Python运维脚本】Python监控CPU情况

#!/usr/bin/env python # -*- coding=utf-8 -*- #Using GPL v2.7 #Author: [email protected]126.com #Python监控CPU情况 """ 1.实现原理:通过SNMP协议获取系统信息,再进行相应的计算和格式化,最后输出结果 2.特别注意:被监控的机器上需要支持snmp.yum install -y net-snmp*安装 """ #!/usr/bin/pyth

Python运维之获取操作系统的内存信息

试用一下这个博客,好用的话以后就彻底弃用CSDN,换这个了! 要使用Python获取计算机的内存信息需要用到psutil模块,能够获得的内存信息有内存总量.可用内存总量.已用内存量.内存使用百分比等信息. 写一个简单的小脚本,代码如下: #!/usr/bin/python import psutil pc_mem =psutil.virtual_memory() div_gb_factor =(1024.0 ** 3) print("totalmemor: %fGB" % float(

<zz>【Python运维】简单的Python运维脚本

from http://www.cnblogs.com/yixianclove/p/5824747.html 背景 最近在Windows 10上使用Linux子系统,发现它有一个非常坑爹的特点:Linux子系统是没有开机关机状态的,每次进入Bash shell就自动载入,退出后Linux子系统的所有进程都会被关闭,如果你撞了Mysql之类的服务要想随时运行的话就要保持Bash shell的随时开启,更坑的是这些服务并不会随之进入Bash shell而自动启动, 我只好写一个Python脚本用于管

【Python运维脚本】生成随机密码

需求:生成指定长度的随机密码,其中密码中应该包含数字和英文字母 实现: #!/usr/bin/env python # -*- coding=utf-8 -*- #Using GPL v2.7 #Author: [email protected] import random, string#导入random和string模块 def GenPassword(length): #随机出数字的个数 numOfNum = random.randint(1,length-1) numOfLetter =

【Python运维脚本】查看各个进程读写的磁盘IO

#!/usr/bin/env python # -*- coding=utf-8 -*- #Using GPL v2.6 #Author: [email protected] # Monitoring per-process disk I/O activity import sys import os import time import signal import re class DiskIO: def __init__(self, pname=None, pid=None, reads=0