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提取html文件中的特定数据的实现代码
Mar 24 Python
Python中让MySQL查询结果返回字典类型的方法
Aug 22 Python
利用信号如何监控Django模型对象字段值的变化详解
Nov 27 Python
Python内置模块turtle绘图详解
Dec 09 Python
python3 发送任意文件邮件的实例
Jan 23 Python
Python实现的爬虫刷回复功能示例
Jun 07 Python
python中sys.argv函数精简概括
Jul 08 Python
解决win7操作系统Python3.7.1安装后启动提示缺少.dll文件问题
Jul 15 Python
python 中值滤波,椒盐去噪,图片增强实例
Dec 18 Python
python rsa-oaep加密的示例代码
Sep 23 Python
Python批量修改xml的坐标值全部转为整数的实例代码
Nov 26 Python
python数字图像处理实现图像的形变与缩放
Jun 28 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
编写PHP脚本使WordPress的主题支持Widget侧边栏
2015/12/14 PHP
php+ajax无刷新上传图片的实现方法
2016/12/06 PHP
php获取'/'传参的值简单方法
2017/07/13 PHP
php微信公众号开发之简答题
2018/10/20 PHP
javascript div 遮罩层封锁整个页面
2009/07/10 Javascript
jQuery Study Notes学习笔记 (二)
2010/08/04 Javascript
基于JQuery的访问WebService的代码(可访问Java[Xfire])
2010/11/19 Javascript
深入理解JavaScript编程中的同步与异步机制
2015/06/24 Javascript
使用JS中的exec()方法构造正则表达式验证
2016/08/01 Javascript
详细讲解vue2+vuex+axios
2017/05/27 Javascript
Node.js readline模块与util模块的使用
2018/03/01 Javascript
jQuery插件实现非常实用的tab栏切换功能【案例】
2019/02/18 jQuery
JS端基于download.js实现图片、视频时直接下载而不是打开预览
2020/05/09 Javascript
如何通过Proxy实现JSBridge模块化封装
2020/10/22 Javascript
[03:00]DOTA2-DPC中国联赛1月18日Recap集锦
2021/03/11 DOTA
Python实现多进程共享数据的方法分析
2017/12/04 Python
Python爬虫实战:分析《战狼2》豆瓣影评
2018/03/26 Python
python 使用正则表达式按照多个空格分割字符的实例
2018/12/20 Python
在pycharm中设置显示行数的方法
2019/01/16 Python
Python获取时间戳代码实例
2019/09/24 Python
美国内衣品牌:Leonisa
2016/08/14 全球购物
Sasa莎莎海外旗舰店:香港莎莎美妆平台
2018/03/21 全球购物
YSL圣罗兰美妆官方旗舰店:购买YSL口红
2018/04/16 全球购物
逻辑链路控制协议
2016/10/01 面试题
客服实习的个人自我鉴定
2013/10/20 职场文书
信息专业本科生个人的自我评价
2013/10/28 职场文书
安全生产实施方案
2014/02/23 职场文书
项目建议书模板
2014/05/12 职场文书
个人考核材料
2014/05/15 职场文书
毕业生求职信范文
2014/06/29 职场文书
暑假安全教育广播稿
2014/09/10 职场文书
办理信用卡工作证明
2014/09/30 职场文书
学生会干部任命书
2015/09/21 职场文书
中学语文教学反思
2016/02/16 职场文书
终止合同协议书范本
2016/03/22 职场文书
Python中np.random.randint()参数详解及用法实例
2022/09/23 Python