利用Serverchan进行微信告警推送

来源:互联网 发布:膝盖骨刺用什么药 知乎 编辑:程序博客网 时间:2024/06/06 08:49

Serverchan实现微信告警推送


「Server酱」,英文名「ServerChan」,是一款「程序员」和「服务器」之间的通信软件。

说人话?就是从服务器推报警和日志到手机的工具。官方链接:首页 | Server酱 http://sc.ftqq.com/3.version

之前实现推送告警信息到微信的方法有如下几种:

1、通过企业公众号实现—-收费:

2、通过QQ邮箱,在微信平台上开启收到邮件进行提醒;

3、第三方告警平台API,一般也是收费的;

不过最近看文档时,发现serverchan应用,其原理属于第三种,不过其是免费的,而且操作步骤非常简单。先看下效果:


Serverchan配置步骤

  1. 登入:用GitHub账号登入网站,就能获得一个SCKEY(在「发送消息」页面)
  2. 绑定:点击「微信推送」,扫码关注同时即可完成绑定
  3. 发消息:往 http://sc.ftqq.com/SCKEY.send 发GET请求,就可以在微信里收到消息啦

发送消息非常简单,只需要向以下URL发一个GET或者POST请求:https://sc.ftqq.com/SCKEY.send

接受两个参数:

  • text:消息标题,最长为256,必填。
  • desp:消息内容,最长64Kb,可空,支持MarkDown。

最简单的消息发送方式是通过浏览器,在地址栏输入以下URL,回车后即可发送,例如:

  1. https://sc.ftqq.com/SCKEY.send?text=恭喜发财&desp=www.361way.com站点还是不错的

在具体调用的时候可以直接curl 直接调用该URL,也可以使用 shell 做一个简单的函数封装,例如:

  1. send(){
  2. key=your key id
  3. title=运维之路可用性监控
  4. content=www.361way.com暂时不可用,赶快检查
  5. curl "http://sc.ftqq.com/$key.send?text=$title&desp=$content" >/dev/null 2>&1 &
  6. }

在使用的时候,直接send调用就行了。

serverchan官方页面也提供了php调用的示例。本身get方法无论在任何语言里调用都不复杂。其很方便的可以在任何语言下进行接口连接。

sererchan也提供了一对多的发送服务 —— PushBear ,不过其每天只有1000条发送的上限。

来个示意图:

scgif.gif


为什么

是的是的,有很多的客户端都可以做到这个功能,比如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,所以可以很轻松的完成。

我们在「发送消息」页面提供了一个在线发送工具。

Screen Shot 2015-09-07 at 1.09.49 PM.png

这样你就不用总是在地址栏发消息了。消息内容中填入

[方糖气球](http://ftqq.com)

就可以推送链接;填入

![logo](http://sc.ftqq.com/static/image/bottom_logo.png)

就可以推送图片。在「Server酱」中,直接点击链接和图片,可以在系统浏览器中打开。

注:在 Markdown 语法中,两个空行才是换行,不能换行的同学多加个回车应该就好啦。

TalkAdmin

TalkAdmin 是一套为通过微信来管理后台的解决方案。


FAQ

Q:为什么接口返回OK,微信收不到

A:不要在text参数中传递引号、点、花括号等字符。因为微信的接口不支持一系列的特殊字符,但没有详细列表,所以我只简单的过滤掉了一些。如果需要发送特殊字符,请放到 desp字段中。

Q:你怎么规划这个项目的?

A:因为自己想用所以写了。因为写了所以顺便分享出来给有同样需求的人。如果用的人多,会慢慢迭代一些功能上去。但应该不会商业化。

Q:iOS版在哪里么?

A:iOS的使用量非常小,于是不续费了。

Q:这个平台稳定么?我可以长期使用么?

A:依赖于SAE和LeanCloud的稳定性。因为花不了多少云豆和推送配额,所以应该会一直维护着她。

Q: 消息的存储规则是怎样的?

A:云端的消息存一周,客户端只从云端拉取最新的100条。客户端列表不分页,如果卡,可以在「设置」中「清空本地存储」。这些规则有些简单粗暴,以后会优化。

Q:对发送消息有什么限制?

A:每人每天发送上限500条,相同内容5分钟内不能重复发送,不同内容10秒内不能连续发送 不同内容一分钟只能发送30条。主要是防止程序出错的情况。

Q:Server酱开源么?

A:不开源,因为就算开源也不是部署完就能用的,要配置各种证书、购买认证服务、编译打包和发布。我没有精力把这些都整理成文档,所以不会发布成开源项目,但如果你想要客户端的源代码,直接解压就好了。另外,我把所有用到的开源项目、云服务和遇到的坑都写出来了,看这里:http://ftqq.com/2015/09/serverchan-server-alert-pusher/


顺便插播一条最新安全AD:

公安部研发中小网站安全防护系统 为您的网站保驾护航

此服务是由公安部第三研究所牵头主持的,实际上为阿里云的付费 WAF 服务,目前注册可以免费获取 1 年使用权,后续未知。 服务为基础版。 阿里云官网售卖的,一年要好几千RMB。
地址:https://waf.islab.cn/signup.html

信息安全公安部实验室,公安部第三研究所,没问题,事业单位。
公安部研发中小网站安全防护系统 为您的网站保驾护航

公安部研发中小网站安全防护系统 为您的网站保驾护航


无限星辰 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明公安部研发中小网站安全防护系统 为您的网站保驾护航