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实现保存网页到本地示例
Mar 16 Python
Python中的二叉树查找算法模块使用指南
Jul 04 Python
Python中的Descriptor描述符学习教程
Jun 02 Python
Python AES加密模块用法分析
May 22 Python
Python实现抓取网页生成Excel文件的方法示例
Aug 05 Python
python好玩的项目—色情图片识别代码分享
Nov 07 Python
详解python eval函数的妙用
Nov 16 Python
python bmp转换为jpg 并删除原图的方法
Oct 25 Python
OpenCV图像颜色反转算法详解
May 13 Python
Python 用三行代码提取PDF表格数据
Oct 13 Python
pytorch加载自己的图像数据集实例
Jul 07 Python
Python基础之元编程知识总结
May 23 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 学习路线与时间表
2010/02/21 PHP
safari,opera嵌入iframe页面cookie读取问题解决方法
2010/06/23 Javascript
IE6/7/8/9不支持exec的简写方式
2011/05/25 Javascript
点击隐藏页面左栏或右栏实现js代码
2013/04/01 Javascript
做好七件事帮你提升jQuery的性能
2014/02/06 Javascript
js中文逗号转英文实现
2014/02/11 Javascript
JavaScript获得页面base标签中url的方法
2015/04/03 Javascript
简介JavaScript中search()方法的使用
2015/06/06 Javascript
JavaScript模板引擎用法实例
2015/07/10 Javascript
javascript实现的字符串与十六进制表示字符串相互转换方法
2015/07/17 Javascript
JS实现的鼠标跟随代码(卡通手型点击效果)
2015/10/26 Javascript
微信小程序 scroll-view隐藏滚动条详解
2017/01/16 Javascript
jquery操作select取值赋值与设置选中实例
2017/02/28 Javascript
vue.js移动端app之上拉加载以及下拉刷新实战
2017/09/11 Javascript
ajax请求+vue.js渲染+页面加载的示例
2018/02/11 Javascript
基于angular6.0实现的一个组件懒加载功能示例
2018/04/12 Javascript
vue 组件中添加样式不生效的解决方法
2018/07/06 Javascript
小程序获取周围IBeacon设备的方法
2018/10/31 Javascript
深入理解Puppeteer的入门教程和实践
2019/03/05 Javascript
详解ES6 中的Object.assign()的用法实例代码
2021/01/11 Javascript
Python 私有函数的实例详解
2017/09/11 Python
python利用rsa库做公钥解密的方法教程
2017/12/10 Python
对pandas的算术运算和数据对齐实例详解
2018/12/22 Python
python 调用有道api接口的方法
2019/01/03 Python
python启动应用程序和终止应用程序的方法
2019/06/28 Python
Python pip 常用命令汇总
2020/10/19 Python
pytorch简介
2020/11/11 Python
Linux中如何用命令创建目录
2015/01/12 面试题
生产车间班组长岗位职责
2014/01/06 职场文书
教师申诉制度
2014/01/29 职场文书
企业消防安全制度
2014/02/02 职场文书
《故都的秋》教学反思
2014/04/15 职场文书
七一活动主持词
2015/06/29 职场文书
工作总结之小学教师体育工作范文(3篇)
2019/10/07 职场文书
python开发飞机大战游戏
2021/07/15 Python
Redis超详细讲解高可用主从复制基础与哨兵模式方案
2022/04/07 Redis