python--系统监控

import yagmail
import psutil
def sendmail(subject,contents):
    #连接邮箱服务器
    yag = yagmail.SMTP(user='邮箱地址',password='授权密码',host='smtp.163.com')
    #发送邮件
    yag.send(to='接收的邮箱地址',subject=subject, contents=contents)
    #断开连接
    yag.close()

def cpu_info():
    cpu = psutil.cpu_percent(1)
    return cpu

def mem_info():
    mem = psutil.virtual_memory()
    total_mem = int(mem[0]/1024/1024)
    free_mem = int(mem[1]/1024/1024)
    percent_mem = mem[2]
    used_mem = int(mem[3]/1024/1024)
    mem_dict = {
        'total_mem':total_mem,
        'free_mem':free_mem,
        'percent_mem':percent_mem,
        'used_mem':used_mem
    }
    return mem_dict

def disk_info():
    disk = psutil.disk_usage('c:')
    total_disk = int(disk[0]/1024/1024/1024)
    used_disk = int(disk[1]/1024/1024/1024)
    free_disk = int(disk[2]/1024/1024/1024)
    percent_disk = disk[3]
    disk_dict = {
        'total_disk':total_disk,
        'used_disk':used_disk,
        'free_disk':free_disk,
        'percent_disk':percent_disk
    }
    return disk_dict

def main():
    cpu = cpu_info()
    mem = mem_info()
    disk = disk_info()
    msg = '''
    cpu利用率:%s%%
    内存总大小:%sM
    内存剩余大小:%sM
    内存使用大小:%sM
    内存使用率:%s%%
    硬盘总大小:%sG
    硬盘使用大小:%sG
    硬盘剩余大小:%sG
    硬盘使用率:%s%%
    ''' % (cpu,mem.get('total_mem'),mem.get('free_mem'),mem.get('used_mem'),mem.get('percent_mem'),disk.get('total_disk'),disk.get('used_disk'),disk.get('free_disk'),disk.get('percent_disk'))
    if cpu > 1:
        print('cpu过高')
        sendmail('cpu报警',msg)
    else:
        print('cpu正常')
if __name__ == '__main__':
    main()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值