Python实现的监测服务器硬盘使用率脚本分享


Posted in Python onNovember 07, 2014

此脚本主要用于zabbix监控系统硬盘只用,适用于windows和linux系统,返回值为0为正常,有几个分区的硬盘剩余少于10G或低于10%就为报警阀值(windows的C盘和linux的根分区除外):

#!/bin/env python 

# -*- coding: utf-8 -*- 

########################################################## 

# @This script is used to check disk free space for zabbix 

# @Contact:      wangwei03@3water.com 

# @Name:         disk.py 

# @Function:     check disk free space for zabbix 

# @Author:       wangwei 

########################################################## 

import platform 

import commands 

  

def w_disk(): 

    import wmi 

    c = wmi.WMI () 

    i = 0

    for disk in c.Win32_LogicalDisk (DriveType=3): 

        a = int(disk.FreeSpace) / (1024*1024*1024) 

        b = int(100.0 * long (disk.FreeSpace) / long (disk.Size)) 

        if disk.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

    print i 

  

def L_disk(): 

    free = commands.getstatusoutput('df -h|grep dev|egrep -v "tmp|var|shm"') 

    list = free[1].split('\n') 

    i = 0

    for disk in range(len(list)): 

        vd = list[disk][6:8] 

        a = list[disk].split()[3] 

        if a[-1] == 'T': 

            a = int(float(a[:-1]))*1024

        else: 

            a = int(float(a[:-1])) 

        b = 100 - int(list[disk].split()[4][:-1]) 

        if vd == "da": 

            if (a < 2) or (b < 10): 

                i += 1

            else: 

                i += 0

        else: 

            if (a < 10) or (b < 10): 

                i += 1

            else: 

                i += 0

    print i 

  

if __name__ == "__main__": 

    os = platform.system() 

    if os == "Windows": 

        w_disk() 

    elif os == "Linux": 

        L_disk()
Python 相关文章推荐
python中文乱码的解决方法
Nov 04 Python
Python写入CSV文件的方法
Jul 08 Python
Python编程中实现迭代器的一些技巧小结
Jun 21 Python
使用 Python 实现微信公众号粉丝迁移流程
Jan 03 Python
在Python中如何传递任意数量的实参的示例代码
Mar 21 Python
树莓派与PC端在局域网内运用python实现即时通讯
Jun 22 Python
Python程序暂停的正常处理方法
Nov 07 Python
python matplotlib包图像配色方案分享
Mar 14 Python
Python JSON常用编解码方法代码实例
Sep 05 Python
浅析Python中字符串的intern机制
Oct 03 Python
python 调整图片亮度的示例
Dec 03 Python
python脚本框架webpy模板赋值实现
Nov 20 Python
Python实现的简单发送邮件脚本分享
Nov 07 #Python
Python获取Linux系统下的本机IP地址代码分享
Nov 07 #Python
零基础写python爬虫之使用Scrapy框架编写爬虫
Nov 07 #Python
零基础写python爬虫之爬虫框架Scrapy安装配置
Nov 06 #Python
零基础写python爬虫之爬虫编写全记录
Nov 06 #Python
零基础写python爬虫之打包生成exe文件
Nov 06 #Python
零基础写python爬虫之抓取百度贴吧并存储到本地txt文件改进版
Nov 06 #Python
You might like
水质对咖图啡风味的影响具体有哪些
2021/03/03 冲泡冲煮
php通用防注入程序 推荐
2011/02/26 PHP
浅析php原型模式
2014/11/25 PHP
php实现无限级分类查询(递归、非递归)
2016/03/10 PHP
javascript跑马灯悬停放大效果实现代码
2012/12/12 Javascript
jQuery图片轮播的具体实现
2013/09/11 Javascript
JS自调用匿名函数具体实现
2014/02/11 Javascript
jQuery给多个不同元素添加class样式的方法
2015/03/26 Javascript
详解JavaScript的表达式与运算符
2015/11/30 Javascript
详解JavaScript逻辑And运算符
2015/12/04 Javascript
JS常用知识点整理
2017/01/21 Javascript
浅谈angularjs依赖服务注入写法的注意点
2017/04/24 Javascript
详解在vue-cli项目中使用mockjs(请求数据删除数据)
2017/10/23 Javascript
AngularJS模态框模板ngDialog的使用详解
2018/05/11 Javascript
vue.js打包之后可能会遇到的坑!
2018/06/03 Javascript
jQuery使用$.extend(true,object1, object2);实现深拷贝对象的方法分析
2019/03/06 jQuery
解决Vue中使用keepAlive不缓存问题
2020/08/04 Javascript
[02:17]《辉夜杯》TRG战队巡礼
2015/10/26 DOTA
在Python中使用mechanize模块模拟浏览器功能
2015/05/05 Python
python并发和异步编程实例
2018/11/15 Python
python实现简单的文字识别
2018/11/27 Python
Python使用Pandas库常见操作详解
2020/01/16 Python
利用PyTorch实现VGG16教程
2020/06/24 Python
python实现图片,视频人脸识别(opencv版)
2020/11/18 Python
HTML5中的Article和Section元素认识及使用
2013/03/22 HTML / CSS
BRASTY捷克:购买香水、化妆品、手袋和手表
2017/07/12 全球购物
伦敦剧院门票:From The Box Office
2018/06/30 全球购物
沃达丰英国有限公司:Vodafone英国
2019/04/16 全球购物
关键字throw与throws的用法差异
2016/11/22 面试题
杠杆的科学教学反思
2014/01/10 职场文书
电子商务专业学生职业生涯规划
2014/03/07 职场文书
运动员获奖感言
2014/08/15 职场文书
民主生活会对照检查材料思想汇报
2014/09/27 职场文书
单位员工收入证明样本
2014/10/09 职场文书
2015年教研员工作总结
2015/05/26 职场文书
后天观后感
2015/06/08 职场文书