用python写一个实时监控系统网站可用性,当系统无法正常访问时邮件或短信通知相关运维人员,并发送警报邮件或短信通知
时间: 2024-04-19 20:30:11 浏览: 17
要实时监控系统的网站可用性并在无法正常访问时发送通知,你可以使用Python编写一个程序来实现。下面是一个示例代码,使用requests库进行网站请求,并使用smtplib库发送邮件通知。
```python
import requests
import smtplib
from email.mime.text import MIMEText
# 网站URL
website_url = 'http://www.example.com'
# SMTP服务器配置
smtp_server = 'smtp.example.com'
smtp_port = 587
smtp_username = 'your_username'
smtp_password = 'your_password'
sender_email = 'sender@example.com'
receiver_email = 'receiver@example.com'
# 发送邮件通知函数
def send_email_notification():
message = MIMEText('Website is down!')
message['Subject'] = 'Website Down Alert'
message['From'] = sender_email
message['To'] = receiver_email
with smtplib.SMTP(smtp_server, smtp_port) as server:
server.starttls()
server.login(smtp_username, smtp_password)
server.sendmail(sender_email, receiver_email, message.as_string())
# 监控循环
while True:
try:
# 发起网站请求
response = requests.get(website_url)
# 检查响应状态码
if response.status_code != 200:
# 网站不可用,发送邮件通知
send_email_notification()
except requests.exceptions.RequestException:
# 网络错误或其他异常,发送邮件通知
send_email_notification()
# 暂停一段时间后再次监控
time.sleep(60) # 暂停60秒
```
请注意,你需要将代码中的网站URL、SMTP服务器配置、发件人和收件人的邮件地址进行相应的修改。如果你想要使用短信通知,你可以使用相应的短信网关API来发送短信。
这只是一个简单的示例代码,你可以根据实际需求进行修改和扩展。例如,你可以添加短信通知、定时任务调度等功能。另外,确保你的计算机能够连接到SMTP服务器以发送邮件,并且能够访问监控的网站。