文档中心>云函数>实践教程>定时任务>SCF + 定时任务实现定时拨测并通过邮件发送告警

SCF + 定时任务实现定时拨测并通过邮件发送告警

最近更新时间:2023-09-18 11:12:01

我的收藏

操作场景

在本示例中,我们用到了云函数 SCF ,并在函数中实现特定 URL 列表的拨测,对测试失败的 URL 发送告警邮件。我们可以给该函数配置一个定时触发器,按照每小时或者每天的频度定时执行。 可以通过部署多地域函数拨测同一 URL 实现高可用的性能拨测任务,相关架构图如下:



操作步骤

创建云函数 PlayCheck

1. 登录 Serverless 控制台,单击左侧导航栏的函数服务。
2. 在“函数服务”页面上方选择北京地域,并单击新建进入新建函数页面。 设置以下参数信息,并单击下一步。如下图所示:
创建方式:选择模板创建
模糊搜索:输入“定时拨测”,并进行搜索,本文以运行环境 Python 2.7 为例。 单击模板中的查看详情,即可在弹出的“模板详情”窗口中查看相关信息,支持下载操作。


3. 函数名称默认填充,可根据需要自行修改。
4. 函数代码中,修改代码中的 “第三方 SMTP 服务”。参数 mail_host、mail_user、mail_pass、mail_port 需要根据实际发送的邮箱或邮件服务器来配置,本示例我们以 QQ 邮箱为例进行说配置。
说明
您可以从 QQ邮箱帮助中心 了解到如何开启 QQ 邮箱的 SMTP 功能。QQ 邮箱的 SMTP 功能开启后,相应的参数如下:
mail_host:SMTP 服务器地址,即 smtp.qq.com。
mail_user:登录用户名为您的邮箱地址,例如 123******@qq.com。
mail_pass:您在开启 SMTP 功能时设置的密码。
mail_port:服务器登录端口,由于 QQ 邮箱强制要求 SSL 登录,端口固定为465,同时代码中使用 smtplib.SMTP_SSL 创建 SSL 的 SMTP 连接。
修改 “需要拨测的URL地址”。
修改 “告警邮件通知列表”。
5. 在“触发器配置”中,选择“自动创建”,触发器参数保持默认。如需修改请选择“自定义创建”,主要参数信息如下:
触发方式:选择“定时触发”。
触发周期:默认为“每1小时(每小时0分执行一次)”,可根据实际情况调整。

测试云函数

在函数代码界面的下方,单击测试,查看函数的执行日志,并前往邮箱查看是否收到了告警邮件。