Serverchan实现微信告警推送
「Server酱」,英文名「ServerChan」,是一款「程序员」和「服务器」之间的通信软件。
说人话?就是从服务器推报警和日志到手机的工具。官方链接:首页 | Server酱 http://sc.ftqq.com/3.version
之前实现推送告警信息到微信的方法有如下几种:
1、通过企业公众号实现—-收费:
2、通过QQ邮箱,在微信平台上开启收到邮件进行提醒;
3、第三方告警平台API,一般也是收费的;
不过最近看文档时,发现serverchan应用,其原理属于第三种,不过其是免费的,而且操作步骤非常简单。先看下效果:
Serverchan配置步骤
- 登入:用GitHub账号登入网站,就能获得一个SCKEY(在「发送消息」页面)
- 绑定:点击「微信推送」,扫码关注同时即可完成绑定
- 发消息:往 http://sc.ftqq.com/SCKEY.send 发GET请求,就可以在微信里收到消息啦
发送消息非常简单,只需要向以下URL发一个GET或者POST请求:https://sc.ftqq.com/SCKEY.send
接受两个参数:
- text:消息标题,最长为256,必填。
- desp:消息内容,最长64Kb,可空,支持MarkDown。
最简单的消息发送方式是通过浏览器,在地址栏输入以下URL,回车后即可发送,例如:
- https://sc.ftqq.com/SCKEY.send?text=恭喜发财&desp=www.361way.com站点还是不错的
在具体调用的时候可以直接curl 直接调用该URL,也可以使用 shell 做一个简单的函数封装,例如:
- send(){
- key=your key id
- title=运维之路可用性监控
- content=www.361way.com暂时不可用,赶快检查
- curl "http://sc.ftqq.com/$key.send?text=$title&desp=$content" >/dev/null 2>&1 &
- }
在使用的时候,直接send调用就行了。
serverchan官方页面也提供了php调用的示例。本身get方法无论在任何语言里调用都不复杂。其很方便的可以在任何语言下进行接口连接。
sererchan也提供了一对多的发送服务 —— PushBear ,不过其每天只有1000条发送的上限。
为什么
是的是的,有很多的客户端都可以做到这个功能,比如Slack。那为什么我还要写一个呢?因为它们总是给得太多,我只是要一个简简单单的消息接收器而已。
这也成为了「Server酱」的设计目标:功能越少越好。
- 只有一个接口:每次调用接口,我们都要去读N长的API说明文档,看得头昏眼花。所以ServerChan只有一个接口,只要会输入网址,你就会用。
- 一分钟完工:注册账号是狠麻烦的事情,所以我们用GitHub账号;输入账号是狠讨厌的事情,所以我们用绑定二维码。所有这些流程都保证了一个程序员可以在一分钟内配置好「Server酱」,并收到第一条推送消息。你问没有GitHub账号的怎么办?没GitHub账号的还能叫程序员么?
- 可免客户端:安装客户端对很多用户来说是一种痛苦,但申请微信公号是更大的痛苦,所以我们直接申请好了给你用,就什么痛苦都没了。
应用场景
「Server酱」本质上是一个有着GET接口的可编程消息接收器,所以你可以创造出各种玩法来。
服务器异常报警
在写代码的时候,我们往往会遇到一些可能出现的异常。比如我们的简历分析系统,每隔几天就会出现一份不能分析的简历、我们的邮件发送系统,每发100份激活邮件总有几个被弹回。原来这种时候我们都是在服务器上打下一些日志,然后就再也没有然后了。现在你可以用一行代码把消息推送到「Server酱」。
file_get_contents('http://sc.ftqq.com/SCKEY.send?text='.urlencode('主人第250号简历分析失败啦~'));
调试无法在网页显示回调内容
比如在调试微信接口时,微信服务器会回调我们的服务器。这时候页面的输出是无法看见的。但你可以轻松的把它通过「Server酱」发送到手机上。
向手机发送内容
有时候需要往手机发送一些备用信息,比如电话、地址、网址和图片。因为「Server酱」支持Markdown,所以可以很轻松的完成。
我们在「发送消息」页面提供了一个在线发送工具。
这样你就不用总是在地址栏发消息了。消息内容中填入
[方糖气球](http://ftqq.com)
就可以推送链接;填入

就可以推送图片。在「Server酱」中,直接点击链接和图片,可以在系统浏览器中打开。
注:在 Markdown 语法中,两个空行才是换行,不能换行的同学多加个回车应该就好啦。