微信API接口监控
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了微信API接口监控,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2641字,纯文字阅读大概需要4分钟。
内容图文
某日凌晨,由于线上突发微信玩家无法登陆,排查发现微信接口报错。
处理过程
- 立马群里通知研发,测试等,跟进情况
-
由于是大规模且只有微信登陆失败,通过测试反馈登陆视频,判断还未到和后端服务器连接,且其他登陆渠道可以登陆,排除后端服务故障可能,问题很可能在微信接口调用这一步
- 通知研发排查微信接口相关调用是否有异常,研发反馈api.weixin.qq.com接口超时,正常应该有返回。
- 在服务器上试了下curl api.weixin.qq.com,长时间无响应。确认是访问该地址异常。
- 2种可能,一种是服务器所在AWS地域到api.weixin.qq.com存在网络问题,一种是微信接口本身问题。
- 通知AWS排查是否存在相关网络原因,同时查看微信接口文档,发现默认api.weixin.qq.com接口节点所在是香港,还有两个接口sh.api.weixin.qq.com,sz.api.weixin.qq.com,测试其他两个接口可以访问,与此同时,AWS相关人员也反馈有其他公司遇到同类问题。
- 问题找到了,那么就只有切换接口地址,但是由于地址是写死在程序里,如果需要切换,需要重启相关程序,会影响业务,且国外正是白天,所以只有先批量本地解析。把 api.weixin.qq.com 本地解析到sh.api.weixin.qq.com 所在的ip,临时解决,快速恢复业务。
后续优化:
运维方向:
增加微信接口监控:
-
自定义脚本
#!/bin/bash #2020年5月7日16:40:38 #author:Vaedit ########################################### #微信api地址 apiaddr1='api.weixin.qq.com' apiaddr2='sh.api.weixin.qq.com' apiaddr3='sz.api.weixin.qq.com' #钉钉接口地址webhook webhook='https://oapi.dingtalk.com/robot/send?access_token=xxxx' #需要@的用户手机号 phonelist=(xxx xxx) #处理手机号格式 phones='' phone_lenth=${#phonelist[@]} phone_lenth_1=`expr $phone_lenth - 1` for ((i=0;i<$phone_lenth;i++));do if [ "$i" -eq 0 ];then phones="\"${phonelist[i]}\"," elif [ "$i" -eq "$phone_lenth_1" ];then phones="${phones}\"${phonelist[i]}\"" else phones="${phones}\"${phonelist[i]}\"," fi done # 发送钉钉消息 sendding(){ Message=${1} curl "$webhook" -H 'Content-Type: application/json' -d " {\"msgtype\": \"text\", \"text\": { \"content\": \"消息内容:$Message\" }, \"at\": { \"atMobiles\": [$phones], \"isAtAll\": false } }" } for i in `seq 1 3`;do eval "apiaddr=\$apiaddr${i}" return_code=$(curl -I -m 3 -o /dev/null -s -w %{http_code} $apiaddr) if [ "$return_code" -ne 301 ];then echo ${apiaddr}不可达 sendding "${apiaddr}无法访问,注意查看" fi done
通过crontab创建定时任务,触发告警
-
zabbix自定义监控项
#!/bin/bash #2020年5月7日16:40:38 #author:Vaedit ########################################### #微信api地址 apiaddr1='api.weixin.qq.com' apiaddr2='sh.api.weixin.qq.com' apiaddr3='sz.api.weixin.qq.com' errcode=1 for i in `seq 1 3`;do eval "apiaddr=\$apiaddr${i}" return_code=$(curl -I -m 3 -o /dev/null -s -w %{http_code} $apiaddr) if [ "$return_code" -ne 301 ];then errcode=0 fi done echo $errcode
程序方向:
提出建议,改进程序,是否能优化接口冗余,一个接口地址不行时,切换调用另一个接口。
内容总结
以上是互联网集市为您收集整理的微信API接口监控全部内容,希望文章能够帮你解决微信API接口监控所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。