如何使用Serverless函数计算实现HTTP健康检查+故障短信通知
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇文章给大家分享的是有关如何使用Serverless函数计算实现HTTP健康检查+故障短信通知,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看
千家信息网最后更新 2026年11月02日如何使用Serverless函数计算实现HTTP健康检查+故障短信通知
本篇文章给大家分享的是有关如何使用Serverless函数计算实现HTTP健康检查+故障短信通知,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
使用Serverless函数计算实现HTTP健康检查+故障短信通知
应用场景
定时对网站/API进行请求,根据请求响应判断服务是否可用,网站是否存在宕机,当发生宕机时,发送短信通知管理员.
技术使用
运行平台: 阿里云函数计算
开发语言: Python3(小功能,精简,开发快,可在阿里云上在线编辑代码)
其它: 阿里云短信接口
为何选用函数计算?
无需关注运维,仅需要编写核心代码,一个python脚本就够了(阿里云上可在线编辑代码,本地开发环境都无需搭建)
定时进行检测,只需要选用函数计算的"定时触发器"即可
根据代码的调用次数和运行时间计费(相对价格应该是非常低的)
结构图
过程
阿里云上开通函数计算服务
创建服务: 函数计算-创建服务:
httpchk创建函数: 语言Python-空白函数
创建函数: 触发器-定时触发器:
httpchk-trigger-时间间隔1分钟创建函数: 函数名称:httpchk-fc,
创建函数: 代码方式:在线编辑
创建函数: 函数执行内存:128MB(足足够用)
函数代码:
# -*- coding: utf-8 -*-import loggingimport requestsfrom aliyunsdkcore.client import AcsClientfrom aliyunsdkcore.request import CommonRequestfrom requests.adapters import HTTPAdapter# 出错时,重试2次,一共执行3次request = requests.Session()request.mount('http://', HTTPAdapter(max_retries=2))request.mount('https://', HTTPAdapter(max_retries=2))# 待检测的网址,仅支持GET请求urls = ["https://www.baidu.com","http://www.mtain.top"]# 接收短信通知的手机号码phone = "180000000"# 阿里云短信接口相关信息accessKeyId = 'xxxx'accessSecret = 'xxxx'signName = 'xxxxx'templateCode = 'SMS_xxxx'logger = logging.getLogger()def handler(event, context): for url in urls: do_httpchk(url)def do_httpchk(url): logger.info('检测网站:{}'.format(url)) try: req = request.get(url, timeout=5) logger.info('网站:{}响应正常,返回数据长度:{}'.format(url,len(req.text))) except Exception as e: logger.error('网站:{}服务异常,{}'.format(url,e)) send_sms(url) def send_sms(url): client = AcsClient(accessKeyId, accessSecret, 'default') request = CommonRequest() request.set_accept_format('json') request.set_domain('dysmsapi.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') # https | http request.set_version('2017-05-25') request.set_action_name('SendSms') request.add_query_param('PhoneNumbers', phone) request.add_query_param('SignName', signName) request.add_query_param('TemplateCode', templateCode) # 阿里云短信变量 [a-zA-Z0-9] 且 长度小于20 web_name = url.replace('https://','').replace('http://','').replace('.','-')[0:18] request.add_query_param('TemplateParam', '{"code":"'+web_name+'"}') response = client.do_action(request) logger.info('Send SMS Response:'+str(response, encoding = 'utf-8'))以上就是如何使用Serverless函数计算实现HTTP健康检查+故障短信通知,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
函数
短信
阿里
代码
网站
服务
健康
故障
检查
触发器
在线
开发
检测
接口
时间
更多
知识
篇文章
语言
长度
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
云南咖啡
互联网科技图片
江苏根荣互联网科技
互联网科技财经
圆梦互联网科技
互联网科技公司怎么样
互联网 的科技创新
互联网金融科技平台
互联网科技公司有哪些
深圳艾佳互联网科技
互联网科技创新企业排名
苏州五指互联网络科技有限
互联网保险科技创业
允成互联网科技有限公司融资
群盈汇互联网科技有限公司
山东星卡互联网科技有限公司官网
银行科技岗属于互联网吗
工业互联网科技成果转化
广西科技产业互联网是什么
银川新华互联网科技学校是国营吗
科技互联网政务服务
新华互联网科技学院
互联网科技作文
亿策互联网科技
有木互联网科技
隆华科技工业互联网
深圳艾果互联网通讯科技
山东星卡互联网科技有限公司官网
10位科技互联网大佬
优雇互联网科技有限公司