监控系统-2-创新互联
文章目录技术栈:Filebeat+Kafka+Flink+ElasticSearch+Kibana+Micrometer等
多端合一自适应网站建设:PC+平板+手机,同一后台修改数据多端同步更新提交您的需求,获取网站建设与营销策划方案报价,我们会在1小时内与您联系!
- 前言
- 一、企微消息推送方式
- 1. 机器人推送
- 2. 应用推送
- 二、应用推送方式
- 1. 基本概念
- 2. 参数获取
- corp_id
- agent_id
- secret
- user_id
- access_token
- 3. 消息推送
- 4. 函数计算 FC
- 创建服务:
- 创建函数:
- 参数配置
- 函数测试
- 获取公网访问地址
- 总结
前言
上篇文章介绍了应用系统通过埋点进行日志收集->Kibana配置Dashboard这条线路的实现思路,如感兴趣请移步:监控系统-1。
这篇文章我们讲下告警通道发送企业微信群告警的部分,此部分比较简单,监控系统发送告警信息到告警通道应用,此应用判断告警通知方式,进行相应的通知。
一、企微消息推送方式 1. 机器人推送
创建企业微信群,在群里建一个机器人,复制该机器人webhook。
例如:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=01018d87-0156-4b02-a388-xxxxxxx
此方式比较简单,并且支持多种消息类型及数据格式:文本类型、markdown类型、图片类型、图文类型等,但是限制20条/min,但是对于做个简单监控告警足够了。但是其是发送到微信群里的,毕竟是名字就是群机器人么,虽然也可以在发送时候指定@的人,同时不可以是外部群。有时候我们一些信息只想要指定的人、指定的部门收到,那么就采用下面基于应用的推送方式了。
第二种基于应用方式,此方式略微复杂,简单介绍下接入流程;
- 创建应用->拿到应用的secret对应corpsecret,并且拿到企业ID对应corpid
- 后台获取到该应用的access_token ,
- 组装发送参数
- 调用接口发送消息
下面介绍下详细流程以及过程遇到的问题。
二、应用推送方式 1. 基本概念企业相关
- corp_id 企业ID,每个企业都拥有唯一的企业身份标记。
应用相关
- agent_id 应用ID,应用在当前企业下的唯一ID。
- secret secret是企业应用里面用于保障数据安全的“钥匙”,每一个应用都有一个独立的访问密钥,为了保证数据的安全,secret务必不能泄漏。
- access_token 应用接口凭证,是去企业微信的后台获取信息时的重要票据,由 corp_id 和 secret 产生。所有接口在通信时都需要携带此信息用于验证接口的访问权限。
成员相关
- user_id 员工ID,企业员工在企业内的唯一身份标记,即所谓“帐号”。
企业ID - - 管理员登录企业微信后台,在我的企业栏,最下面获取。
应用ID- - 进入应用管理栏,创建应用,名称随意。
创建后打开可以看到 agent_id 了。
此属性也是在上面页面,这个需要在管理员企业微信中查看。
员工ID,在通讯录栏查看某个员工具体详情可以看到。
获取到如上属性之后就需要我们代码方式获取这个属性值了。
请求参数格式如下:
https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=xxxx&corpsecret=xxxx
我们使用postman发起调用:
可以获取到access_token了。并且还有超时时间限制,所以在实际应用时要注意了。
拿到access_token我们就可以愉快通过api接口通过此应用群发、指定部门、个人等发消息了。
请求路径:
https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=xxx
但是好像并不行,我们根据提示访问:https://open.work.weixin.qq.com/devtool/query?e=60020
然鹅好像啥也没查询出来,看到下面提醒,请求参数要跟上debug=1,微信确实够体贴的,我们加上后再次请求后来这里查询,
但是查询出来的东西好像并没有什么有效信息帮助我们解决此问题,我们还是从返回信息找原因吧,大概意思是,IP不允许。
not allow to access from your ip
我们再来到微信管理后台,来到我们创建的这个应用下,发现有个地方需要配置可信任IP,抱着试试看的态度,去将报错返回里的IP信息在这里配置下。
然后配置IP之前要先配置可信任域名,不然IP不让你配置,郁闷,特别郁闷的是这有点像OAuth2.0授权类型,但是,你又不回调我,为什么要我配置这个呢?但是让配置就配置吧。
点击进入配置,作为个人学习,做做小程序这哪里有什么域名…只能想办法了,我们采用函数计算 FC方式解决。
我们登录阿里云:https://fcnext.console.aliyun.com/cn-hangzhou/services,没账号的话扫码登录,注册都不用这就是OAuth2。
查找 函数计算FC。
创建服务:创建函数:参数配置函数测试
这时候再回到企业微信后台,在配置页面下有个附件WW_verify_EC6czLpLCJyOtciI.txt,下载下来,获取里面的参数,替换到我们上面创建的函数的return值里,然后点击部署。
如我们上面创建的函数地址https://function-name-qiyeweixin-jbpjoccgod.cn-hangzhou.fcapp.run,填入
验证通过,这时候再配置可信任IP地址就行了。
填好IP地址后,再次请求发送:
可以看到发送成功,这时候看到我们微信:
到此我们通过应用方式发送消息方式完成了,这时候再删除掉如上配置的域名依据可以正常发送了,所以配置这个域名的意义是什么呢?
上面是给指定人发送,具体要发送见微信接口文档:发送应用消息
总结
拙技蒙斧正,不胜雀跃
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
当前文章:监控系统-2-创新互联
路径分享:http://pwwzsj.com/article/epejc.html