• 使用Python3的psutil模块监控磁盘使用率并发送邮件


    psutil模块简介:

    psutil(Python system and process utilities)是一个跨平台的进程管理和系统工具的python库,可以处理系统CPU,memory,disks,network等信息。主要用于系统资源的监控,分析,以及对进程进行一定的管理。通过psutil可以实现如ps,top,lsof,netstat,ifconfig,who,df,kill,free,nice,ionice,iostat,iotop,uptime,pidof,tty,taskset,pmap。

    安装psutil模块

    pip install psutil
    

    使用psutil获取磁盘信息

    import psutil
    seiz = psutil.disk_usage("/")
    print(seiz)
    sdiskusage(total=10434662400, used=2109755392, free=7771258880, percent=21.4)
    

    执行结果:

    sdiskusage(total=10434662400, used=2109755392, free=7771258880, percent=21.4)
    

    total是磁盘的总量 used使用用了多少磁盘空间 free 剩余多少磁盘空间 percent 磁盘使用量

    代码

    #!/usr/bin/env python3
    #-*-coding:utf-8-*-
    '''
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        File Name:   size.py
        Description : 监控磁盘使用量并发送邮件
        Author :    angell
        date:   2018/3/26
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
        Change Activity:
                        2018/3/26:
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
    '''
    __author__ = 'xiaobing'
    
    def mail(seiz):
        from email.mime.text import MIMEText
        from email.header import Header
        from smtplib import SMTP_SSL
        host_server = 'smtp.qq.com' # qq邮箱smtp服务器
        # sender_qq为发件人的qq号码
        sender_qq = '*******@qq.com'
        # pwd为qq邮箱的授权码
        pwd = '*******'  ## xh**********bdc
        # 发件人的邮箱
        sender_qq_mail = '****@qq.com'
        # 收件人邮箱
        receiver = '*****@163.com'
    
        # 邮件的正文内容
        mail_content = '磁盘使用量已经超过%%80,已使用%s%%,请及时清理'%seiz
        # 邮件标题
        mail_title = '磁盘使用量已经超过%%80,已使用%s%%,请及时清理'%seiz
    
        # ssl登录
        smtp = SMTP_SSL(host_server)
        # set_debuglevel()是用来调试的。参数值为1表示开启调试模式,参数值为0关闭调试模式
        smtp.set_debuglevel(0)
        smtp.ehlo(host_server)
        smtp.login(sender_qq, pwd)
    
        msg = MIMEText(mail_content, "plain", 'utf-8')
        msg["Subject"] = Header(mail_title, 'utf-8')
        msg["From"] = sender_qq_mail
        msg["To"] = receiver
        smtp.sendmail(sender_qq_mail, receiver, msg.as_string())
        smtp.quit()
    def seiz_get():
        import psutil
        seiz = psutil.disk_usage("/").percent #获取磁盘使用率
        if seiz > 80:
            mail(seiz)
    if __name__ == '__main__':
        seiz_get()
  • 相关阅读:
    [转]如何分析监控的关键指标
    性能测试指标&说明 [解释的灰常清楚哦!!]
    页面性能测试&提升方式
    转:使用 JMeter 完成常用的压力测试
    细雨学习笔记:JMeter 的主要测试组件总结
    压力测试了解
    影响性能的因素
    网址收藏
    Windows安装TensorFlow
    ionic常见问题及解决方案
  • 原文地址:https://www.cnblogs.com/pangwablog/p/16354987.html
Copyright © 2020-2023  润新知