监控系统-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,但是对于做个简单监控告警足够了。但是其是发送到微信群里的,毕竟是名字就是群机器人么,虽然也可以在发送时候指定@的人,同时不可以是外部群。有时候我们一些信息只想要指定的人、指定的部门收到,那么就采用下面基于应用的推送方式了。

2. 应用推送

第二种基于应用方式,此方式略微复杂,简单介绍下接入流程;

  1. 创建应用->拿到应用的secret对应corpsecret,并且拿到企业ID对应corpid
  2. 后台获取到该应用的access_token ,
  3. 组装发送参数
  4. 调用接口发送消息

下面介绍下详细流程以及过程遇到的问题。

二、应用推送方式 1. 基本概念
  • 企业相关

    1. corp_id 企业ID,每个企业都拥有唯一的企业身份标记。
  • 应用相关

    1. agent_id 应用ID,应用在当前企业下的唯一ID。
    2. secret secret是企业应用里面用于保障数据安全的“钥匙”,每一个应用都有一个独立的访问密钥,为了保证数据的安全,secret务必不能泄漏。
    3. access_token 应用接口凭证,是去企业微信的后台获取信息时的重要票据,由 corp_id 和 secret 产生。所有接口在通信时都需要携带此信息用于验证接口的访问权限。
  • 成员相关

    1. user_id 员工ID,企业员工在企业内的唯一身份标记,即所谓“帐号”。
2. 参数获取 corp_id

企业ID - - 管理员登录企业微信后台,在我的企业栏,最下面获取。
在这里插入图片描述

agent_id

应用ID- - 进入应用管理栏,创建应用,名称随意。
在这里插入图片描述
创建后打开可以看到 agent_id 了。
在这里插入图片描述

secret

此属性也是在上面页面,这个需要在管理员企业微信中查看。
在这里插入图片描述

user_id

员工ID,在通讯录栏查看某个员工具体详情可以看到。
在这里插入图片描述

access_token

获取到如上属性之后就需要我们代码方式获取这个属性值了。
请求参数格式如下:

https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=xxxx&corpsecret=xxxx

我们使用postman发起调用:
在这里插入图片描述
可以获取到access_token了。并且还有超时时间限制,所以在实际应用时要注意了。

3. 消息推送

拿到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方式解决。
在这里插入图片描述

4. 函数计算 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://scyanting.com/article/epejc.html