PythonのモニタCPU /メモリ/ディスクは、指定された割合よりも、電子メールを送信します

!は/ usr / binに/ Pythonの
#のコーディング:UTF 8 

#のpsutilインポートモジュール
のインポートpsutil
 インポートyagmail 

DEFのメール(件名、内容):      メールヘッダのパラメータと内容 
    YAG = yagmail.SMTP(=ユーザー" zhangweihappy8 @ 163.com 'パスワード= ' XXX 'ホスト= ' smtp.163.com '#のpasswdのログインパスワードは、パスワード認証されていません
    #をメール送信 
    =に(yag.sendを' [email protected] "、件名=件名、=目次内容)
     切断
    yag.close()
  


DEF cpu_info():
    CPU = psutil.cpu_percent(1 戻り、CPUの
RES = cpu_info()

DEF mem_info():
    MEM = psutil.virtual_memory()
    INFO1 = { ' mem_total ':MEM [0]、' MEM_FREE ':MEM [ 1]、' mem_percentに' [2]、MEM ' mem_used ':[3 memと]}
     戻りINFO1 
RES2 = mem_info()

DEF disk_info():
    ディスク = psutil.disk_usage(' / ' 
    INF02は = { ' ':ディスクは、[0]、' 中古':ディスク、[1] ' 無料':ディスク[2]、' パーセント' [3]ディスク}    同じ辞書が書き込み
    リターンINF02 
RES3は = disk_info()である

DEF :メイン()
    m_cpu = RES 
    m_mem = RES2 
    m_disk = RES3     各コールの結果パーティション機能本体入力の関数として 
    MSG = '' '           
    利用%のCPUの
    メモリ%SMの量      
    メモリSM%、残りの
    %Sメモリ使用量
    、メモリ使用量%SM 
    合計ディスク%SGB 
    ディスク使用率%SGB 
    ディスク%SGB残量
    ディスク使用%%% S 
    ' '' %(m_cpu、INT(m_mem.get(' mem_total ')/ 1024/1024)、INT(m_mem [ ' MEM_FREE ' ] / 1024/1024)、m_mem [ ' mem_percentに' ]、INT(m_mem [ ' mem_used ' ] / 1024/1024)、INT(m_disk [ ' ' ] / 1024 / 1024/1024)、INT(m_disk [ ' 使用される' ] / 1024/1024/1024)、INT(m_disk [ ' フリー' ] / 1024/1024/1024)、m_diskの[ "パーセント' ]) 
     印刷(MSG)
     IF m_cpu> 50 
        メール(' CPUアラーム'MSG)
     印刷' CPUノーマル' IF m_mem [ ' mem_percentに' ]> 50 
        メール(' 半分よりもメモリフットプリント" 、MSG)
     印刷' リラックス' IF m_disk [ ' パーセント' ]> 50 
        郵便物('ディスクの高速爆発' )、MSGの
     印刷' ディスクノーマル' 

IF  __name__ == ' __main__ " 
    main()の

 

おすすめ

転載: www.cnblogs.com/hello-wei/p/11671506.html