溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何使用python3監(jiān)控服務(wù)器狀態(tài)進(jìn)行郵件報(bào)警

發(fā)布時(shí)間:2021-08-25 11:15:34 來源:億速云 閱讀:139 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下如何使用python3監(jiān)控服務(wù)器狀態(tài)進(jìn)行郵件報(bào)警,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

監(jiān)控內(nèi)存、磁盤、cpu

import psutil
def mem():
	mem = psutil.virtual_memory()
return mem[2]
def disk():
	disk = psutil.disk_usage('/root')
return disk[3]
def cpu():
	cpu = psutil.cpu_percent(60)
return cpu
a = mem()
b = disk()
c = cpu()
import yagmail
yag = yagmail.SMTP(user = 'xxx@qq.com',
	password = 'cxboscylplifgadd', host =
	'smtp.qq.com')
if a > 80:
	yag.send(to = 'xxx@qq.com', subject =
		'內(nèi)存報(bào)警', contents = '運(yùn)行內(nèi)存超過80%請(qǐng)盡快處理',
		cc = 'xxx@qq.com')
yag.close()
if b > 70:
	yag.send(to = 'xxx@qq.com', subject =
		'系統(tǒng)磁盤報(bào)警', contents = '系統(tǒng)磁盤超過70%請(qǐng)盡快處理',
		cc = 'xxx@qq.com')
yag.close()
if c > 90:
	yag.send(to = 'xxx@qq.com', subject =
		'cpu報(bào)警', contents = 'cpu超過90%請(qǐng)盡快處理',
		cc = 'xxx@qq.com')
yag.close()

監(jiān)控網(wǎng)頁服務(wù)(報(bào)警)

import socket, yagmail
hosts = ['192.168.8.137:80',
	'192.168.8.15:88'
]
socket.setdefaulttimeout(5)
for host in hosts:
	ip = host.split(':')[0]
port = host.split(':')[1]
server = socket.socket()
res = server.connect_ex((ip, int(port)))# 返回值為0代表ok,
	不為0代表失敗
if res == 0:
	pass
else :
	yag = yagmail.SMTP(user = 'xxx@qq.com',
		password = 'cxboscylplifgadd', host =
		'smtp.qq.com')
yag.send(to = 'xxx@qq.com', subject =
	'警告', contents = '%s httpd服務(wù)斷開請(qǐng)檢測' %
	ip, cc = 'xx@163.com')
yag.close()

這樣我們的監(jiān)控腳本python腳本就完成了,現(xiàn)在就只需要拿到服務(wù)器執(zhí)行定時(shí)任務(wù)就行了?,F(xiàn)在我們來檢測一下:

如何使用python3監(jiān)控服務(wù)器狀態(tài)進(jìn)行郵件報(bào)警

編輯一下定時(shí)任務(wù)

如何使用python3監(jiān)控服務(wù)器狀態(tài)進(jìn)行郵件報(bào)警

我們將寫上面兩個(gè)腳本寫入1.py和2.py這兩個(gè)文件中,為了方便驗(yàn)證我們將磁盤判斷值改為30,實(shí)際上我們已用到了40%,這樣就能直接報(bào)警了,兩臺(tái)服務(wù)器的Apache端口都為80且均為正常運(yùn)行狀態(tài)。

如何使用python3監(jiān)控服務(wù)器狀態(tài)進(jìn)行郵件報(bào)警

我們等待一分鐘。。。。。。。

如何使用python3監(jiān)控服務(wù)器狀態(tài)進(jìn)行郵件報(bào)警

如何使用python3監(jiān)控服務(wù)器狀態(tài)進(jìn)行郵件報(bào)警

看完了這篇文章,相信你對(duì)“如何使用python3監(jiān)控服務(wù)器狀態(tài)進(jìn)行郵件報(bào)警”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI