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 09 Python
深入Python解释器理解Python中的字节码
Apr 01 Python
python微信跳一跳系列之棋子定位像素遍历
Feb 26 Python
python读取一个目录下所有txt里面的内容方法
Jun 23 Python
Python sorted函数详解(高级篇)
Sep 18 Python
pandas DataFrame 警告(SettingWithCopyWarning)的解决
Jul 23 Python
自定义Django默认的sitemap站点地图样式
Mar 04 Python
Django Xadmin多对多字段过滤实例
Apr 07 Python
python实例化对象的具体方法
Jun 17 Python
scrapy在python爬虫中搭建出错的解决方法
Nov 22 Python
pandas 操作 Excel操作总结
Mar 31 Python
详解Python中的for循环
Apr 30 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分页函数完整实例代码
2014/09/22 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
2015/02/02 PHP
PHP创建/删除/复制文件夹、文件
2016/05/03 PHP
PHP中call_user_func_array回调函数的用法示例
2016/11/26 PHP
PHP策略模式定义与用法示例
2017/07/27 PHP
用js重建星际争霸
2006/12/22 Javascript
基于jquery的button默认enter事件(回车事件)。
2011/05/18 Javascript
Javascript玩转继承(一)
2014/05/08 Javascript
JavaScript中的parse()方法使用简介
2015/06/12 Javascript
javascript中checkbox使用方法简单实例演示
2015/11/17 Javascript
学习JavaScript设计模式(多态)
2015/11/25 Javascript
JS onkeypress兼容性写法详解
2016/04/27 Javascript
BootStrap网页中代码显示用法详解
2016/10/21 Javascript
jquery获取table指定行和列的数据方法(当前选中行、列)
2016/11/07 Javascript
详解用vue-cli来搭建vue项目和webpack
2017/04/20 Javascript
CentOS 安装NodeJS V8.0.0的方法
2017/06/15 NodeJs
javascript实现电脑和手机版样式切换
2017/11/10 Javascript
解决vue 更改计算属性后select选中值不更改的问题
2018/03/02 Javascript
vue-swiper的使用教程
2018/08/30 Javascript
微信小程序时间选择插件使用详解
2018/12/28 Javascript
微信小程序获取用户信息并保存登录状态详解
2019/05/10 Javascript
JavaScript闭包原理与用法学习笔记
2020/05/29 Javascript
vue+iview使用树形控件的具体使用
2020/11/02 Javascript
[02:20]DOTA2亚洲邀请赛 EHOME战队出场宣传片
2015/02/07 DOTA
讲解python参数和作用域的使用
2013/11/01 Python
pygame实现成语填空游戏
2019/10/29 Python
wxPython之wx.DC绘制形状
2019/11/19 Python
Python Lambda函数使用总结详解
2019/12/11 Python
python3的UnicodeDecodeError解决方法
2019/12/20 Python
C#实现对任一张表的数据进行增,删,改,查要求,运用Webservice,体现出三层架构
2014/07/11 面试题
党的群众路线教育实践活动对照检查材料(教师)
2014/09/24 职场文书
自主招生专家推荐信
2015/03/26 职场文书
工程进度款催款函
2015/06/24 职场文书
JS继承最简单的理解方式
2021/03/31 Javascript
使用这 6个Vue加载动画库来减少我们网站的跳出率
2021/05/18 Vue.js
Python re.sub 反向引用的实现
2021/07/07 Python