• python写监控并发警报邮件


    调用第三方模块:用pip软件下载:
    模块:psutil:它能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要用来做系统监控,性能分析,进程管理。
    import psutil
    psutil.cpu_count() #查看cpu逻辑核数:打开超线程之后
    psutil.cpu_count(False) #查看cpu物理核数
    psutil.cpu_percent(1) #一秒钟内cpu的使用率
    psutil.cpu_percent(1,True) #每一核cpu的占用率
    psutil.virtual_memory() #内存使用率
    print('%.2f%%' % res[2]) #给使用率保留两位小数点并加上%。
    psutil.disk_usage('C:') #查看硬盘分区使用率
    psutil.net_io_counters() #查看网络流量
     
    *浮点类型也可以比较大小,zifu串转换成int类型要先转换成浮点类型在转换。
    str —> float —> int
    写监控cpu脚本:
     
     
    #监控:
    import psutil
    import smtplib
    from email.mime.text import MIMEText
    from email.header import Header
    #监控cpu使用率:
    def cpu_info():
    cpu = psutil.cpu_percent(1)
    cpua = '%.2f%%' % cpu
    return cpua
    #监控内存使用率:
    def mem_info():
    mem = psutil.virtual_memory()
    mema = '%.2f%%' % mem[2]
    return mema
    #监控硬盘使用率:
    def disk_info():
    cd = psutil.disk_usage('C:')
    cdisk = '%.2f%%' % cd[3]
    dd = psutil.disk_usage('D:')
    ddisk = '%.2f%%' % dd[3]
    ed = psutil.disk_usage('E:')
    edisk = '%.2f%%' % ed[3]
    all = [cdisk,ddisk,edisk]
    return all
    #监控网络流量:
    def net_info():
    net = psutil.net_io_counters()
    send = str(int(net[0]/8/1024/1024)) + 'M'
    recv = str(int(net[1]/8/1024/1024)) + 'M'
    all1 = [send,recv]
    return all1
    def mail(str):
    sender = 'xxxx@163.com'
    receiver = 'xxx@163.com'
    subject = '报警'
    username = 'xxx@163.com'
    password = 'xxxx'
    msg = MIMEText(str,'plain', 'utf-8')
    msg['Subject'] = Header(subject, 'utf-8')
    msg['From'] = 'Tim<xxx@163.com>'
    msg['To'] = "xxx@126.com"
    smtp = smtplib.SMTP()
    smtp.connect('smtp.163.com')
    smtp.login(username, password)
    smtp.sendmail(sender, receiver, msg.as_string())
    smtp.quit()
    def main():
    a = cpu_info()
    b = mem_info()
    cd = disk_info()[0]
    dd = disk_info()[1]
    ed = disk_info()[2]
    ds = net_info()[0]
    dr = net_info()[1]
    all3 = '''
    =====================
    你的cpu使用率为:%s
    =====================
    你的内存使用率为:%s
    =====================
    你的C盘使用率为:%s
    你的D盘使用率为:%s
    你的E盘使用率为:%s
    =====================
    您的network_send:%s
    您的network_recv:%s
    ====================
    ''' % (a,b,cd,dd,ed,ds,dr)
    aa = float(a[:-4])
    if aa > 1:
    mail(all3)
    else:
    print('安全')
    main()
  • 相关阅读:
    如何在Ubuntu Unity上修改应用程序图标
    Ubuntu添加PPA源
    Ubuntu14.04下Unity桌面托盘图标显示问题
    apt-get用法
    解决ubuntu无法调整和保存屏幕亮度的问题
    终端调测命令易用性的改进
    关于Linux系统basename函数缺陷的思考
    基于VLAN的二三层转发
    【译】编写可重入和线程安全的代码
    Writing Reentrant and Thread-Safe Code(译:编写可重入和线程安全的代码)
  • 原文地址:https://www.cnblogs.com/dayle/p/9996835.html
Copyright © 2020-2023  润新知