监控服务是否正常,实现邮件报警
#监控端口号,实现查看服务是否运行
方法一:
def sendmail(message, ip):
import smtplib
from email.mime.text import MIMEText
from email.header import Header
sender = '18618250232@163.com'
receiver = 'lizhao_dc@126.com'
subject = '%s报警' % ip
username = '18618250232@163.com'
password = 'xxxx'
msg = MIMEText(message, 'plain', 'utf-8')
msg['Subject'] = Header(subject, 'utf-8')
msg['From'] = 'Tim<18618250232@163.com>'
msg['To'] = "lizhao_dc@126.com"
smtp = smtplib.SMTP()
smtp.connect('smtp.163.com')
smtp.login(username, password)
smtp.sendmail(sender, receiver, msg.as_string())
smtp.quit()
方法二:
import re
import socket
socket.setdefaulttimeout(1)
server = socket.socket()
host_list = ['192.168.4.145:5555','127.0.0.1:8888','2.2.2.2:80','3.3.3.3:3333']
for info in host_list:
ip = re.compile('(.*?):(.*)').search(info).group(1)
port = re.compile('(.*?):(.*)').search(info).group(2)
res = server.connect_ex((ip, int(port)))
if res != 0:
print('%s不通' % port, ip)