监控cpu信息.py
import time import psutil import datetime while True: # 监控cpu cpu = psutil.cpu_percent(interval=1) stCpu = "当前cpu使用率{}%".format(cpu) # 监控内存 memory = psutil.virtual_memory() memory = memory.percent strMemory = "当前内存占使用率{}%".format(memory) # 监控磁盘 disk = psutil.disk_usage("C:/") disk = disk.percent # print(disk) strDisk = "当前磁盘使用率{}%".format(disk) # print(strDisk) # 监控网络 network = psutil.net_io_counters() strNetwork = "网络{}".format(network) # network = network.percent # print(network) # 监控进程 pid_list = psutil.pids() strPid_list = "进程{}".format(pid_list) # print(pid_list) # 获取系统时间 windowstime = datetime.datetime.now().strftime("%F %T") strWindowstime = "系统时间{}".format(windowstime) # print(windowstime) time.sleep(1) # 设置使用率监控报警 # if cpu >= 80 or memory >= 80 or disk >= 80: with open("test.txt", "w", encoding="utf-8") as f: f.write(stCpu + "\n") f.write(strMemory + "\n") f.write(strDisk + "\n") f.write(strNetwork + "\n") f.write(strPid_list + "\n") f.write(strWindowstime + "\n") f.write("20200219135-郭德庆") print("已发送") # # if cpu >= 80: # # print("添加cpu") # # 设置写入 # f.write(stCpu) # # if memory >= 80: # # print("添加内存") # # 设置写入 # f.write(strMemory) # # if disk >= 80: # # print("添加磁盘信息") # # 设置写入 # f.write(strDisk) with open("log.log", "a", encoding="utf-8") as f: f.write(stCpu) f.write(strMemory) f.write(strDisk + "\n")
监控日志文件.py
import os import time import smtplib from email.mime.text import MIMEText # 被监视的文件路径 filename = 'test.txt' # 获取文件的初始修改时间和大小 last_modified_time = os.path.getmtime(filename) last_size = os.path.getsize(filename) last_position = 0 while True: # 等待时间 time.sleep(1) # 获取当前修改时间和大小 current_modified_time = os.path.getmtime(filename) current_size = os.path.getsize(filename) # 文件的修改时间发生变化 if current_modified_time != last_modified_time or current_size != last_size: print('文件内容发生变化!') new_content = "" # 读取文件的新内容并进行处理 with open(filename, 'r', encoding="utf-8") as f: new_content = f.read() last_modified_time = current_modified_time last_size = current_size # 创建发送邮箱 # 服务器地址 host = 'smtp.qq.com' # 账号 user = '484425684@qq.com' # 密码授权码 password = 'arstcniiyrelbidj' # 密码授权码 key = 'arstcniiyrelbidj' # 发送人邮箱 receivers = ['484425684@qq.com'] # 发送内容 message = MIMEText(new_content, "plain", 'utf-8') # 发送人 message["From"] = user # 发送给谁 message["To"] = ";".join(receivers) message["Subject"] = "CPU、内存和磁盘使用率过高" smtpObj = smtplib.SMTP() # 指定是上面邮箱 smtpObj.connect(host, 25) # 登录邮箱 key = 'arstcniiyrelbidj' smtpObj.login(user, password) smtpObj.sendmail(user, receivers, message.as_string()) key = 'arstcniiyrelbidj' print("邮件报警发送成功") smtpObj.quit()
test.txt
当前磁盘使用率90.4%
log.log