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 相关文章推荐
在RedHat系Linux上部署Python的Celery框架的教程
Apr 07 Python
详解Django中Request对象的相关用法
Jul 17 Python
Python多进程分块读取超大文件的方法
Apr 13 Python
Python安装第三方库及常见问题处理方法汇总
Sep 13 Python
非递归的输出1-N的全排列实例(推荐)
Apr 11 Python
python爬虫_实现校园网自动重连脚本的教程
Apr 22 Python
Python Tkinter模块实现时钟功能应用示例
Jul 23 Python
python for循环输入一个矩阵的实例
Nov 14 Python
Python 最强编辑器详细使用指南(PyCharm )
Sep 16 Python
python从zip中删除指定后缀文件(推荐)
Dec 05 Python
Python tcp传输代码实例解析
Mar 18 Python
python collections模块的使用
Oct 16 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
Zend公司全球首推PHP认证
2006/10/09 PHP
PHP 常用数组内部函数(Array Functions)介绍
2013/06/05 PHP
解析zend Framework如何自动加载类
2013/06/28 PHP
PHP使用MPDF类生成PDF的方法
2015/12/08 PHP
php数组分页实现方法
2016/04/30 PHP
浅谈laravel数据库查询返回的数据形式
2019/10/21 PHP
xml分页+ajax请求数据源+dom取结果实例代码
2008/10/31 Javascript
用JavaScript将从数据库中读取出来的日期型格式化为想要的类型。
2009/08/15 Javascript
jQuery建立一个按字母顺序排列的友好页面索引(兼容IE6/7/8)
2013/02/26 Javascript
jQuery实现类似淘宝购物车全选状态示例
2013/06/26 Javascript
js中的getAttribute方法使用示例
2014/08/01 Javascript
node+express+jade制作简单网站指南
2014/11/26 Javascript
移除AngularJS下URL中的#字符的方法
2015/06/19 Javascript
jQuery.prop() 使用详解
2015/07/19 Javascript
微信小程序 图片绝对定位(背景图片)
2017/04/05 Javascript
JavaScript如何获取到导航条中HTTP信息
2017/10/10 Javascript
Windows下Node爬虫神器Puppeteer安装记
2019/01/09 Javascript
在vue中获取微信支付code及code被占用问题的解决方法
2019/04/16 Javascript
Vue keepAlive 数据缓存工具实现返回上一个页面浏览的位置
2019/05/10 Javascript
vue视频播放插件vue-video-player的具体使用方法
2019/11/08 Javascript
vue-element-admin 菜单标签失效的解决方式
2019/11/12 Javascript
React实现全选功能
2020/08/25 Javascript
[40:05]LGD vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python wxPython库消息对话框MessageDialog用法示例
2018/09/03 Python
pandas进行时间数据的转换和计算时间差并提取年月日
2019/07/06 Python
python按键按住不放持续响应的实例代码
2019/07/17 Python
python使用原始套接字发送二层包(链路层帧)的方法
2019/07/22 Python
Python实现银行账户资金交易管理系统
2020/01/03 Python
flask 实现上传图片并缩放作为头像的例子
2020/01/09 Python
如何使用PyCharm将代码上传到GitHub上(图文详解)
2020/04/27 Python
Java如何获得ResultSet的总行数
2016/09/03 面试题
护士长2014年终工作总结
2014/11/11 职场文书
教师师德工作总结2015
2015/07/22 职场文书
党风廉政教育心得体会2016
2016/01/22 职场文书
用几道面试题来看JavaScript执行机制
2021/04/30 Javascript
python 远程执行命令的详细代码
2022/02/15 Python