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 相关文章推荐
在Linux上安装Python的Flask框架和创建第一个app实例的教程
Mar 30 Python
python基于右递归解决八皇后问题的方法
May 25 Python
Python爬虫利用cookie实现模拟登陆实例详解
Jan 12 Python
Python paramiko模块的使用示例
Apr 11 Python
Empty test suite.(PyCharm程序运行错误的解决方法)
Nov 30 Python
解决django前后端分离csrf验证的问题
Feb 03 Python
Python Django框架单元测试之文件上传测试示例
May 17 Python
深入了解python中元类的相关知识
Aug 29 Python
python下对hsv颜色空间进行量化操作
Jun 04 Python
python中如何写类
Jun 29 Python
Python爬虫爬取微信朋友圈
Aug 06 Python
python实现跨年表白神器--你值得拥有
Jan 04 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
MySQL修改密码方法总结
2008/03/25 PHP
PHP 函数学习简单小结
2010/07/08 PHP
php求两个目录的相对路径示例(php获取相对路径)
2014/03/27 PHP
WampServer下安装多个版本的PHP、mysql、apache图文教程
2015/01/07 PHP
JavaScript中的闭包原理分析
2010/03/08 Javascript
jquery仿QQ商城带左右按钮控制焦点图片切换滚动效果
2013/06/27 Javascript
写JQuery插件的基本知识
2013/11/25 Javascript
jquery解析xml字符串示例分享
2014/03/25 Javascript
深入理解setTimeout函数和setInterval函数
2016/05/20 Javascript
BootStrap Validator对于隐藏域验证和程序赋值即时验证的问题浅析
2016/12/01 Javascript
JSON与JS对象的区别与对比
2017/03/01 Javascript
CentOS 安装NodeJS V8.0.0的方法
2017/06/15 NodeJs
让bootstrap的carousel支持滑动滚屏的实现代码
2017/11/27 Javascript
webpack手动配置React开发环境的步骤
2018/07/02 Javascript
Vue实现调节窗口大小时触发事件动态调节更新组件尺寸的方法
2018/09/15 Javascript
10个最受欢迎的 JavaScript框架(推荐)
2019/04/24 Javascript
基于layui的table插件进行复选框联动功能的实现方法
2019/09/19 Javascript
基于canvas实现手写签名(vue)
2020/05/21 Javascript
原生js实现移动小球(碰撞检测)
2020/12/17 Javascript
[06:01]刀塔次级联赛top10第一期
2014/11/07 DOTA
[03:02]安得倚天剑,跨海斩长鲸——中国军团出征DOTA2国际邀请赛
2018/08/14 DOTA
简单介绍使用Python解析并修改XML文档的方法
2015/10/15 Python
Python通过Django实现用户注册和邮箱验证功能代码
2017/12/11 Python
pycharm 将django中多个app放到同个文件夹apps的处理方法
2018/05/30 Python
详解如何管理多个Python版本和虚拟环境
2019/05/10 Python
使用python实现简单五子棋游戏
2019/06/18 Python
Python把图片转化为pdf代码实例
2020/07/28 Python
服装仓管员岗位职责
2014/06/17 职场文书
房产公证委托书范本
2014/09/20 职场文书
2015年创先争优活动总结
2015/03/27 职场文书
教师“一帮一”结对子活动总结
2015/05/07 职场文书
2016年教师节感恩寄语
2015/12/04 职场文书
导游词之峨眉乐山/兵马俑/北京故宫御花园
2019/09/03 职场文书
Python使用mitmproxy工具监控手机 下载手机小视频
2022/04/18 Python
springboot读取nacos配置文件
2022/05/20 Java/Android
Java结构型设计模式之组合模式详解
2022/09/23 Java/Android