用ClouseBase云函数来定时监控轻量应用服务器流量

本文教你怎么购买一台心仪的服务器,并且通过Cloudbase云函数来监控服务器的流量。

众所周知,目前要说国内性价比最高而且最稳定的服务器,恐怕非74元一年2核4G的腾讯云轻量云莫属了,该机器具有2核4G、8M的带宽以及80G的SSD硬盘,可以说碾压了一大票友商的产品,如果是刚入门初学者的或者是囊中羞涩的学生,我是十分推荐购买这款服务器。

但如果非要从鸡蛋里挑骨头来挑一个毛病的话,那就是这个服务器的出站流量是有上限的,每个月1200GB,超出的流量需要额外付费。事实上,1200G的流量对于大部分用户正常来说来说是绰绰有余的,但是,做站的话,可能会遇到被别有用心的人恶意刷流量,如果把流量刷超了,可就要额外扣除费用了。

针对这个问题,解决方案是用定时任务去检测轻量服务器的流量使用情况,如果流量超过一定的阈值,比如说使用超过95%,就自动执行关机操作。下面介绍的方法也是这个原理,不过本篇文章介绍的方法是用腾讯云CloudBase的云函数来定时检测,通过本文,一方面可以保护我们不会产生额外的流量费用,另外也熟悉一下最近大火的serverless产品的使用。

通过本文的操作,您能学到怎么购买、配置腾讯云轻量服务器,并且开通云函数来监控轻量云服务器的流量,并且,本文使用的云函数可以每天向指定的邮箱、企业微信账号以及手机号码发送一次当前所有服务器的流量使用情况,并且在低于或者高于设置的流量使用阈值自动开关机。邮件内容和企业微信的通知的颜值都是非常高的喔。例如这是向企业微信发送的通知,是一个图片。

注:本文不会教你怎么写云函数,而是使用一个已经写好的云函数,如果对次感兴趣的话,可以参阅官网文档。

企业微信通知

当然,要检测轻量服务器的流量,首先我们得有一台轻量云服务器,因此本篇教程从购买轻量云服务器开始

购买轻量服务器

首先,我们需要购买一台腾讯云轻量服务器,点击这里打开购买页面,选择需要的配置,点击立即购买,等支付完毕后,我们就拥有了自己的第一个云服务器。目前1核2G的价格是60元1年,2核4G的价格是74元一年,我推荐购买74元一年这款产品。

秒杀页面

点击立即购买,会提示选择可用区、镜像,小伙伴们可以选择距离自己最近的可用区,镜像也根据自己的需要进行选择(请无视下面的红圈圈)。

设置

然后,确认付款,一套操作下来,我们就有了人生中的第一个云服务器,可以搭建博客、建个人网盘或者用来学习编程等等。

开通Cloudbase以及创建云函数

购买了服务器以后,我们进入到腾讯云的CloudBase控制台,开通一个免费的环境。初次使用CloudBase的新用户都会有免费的额度,免费的额度虽然比较少,但是我们的云函数由于每小时运行一次,一个月只会运行720次,因此免费的额度足以满足我们的需求。

开通了环境以后,就可以在CloudBase的主界面看到我们新创建的环境。如下图所示,然后点击环境的卡片,进入到这个环境的管理界面。

新创建环境

进入到环境里,可以看到CloudBase提供了很多的功能。今天我们的主角是云函数,因此点击左侧菜单的【云函数】,进入到云函数的管理界面。下面是我已经创建好了的一个用来定时运行函数,点击上面的【新建云函数】就可以创建一个新的函数了。

云函数

点击【创建云函数】,填写相应的信息,然后选择【运行环境】以及函数内存。今天我们使用的云函数使用go语言写的,因此这里运行环境选择Golang,小伙伴们如果也会编程的话,也可以选择自己技术栈对应的环境,目前支持Python、Php、Java、Golang以及NodeJS。函数内存选择128MB即可。

创建云函数

然后点击【下一步】,填写云函数的描述,点击【完成】。

上传代码包

创建完成以后,点击刚才创建云函数,进入到云函数的管理界面,单击【函数代码】,进入到代码的上传页面。如下图所示,提交方法选择【本机上传ZIP包】。

上传代码包界面

云函数我已经写好,并且上传到了github上,并且用github action来自动构建zip代码包包。访问https://github.com/lixiaofei123/lhmonitor可以看到源码(初学者,轻喷)以及使用方法,附件:云函数zip包可以直接点击这里进行下载代码包。

注:这个压缩包之所以有24.3兆是因为里面包含了一个字体文件,如果不放心的话,可以自行从源码编译。

目前这个云函数支持的特性有下面几个,可以看到云函数支持 自动开关机以及每日发送一次当前的流量使用情况。

支持的特性

代码包下载好以后,点击上传按钮,选择我们刚才下载的main.zip文件,然后点击保存,并等待上传完毕。

配置必须参数

上传完毕后,我们需要进行一些配置才能正常使用。点击上方的【函数配置】,进入到函数配置页面。这里我们只来进行一下发送邮件和发送企业微信机器人的相关配置。点击右上角的【编辑按钮】,进入到【函数配置】的编辑状态,然后点击【新增环境变量】,所有参数都将通过环境变量的方式传递给云函数

添加环境变量

这里我们顺手也设置一下【定时触发器】,选择【编辑代码】模式,然后在输入框里填入下面内容,代表每小时运行一次。因为轻量服务器那边的流量情况是每小时更新一次,因此云函数只需要每小时运行一次即可。

{
 "triggers": [
    {
      "name": "myTrigger",
      "type": "timer",
      "config": "0 0 */1 * * * *"
    }
             ]
}

填写好的界面如下图所示,基本上我们只填写了必填的内容,REPORT_TIME代表发送当前流量使用情况的时间,不填写的话,默认是8点发送,这里为了方便测试,我填写了当前时间的小时时间,例如,当前是22点半,我这里填写了22点,这样等下测试的时候,我们才能收到云函数推送给我们流量使用报告。等测试没问题以后,可以再改回想要的时间。这里我们只测试邮件和企业微信的通知,短信的设置方法相对比较麻烦一下,需要创建短信签名以及模板,并且需要审核,有兴趣的小伙伴可以看一下文档自行研究一下。SECRET_ID和SECRET_KEY是腾讯云的子用户的密钥,且需要有对轻量服务器的完全操作权限,其余的设置项相信聪明的小伙伴看一下就明白了。

填写好的界面

进行测试

设置完毕,点击右上角的【测试】按钮,然后在弹出框里,不需要管其它的东西,继续点击【运行测试】,稍等片刻,就会显示运行成功

测试

如果我们的设置没问题的话,此时,检查一下自己的企业微信和邮箱吧,

企业微信通知

邮箱通知

写在最后

好了,到了这里我们的设置就都结束了。到了这里,我们的云函数可以24小时不间断的定时检测我们的轻量服务器的流量使用情况,在使用情况高于阈值的时候自动关闭服务器,在低于阈值的时候自动开启服务器(此功能默认关闭,需要此功能的话请根据github中的文档自行开启),并且每日会向我们的邮箱和企业微信推送一次轻量服务器的流量使用情况,让我们不需要登录服务器就能随时掌握轻量服务器的流量使用情况。到了这里,小伙伴们就可以放心大胆的用轻量服务器来建站并且不需要担心产生额外的流量费用了。好好享受你的轻量服务器来发现更多的玩法吧!!!

本文来自开发者投稿,不代表腾讯云立场,转载请注明出处:https://computeinit.com/archives/5573

发表评论

登录后才能评论
交流群