最佳实践

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

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

最近更新时间:2021-10-12 17:27:22

操作场景

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

操作步骤

创建云函数 PlayCheck

  1. 登录云函数控制台,选择左侧导航栏中的 函数服务
  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分执行一次)”,可根据实际情况调整。

测试云函数

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

目录