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 =
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 =
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()
python 系統的監控指令碼
需求 1.獲取當前主機資訊,包含作業系統名,主機名,核心版本,硬體架構等 2.獲取開機時間和開機時長 3.獲取當前登陸使用者 import os import psutil from datetime import datetime print 主機資訊 center 50,info os.unam...
python實現檔案系統監控
背景 python實現linux檔案系統監控,當某個目錄使用達到某個閾值的時候,自動傳送檔案告警 實現工具 python 2.7 linux shell ansible 2.5.0 實現 coding utf 8 import os import commands import json impor...
python監控 python 監控服務
最近寫了乙個web測試程式,因為部署在其他地方,所以想弄個監控的程序去看服務是不是還在,要是不在好發郵件,就用python簡單的寫了乙個。當然,有的時候也要考慮到監控程序本身就掛了,或者不想監控了。首先監控指令碼是這樣,很簡單 monitor.py coding 簡單的monitor函式,主要監控乙...