Python实现的监测服务器硬盘使用率脚本分享
此脚本主要用于zabbix监控系统硬盘只用,适用于windows和linux系统,返回值为0为正常,有几个分区的硬盘剩余少于10G或低于10%就为报警阀值(windows的C盘和linux的根分区除外):
#!/bin/envpython #-*-coding:utf-8-*- ########################################################## #@Thisscriptisusedtocheckdiskfreespaceforzabbix #@Contact: wangwei03@jb51.net #@Name: disk.py #@Function: checkdiskfreespaceforzabbix #@Author: wangwei ########################################################## importplatform importcommands defw_disk(): importwmi c=wmi.WMI() i=0 fordiskinc.Win32_LogicalDisk(DriveType=3): a=int(disk.FreeSpace)/(1024*1024*1024) b=int(100.0*long(disk.FreeSpace)/long(disk.Size)) ifdisk.Caption=="C:": if(a<2)or(b<10): i+=1 else: i+=0 else: if(a<10)or(b<10): i+=1 else: i+=0 printi defL_disk(): free=commands.getstatusoutput('df-h|grepdev|egrep-v"tmp|var|shm"') list=free[1].split('\n') i=0 fordiskinrange(len(list)): vd=list[disk][6:8] a=list[disk].split()[3] ifa[-1]=='T': a=int(float(a[:-1]))*1024 else: a=int(float(a[:-1])) b=100-int(list[disk].split()[4][:-1]) ifvd=="da": if(a<2)or(b<10): i+=1 else: i+=0 else: if(a<10)or(b<10): i+=1 else: i+=0 printi if__name__=="__main__": os=platform.system() ifos=="Windows": w_disk() elifos=="Linux": L_disk()