微信支付网络监控工具部署指引
来源:互联网 发布:35岁程序员职业规划 编辑:程序博客网 时间:2024/05/16 17:23
微信支付网络监控工具部署指引
1. 简介
为定位解决公网网络偶现不稳定的问题,特提供此监控程序。
监控程序可监控商户服务器与微信支付服务器之间的网络质量,并将监控数据上报到远端,微信支付技术人员可利用监控数据进行问题的分析与定位。
监控程序有两种工作模式:常驻后台运行;一次性检查。
如果您对程序的逻辑与性能存在疑虑,请查看文档最后的附录“程序逻辑简介”。
2. 常驻后台运行
2.1 获取程序包
获取程序包,并拷贝到服务器/data目录(或其他目录)下。
文件地址:https://wx.gtimg.com/opitil/file/wxpaymonitor-stable.tgz
您可以直接在服务器上执行:
wget --no-check-certificate
https://wx.gtimg.com/opitil/file/wxpaymonitor-stable.tgz
或者,在页面打开链接,进行下载,然后上传至服务器
2.2 解压程序包
命令:tar -xvzf wxpaymonitor-stable.tgz
2.3 启动程序。
使用service.sh脚本启动程序。
命令:./service.sh start
2.4 输入“微信支付商户号”。
首次运行程序会要求您输入商户号。如下图所示。
商户号mch_id可以登录商户平台-账户概览页面获取,如果不清楚,请填0。
2.5 确认程序正常运行
./service.sh show
3. 一次性检查
./wxpaymonitor -t
对微信支付API服务进行一次性检查。
包含:接口网络耗时;获取LocalDns;测试微信支付服务器延时。
如下图所示。
图中各字段解释如下表所示。
字段名
含义
RemoteIp
DNS解析得到的IP
Total duration
接口总耗时
Lookup duration
DNS解析耗时
Connection duration
Connect耗时
Request duration
请求耗时
UserIp
商户服务器IP
LocalDns
LocalDns
WXPAY_IP
微信支付服务器IP
TIME
Ping测耗时
4. 其他功能
运行./wxpaymonitor -h,可以查看所有命令参数。如下图。
(1)./wxpaymonitor -i
展示程序的关键配置信息。
微信支付技术人员可能会要求您提供输出信息的前两行,以便在管理系统中能够查询到您的数据。如图所示。
(2)./wxpaymonitor -m
设置mch_id。
您初次启动时,可能设置mch_id为0。当您获取到准确的mch_id后,可通过此命令进行设置。重启服务后生效,重启命令:./service.sh restart。
(3)./wxpaymonitor -u
检测更新。
只提示是否存在新版本,不会自动进行更新操作。考虑到您可能对自动更新存在顾虑,所以没有实现自动更新的功能。您可以联系微信支付技术人员,获取最新版本。
5. 附录一:程序逻辑简
监控程序使用golang编写,程序常驻后台运行时,会做三件事。
5.1 对微信支付API发起一次GET请求
请求API是微信支付查单接口,https://api.mch.weixin.qq.com/pay/orderquery。通过发起一次GET请求,获取:域名解析耗时;connect耗时;域名解析IP列表。
5.2 对一个随机域名发起一次域名解析
随机域名是****.mmpay.imtmp.net,这个特定的域名解析时,最终会递归到腾讯的DNS根服务器,根服务器会拿到用户的LocalDns。
5.3 Ping测试api.mch.weixin.qq.com解析出的IP
对解析出的IP列表发送ICMP包,三次探测取平均值,得到ping测延时。
监控的结果会进行上报,上报地址为:https://api.mch.weixin.qq.com/opitil/mReport。微信支付内部提供管理平台对数据进行分析、绘图,辅助技术人员定位问题。
程序定时每分钟运行一次。
做一次性检查时,程序逻辑基本类似,只是将检测结果输出到控制台。
6. 附录二:程序目录结构
bin --- 工具脚本目录
data --- 数据文件目录
etc --- 配置文件目录
log --- 日志目录
service.sh --- 启停脚本
wxpaymonitor --- 程序二进制
- 微信支付网络监控工具部署指引
- 微信支付流程指引
- F1.微信支付网络请求工具
- 微信H5支付获取用户ip指引
- 微信支付工具类
- 微信支付工具类
- F2.微信支付签名工具
- 微信支付--工具类--处理二维码
- 微信支付--工具类--随机字符串
- 微信支付--工具类--创建签名
- 微信支付--工具类--MD5
- 微信支付--工具类--组包
- 微信支付订单工具类
- 微信APP支付工具类
- 微信支付签名工具类---Signature
- 支付宝、微信支付网络请求功能的实现
- 微信支付的封装工具类,集成微信支付
- 网络监控工具:IPTraf
- 安卓微信不回调授权界面,无法获取code原因
- Erlang启动过程分析
- 微信支付集成
- vs2008 the operation could not be completed. 未指定的错误
- Spring--->IOC(DI)使用方式
- 微信支付网络监控工具部署指引
- java中的多态
- 源码编译rrdtool提示找不到xxx.pc类问题处理
- 模块和包.深入Celery之应用配置/独立模块配置实践
- 避免主线程访问网络操作UI以及解析XMLDemo
- 目录
- Eclipse在高分辨率下图标变小的解决方法
- python自然语言处理之加载本地语料库
- 协议tcp/http常见问题&知识点