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 Sleep休眠函数使用简单实例
Feb 02 Python
Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
Jun 14 Python
python爬虫面试宝典(常见问题)
Mar 02 Python
解决Django的request.POST获取不到内容的问题
May 28 Python
python爱心表白 每天都是浪漫七夕!
Aug 18 Python
将pandas.dataframe的数据写入到文件中的方法
Dec 07 Python
django多个APP的urls设置方法(views重复问题解决)
Jul 19 Python
python判断自身是否正在运行的方法
Aug 08 Python
python并发编程多进程 模拟抢票实现过程
Aug 20 Python
淘宝秒杀python脚本 扫码登录版
Sep 19 Python
Python调用Windows API函数编写录音机和音乐播放器功能
Jan 05 Python
基于TensorBoard中graph模块图结构分析
Feb 15 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
re0第二季蕾姆被制作组打入冷宫!艾米莉亚女主扶正,原因唏嘘
2020/04/02 日漫
用ADODB来让PHP操作ACCESS数据库的方法
2006/12/31 PHP
解析link_mysql的php版
2013/06/30 PHP
php实现简易聊天室应用代码
2015/09/23 PHP
php使用ffmpeg获取视频信息并截图的实现方法
2016/05/03 PHP
javascript中最常用的继承模式 组合继承
2010/08/12 Javascript
js算法中的排序、数组去重详细概述
2013/10/14 Javascript
jQuery列表拖动排列具体实现
2013/11/04 Javascript
jquery 检测元素是否存在的实例代码
2013/11/19 Javascript
JavaScript link方法入门实例(给字符串加上超链接)
2014/10/17 Javascript
$.extend 的一个小问题
2015/06/18 Javascript
javascript实现粘贴qq截图功能(clipboardData)
2016/05/29 Javascript
JS给按钮添加跳转功能类似a标签
2017/05/30 Javascript
angular2路由之routerLinkActive指令【推荐】
2018/05/30 Javascript
简单了解node npm cnpm的具体使用方法
2019/02/27 Javascript
NodeJs操作MongoDB教程之分页功能以及常见问题
2019/04/09 NodeJs
Vue如何基于es6导入外部js文件
2020/05/15 Javascript
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
基于python中pygame模块的Linux下安装过程(详解)
2017/11/09 Python
Python使用pickle模块存储数据报错解决示例代码
2018/01/26 Python
python高阶爬虫实战分析
2018/07/29 Python
详解Python传入参数的几种方法
2019/05/16 Python
Keras官方中文文档:性能评估Metrices详解
2020/06/15 Python
纯CSS3实现运行时钟的示例代码
2021/01/25 HTML / CSS
AJAX都有哪些有点和缺点
2012/11/03 面试题
中专自荐信
2013/10/13 职场文书
销售主管岗位职责
2014/02/08 职场文书
应届毕业生应聘自荐信范文
2014/02/26 职场文书
学校学习雷锋活动总结
2014/07/03 职场文书
医院合作协议书
2014/08/19 职场文书
质量保证书怎么写
2015/02/27 职场文书
初中教师德育工作总结2015
2015/05/12 职场文书
《领导干部从政道德启示录》学习心得体会
2016/01/20 职场文书
个人业务学习心得体会
2016/01/25 职场文书
幼儿园六一儿童节开幕词
2016/03/04 职场文书
你知道Java Spring的两种事务吗
2022/03/16 Java/Android