脚本首先会尝试获取网页内容,然后判断网页内容是否包含指定内容,然后判断网页状态码,都没问题就通过,其他情况全部发邮件告警。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| import requests import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart
def send_email_smtp(): for receiver_email in ["dov@qq.com","27895@qq.com","416@qq.com"]: sender_email = "dov@qq.com" password = "*****************"
message = MIMEMultipart() message["From"] = sender_email message["To"] = receiver_email message["Subject"] = "服务器故障"
body = "协同网页信息获取失败,请重启应用系统!" message.attach(MIMEText(body, "plain"))
try: server = smtplib.SMTP("smtp.qq.com", 587) server.starttls() server.login(sender_email, password)
server.sendmail(sender_email, receiver_email, message.as_string()) print("Email sent successfully!") except Exception as e: print(f"Error: {e}") finally: server.quit()
url = 'http://16.16.16.25' try: response = requests.get(url,timeout=3) content = response.text if "登录前门户" in content and response.status_code == 200: print("Normal") else: send_email_smtp() except: send_email_smtp()
|