1、安装 Python 环境
下载 Python 安装包
访问 Python 官方下载页面。
依据服务器的系统架构(32 位或者 64 位),挑选合适的 Python 版本(推荐 Python 3.9 及以上版本)进行下载。
运行安装程序
双击下载好的安装包,开启安装程序。
在安装界面,勾选 “Add Python to PATH” 选项,这样 Python 会被自动添加到系统的环境变量中,方便后续使用。
点击 “Install Now” 开始安装。
验证安装
打开命令提示符(可以通过按下 Win + R 组合键,输入 cmd 并回车来打开)。
在命令提示符中输入 python --version,若安装成功,会显示当前安装的 Python 版本号。
2、安装所需的 Python 库
打开命令提示符
以管理员身份运行命令提示符。在开始菜单中找到 “命令提示符”,右键单击并选择 “以管理员身份运行”。
安装 requests 和 yagmail 库
在命令提示符中输入以下命令来安装 requests 库:
pip install requests
输入以下命令来安装 yagmail 库:
pip install yagmail
3、发布监控代码
创建项目文件夹
在服务器上创建一个新的文件夹,例如 web_service_monitor,用于存放监控代码。
编写代码文件
使用文本编辑器(如记事本、Visual Studio Code 等)打开一个新的文件,将之前提供的监控代码复制到文件中。
按照实际情况修改代码中的邮箱信息和要监控的 Web 服务地址。
将文件保存为 monitor.py,并将其放置到之前创建的 web_service_monitor 文件夹中。
监控需求:
- 可监控多个服务
- 可发送到多个邮箱
- 监控服务启动时发一次通知
- 某个服务启动/停止时发通知,同一服务下次检查时如状态未变化不再发邮件
代码完整版:
import requests
import yagmail
import time
# 配置邮箱信息
email_host = 'smtp.163.com' # 邮箱SMTP服务器地址
sender_email = "xxx@163.com" # 发送邮件的邮箱地址
sender_password = "xxxx" # 邮箱密码,163邮箱一版16位授权码(非登录密码),需要去开启STMP设置
receiver_email = ["1@xx.com", "2@xx.com"] # 接收通知的邮箱地址,可多个
# 要监控的 Web 服务列表,每个服务是一个字典,包含别名和 URL
web_services = [
{"alias": "测试1", "url": "http://1.140.86.13:80/"},
{"alias": "测试2", "url": "http://1.140.86.13:443/"},
{"alias": "测试3", "url": "http://1.140.86.128:9601/"},
# 可以继续添加更多服务
]
# 初始化每个服务的状态
service_status = {service["alias"]: None for service in web_services}
# 检查 Web 服务状态的函数
def check_web_service_status(url):
try:
response = requests.get(url)
return response.status_code == 200
except requests.RequestException:
return False
# 发送邮件通知的函数
def send_email_notification(subject, body):
yag = yagmail.SMTP(sender_email, sender_password, email_host)
yag.send(to=receiver_email, subject=subject, contents=body)
# 发送服务启动邮件
startup_subject = "Web服务监控程序已启动"
startup_body = "Web服务监控程序已成功启动,开始监控服务状态。"
send_email_notification(startup_subject, startup_body)
# 主监控循环
while True:
for service in web_services:
alias = service["alias"]
url = service["url"]
current_status = check_web_service_status(url)
previous_status = service_status[alias]
if previous_status is None:
# 首次检查,更新状态但不发邮件
service_status[alias] = current_status
elif current_status != previous_status:
# 状态变化,发送邮件并更新状态
if current_status:
subject = f"{alias} Web服务已上线!"
body = f"Web服务 {alias} ({url}) 目前已恢复可用。"
else:
subject = f"{alias} Web 服务已挂!"
body = f"Web服务 {alias} ({url}) 目前不可用。请尽快检查。"
send_email_notification(subject, body)
service_status[alias] = current_status
time.sleep(60) # 每60秒循环检查
4、设置任务计划程序(可选)
若要让监控代码定期运行,可以使用 Windows 的任务计划程序。
打开 “任务计划程序”(可以在开始菜单中搜索 “任务计划程序” 来找到它)。
在任务计划程序中,点击 “创建任务”。
在 “常规” 选项卡中,为任务命名,如 “Web 服务监控”。
在 “触发器” 选项卡中,点击 “新建”,设置任务的触发时间,例如每天、每小时等。
在 “操作” 选项卡中,点击 “新建”,在 “程序 / 脚本” 字段中输入 Python 解释器的路径(通常为 C:\PythonXX\python.exe,XX 为 Python 版本号),在 “添加参数(可选)” 字段中输入 monitor.py 文件的完整路径。
点击 “确定” 保存任务。
5、运行监控代码
手动运行
打开命令提示符,使用 cd 命令切换到 web_service_monitor 文件夹,例如:
输入以下命令来运行监控代码:cd C:\web_service_monitor
python monitor.py
后台运行
若希望代码在后台持续运行,可以使用 start 命令:
start python monitor.py
通过以上步骤,你就可以在 Windows Server 服务器上成功安装 Python 环境、安装所需的库,并发布和运行 Web 服务监控代码。











网友评论