亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

python和shell監控linux服務器的詳細代碼

2020-02-15 22:00:05
字體:
來源:轉載
供稿:網友

本文實例為大家分享了python和shell監控linux服務器的具體代碼,供大家參考,具體內容如下

1、 shell監控負載

監控原理:使用uptime來獲取負載的信息,然后通過字符串截取的方式來獲取load值來獲取單個核心的負載,在將負載與閾值比較確定是否報警。

loard_monitor.sh腳本:

#!/bin/bash#使用uptime命令監控linux系統負載變化#提取本服務器的IP地址信息IP=`ifconfig eth0 | grep "inet addr" | cut -f 2 -d ":" | cut -f 1 -d " "`#抓取cpu的總核數cpu_num=`grep -c 'model name' /proc/cpuinfo`#抓取當前系統15分鐘的平均負載值load_15=`uptime | awk '{print $NF}'`#計算當前系統單個核心15分鐘的平均負載值,結果小于1.0時前面個位數補0。average_load=`echo "scale=2;a=$load_15/$cpu_num;if(length(a)==scale(a)) print 0;print a" | bc`#取上面平均負載值的個位整數average_int=`echo $average_load | cut -f 1 -d "."`#當單個核心15分鐘的平均負載值大于等于1.0(即個位整數大于0) ,直接發郵件告警if (($average_int > 0)); then   python /opt/monitor/monitor.py "服務器15分鐘的系統單個核心平均負載為$average_load,超過警戒值1.0,請立即處理?。?!"fi

2、python監控,并郵件報警,同時記錄JVM等相關參數

原理:使用crontab定時任務來執行python腳本,在腳本中來調用shell命令或jvm命令獲取信息,最終使用python發送監控郵件。

monitor.py

#!/usr/bin/env Python# coding=utf-8"""配合crontab來定時的讀取服務器的部分信息1、top信息2、JVM實例信息3、GC信息組裝成html發送郵件"""import smtplibimport osimport socketimport fcntlimport structimport timeimport sysfrom email.mime.text import MIMEText# 獲取本機ip和名稱def get_ip_address(ifname):  s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)  return socket.inet_ntoa(fcntl.ioctl(    s.fileno(),    0x8915, # SIOCGIFADDR    struct.pack('256s', ifname[:15])  )[20:24])# 郵件發動方法def send_mail(to_list, sub, content): # to_list:收件人;sub:主題;content:郵件內容  me = mail_title + "<" + mail_user + "@" + mail_postfix + ">" # 這里的hello可以任意設置,收到信后,將按照設置顯示  msg = MIMEText(content, _subtype='html', _charset='utf-8') # 創建一個實例,這里設置為html格式郵件  msg['Subject'] = sub # 設置主題  msg['From'] = me  msg['To'] = ";".join(to_list)  try:    s = smtplib.SMTP()    s.connect(mail_host) # 連接smtp服務器    s.login(mail_user, mail_pass) # 登陸服務器    s.sendmail(me, to_list, msg.as_string()) # 發送郵件    s.close()    return True  except Exception, e:    print str(e)    return False# 根據shell命令返回一個list 文本def get_text_sh(bash_sh):  result = os.popen(bash_sh).read()  return result.split("/n")# top信息的獲取bash_top = "top -bn 1 | head -5 "top_arr_txt = get_text_sh(bash_top)# 服務器的JVM的pid 并去掉空格bash_pid = "/usr/local/java/bin/jps | grep 'Bootstrap' | awk '{print $1}'"jvm_pid = os.popen(bash_pid).read().strip()# 獲取JVM中存活得對象bash_jmap = "/usr/local/java/bin/jmap -histo:live " + jvm_pid + " | head -13 "jvm_instance_arr = get_text_sh(bash_jmap)# JVM堆信息bash_jmap_heap = "/usr/local/java/bin/jmap -heap " + jvm_pidjvm_heap_arr = get_text_sh(bash_jmap_heap)# gc統計,采樣時間間隔為250ms,采樣數為4bash_gc = "/usr/local/java/bin/jstat -gc " + jvm_pid + " 250 4 "jvm_gc_arr = get_text_sh(bash_gc)# JVM線程快照bash_jvm_thread = "jstack -l " + jvm_pidjvm_thread_arr = get_text_sh(bash_jvm_thread)# 獲取本機名稱和IPserver_name = socket.getfqdn(socket.gethostname())# 內網IPinner_ip = get_ip_address("lo")# 公網IPout_ip = get_ip_address("eth0")# 郵件接收者mailto_list = ["yourname@company.com"]# 設置服務器mail_host = "smtp.xxx.com"# 用戶名mail_user = "server_monitor"# 動態客戶端口令mail_pass = "#######"# 發件箱的后綴mail_postfix = "163.com"# 標題名稱mail_title = "ServerMonitor"# 標題時間mail_time = time.strftime("%Y-%m-%d %X", time.localtime(time.time()))# 郵件主題mail_sub = "【監控郵件】服務器(" + server_name + ")--IP(" + out_ip + ")--時間(" + mail_time + ")"# 目錄導航mail_catalog = "<ul>" /        "<li><a href = '#top'>服務器top信息</a></li>" /        "<li><a href = '#instance'>JVM存活實例</a></li>" /        "<li><a href = '#gc'>GC情況</a></li>" /        "<li><a href = '#heap'>JVM堆信息</a></li>" /        "<li><a href = '#thread'>JVM線程快照及鎖</a></li>" /        "</ul>"# 報警內容mail_context = "<h2><font color='red'>" + sys.argv[1] + "</font></h2>"# 郵件正文mail_context += mail_catalog + "<h3><a name = 'top'>服務器top信息:</a></h3><hr>"# 處理top信息for line in top_arr_txt:  mail_context += "<pre>" + line + "</pre>"mail_context += "<h3><a name = 'instance'>JVM存活實例10:</a></h3><hr>"# 處理jvm,并將標簽退換掉for line in jvm_instance_arr:  # 并將標簽符號替換成html的符號  mail_context += "<pre>" + line.replace("<", "<").replace(">", ">") + "</pre>"mail_context += "<h3><a name = 'gc'>GC情況 采樣時間間隔為250ms,采樣數為4:</a></h3><hr>"# 處理gc信息for line in jvm_gc_arr:  # 并將標簽符號替換成html的符號  mail_context += "<pre>" + line + "</pre>"mail_context += "<h3><a name = 'heap'>JVM堆信息:</a></h3><hr>"# 處理heap信息for line in jvm_heap_arr:  # 并將標簽符號替換成html的符號  mail_context += "<pre>" + line + "</pre>"mail_context += "<h3><a name = 'thread'>JVM線程快照及鎖情況:</a></h3><hr>"# 處理JVM線程快照及鎖情況for line in jvm_thread_arr:  # 并將標簽符號替換成html的符號  mail_context += "<pre>" + line + "</pre>"mail_context += "<pre>線程快照過大,暫時未提供顯示,如有需要請聯系<a href = 'yourname'>your</pre>"# 入口if __name__ == '__main__':  if send_mail(mailto_list, mail_sub, mail_context):    print "發送成功"  else:    print "發送失敗"            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人av网| 国产精品一区二区性色av| 久久人人爽人人爽人人片亚洲| 久久九九免费视频| 亚洲综合在线小说| 日韩a**站在线观看| 日韩欧亚中文在线| 日本国产一区二区三区| 欧美壮男野外gaytube| 国产成人小视频在线观看| 亚洲人成在线免费观看| 国外成人在线视频| 国产欧美日韩视频| 国产精品一区二区三区毛片淫片| 欧美日韩中国免费专区在线看| 精品一区电影国产| 在线看日韩av| 1769国内精品视频在线播放| 91在线免费看网站| 亚洲第一精品福利| 欧美激情网站在线观看| 色偷偷综合社区| 精品国产999| 欧洲亚洲在线视频| 国产欧美日韩专区发布| 日韩电视剧在线观看免费网站| 热门国产精品亚洲第一区在线| 亚洲va久久久噜噜噜久久天堂| 91网在线免费观看| 亚洲国产精品女人久久久| 日本aⅴ大伊香蕉精品视频| 亚洲视频在线播放| 成人国产精品免费视频| 国产欧美精品在线播放| 国产日韩精品一区二区| 国产精品精品一区二区三区午夜版| 亚洲成av人乱码色午夜| 日韩国产一区三区| 国产精品直播网红| 日本精品久久电影| 欧美激情精品久久久久| 九九热视频这里只有精品| 8x拔播拔播x8国产精品| 在线日韩中文字幕| 亚洲欧洲第一视频| 欧美精品一区三区| 欧美成人h版在线观看| 91精品视频在线看| 欧美在线观看视频| 欧美精品在线第一页| 久久久国产成人精品| 亚洲va码欧洲m码| 精品色蜜蜜精品视频在线观看| 久久成人精品一区二区三区| 亚洲精品一区二区久| 国产成人亚洲综合| 久久久99免费视频| 欧美午夜xxx| 上原亚衣av一区二区三区| 揄拍成人国产精品视频| 一区二区成人精品| 久久影院资源网| 国产欧洲精品视频| 亚洲自拍偷拍视频| 668精品在线视频| 午夜免费在线观看精品视频| 日韩精品免费在线观看| 欧美成年人视频网站欧美| 亚洲最大的成人网| 亚洲欧美国产制服动漫| 亚洲成人激情在线观看| 亚洲xxx大片| 97久久精品国产| 亚洲精品有码在线| 中文字幕精品国产| 欧美性猛交丰臀xxxxx网站| 亚洲成av人片在线观看香蕉| 久久精品99久久香蕉国产色戒| 国产精品免费在线免费| 久久久久国产精品免费网站| 羞羞色国产精品| 欧美成年人视频网站欧美| 中文字幕不卡在线视频极品| 亚洲性猛交xxxxwww| 国产午夜一区二区| 国产欧美日韩高清| 国产在线精品一区免费香蕉| 亚洲人精选亚洲人成在线| 欧美亚洲伦理www| 97久久精品人人澡人人爽缅北| 97视频在线观看视频免费视频| 91sao在线观看国产| 欧美一区二区三区图| 国产丝袜一区二区三区| 久久色在线播放| 亚洲人成在线观看网站高清| 日韩激情av在线免费观看| 国产69精品久久久| 欧美精品videofree1080p| 亚洲系列中文字幕| 亚洲第一福利在线观看| 国产91精品最新在线播放| 亚洲男人天堂网站| 激情成人在线视频| 午夜精品一区二区三区av| 欧美性xxxxx极品娇小| 国产成人在线一区| 欧美xxxwww| 久久成人在线视频| 色综合色综合网色综合| 欧美大尺度电影在线观看| 亚洲精品久久久久国产| 狠狠躁夜夜躁人人躁婷婷91| 国产99久久精品一区二区 夜夜躁日日躁| 久久夜色精品亚洲噜噜国产mv| 国产精品精品一区二区三区午夜版| 日韩久久午夜影院| 91精品视频网站| 日韩男女性生活视频| 韩国福利视频一区| 欧美极品第一页| 亚洲美女在线视频| 国产精品电影一区| 日本伊人精品一区二区三区介绍| 日韩成人中文电影| 久久久久久999| 欧美日韩在线视频首页| 久久99精品久久久久久青青91| 91九色国产视频| 色噜噜狠狠狠综合曰曰曰88av| 美日韩精品免费视频| 亚洲国产成人精品久久久国产成人一区| 国产综合在线视频| 永久免费毛片在线播放不卡| 国产69精品久久久久9| 中文字幕亚洲图片| 亚洲一区二区三区在线视频| 欧美最顶级的aⅴ艳星| 日韩电影中文字幕在线观看| 国产成人小视频在线观看| 国产成人精品视频在线观看| 国产免费成人av| 久久琪琪电影院| 在线视频欧美性高潮| 欧美一区二区三区图| 亚洲国产天堂久久综合| 好吊成人免视频| 日韩一区二区三区国产| 另类天堂视频在线观看| 日韩在线观看免费高清完整版| 91精品国产综合久久香蕉最新版| 亚洲国产黄色片| 亚洲国产精品国自产拍av秋霞| 日韩av电影在线播放| 日韩欧美在线视频免费观看| 国产精品678| 欧美电影免费播放| 欧美另类在线播放| 亚洲精品白浆高清久久久久久| 久久久久久久久久久91| 国产亚洲aⅴaaaaaa毛片| 欧美高清视频一区二区| 亚洲视频在线视频| 午夜精品久久久久久久久久久久久|