微信支付網(wǎng)絡(luò)監(jiān)控工具指引
為定位解決公網(wǎng)網(wǎng)絡(luò)偶現(xiàn)不穩(wěn)定的問題,特提供此監(jiān)控程序。
監(jiān)控程序可監(jiān)控商戶服務(wù)器與微信支付服務(wù)器之間的網(wǎng)絡(luò)質(zhì)量,并將監(jiān)控數(shù)據(jù)上報到遠(yuǎn)端,微信支付技術(shù)人員可利用監(jiān)控數(shù)據(jù)進(jìn)行問題的分析與定位。
監(jiān)控程序有兩種工作模式:常駐后臺運行;一次性檢查。
如果您對程序的邏輯與性能存在疑慮,請查看文檔最后的附錄“程序邏輯簡介”。
- 1、獲取程序包
獲取程序包,并拷貝到服務(wù)器/data目錄(或其他目錄)下。
文件地址:https://wx.gtimg.com/opitil/file/wxpaymonitor-stable.tgz
您可以直接在服務(wù)器上執(zhí)行:
wget --no-check-certificate
https://wx.gtimg.com/opitil/file/wxpaymonitor-stable.tgz
或者,在頁面打開鏈接,進(jìn)行下載,然后上傳至服務(wù)器
- 2、解壓程序包
命令:tar -xvzf wxpaymonitor-stable.tgz
- 3、啟動程序。
使用service.sh腳本啟動程序。
命令:./service.sh start
- 4、輸入“微信支付商戶號”。
首次運行程序會要求您輸入商戶號。如下圖所示。
商戶號mch_id可以登錄商戶平臺-賬戶概覽頁面獲取,如果不清楚,請?zhí)?。
- 5、確認(rèn)程序正常運行
./service.sh show
./wxpaymonitor -t
對微信支付API服務(wù)進(jìn)行一次性檢查。
包含:接口網(wǎng)絡(luò)耗時;獲取LocalDns;測試微信支付服務(wù)器延時。
如下圖所示。
圖中各字段解釋如下表所示。
字段名 |
含義 |
---|---|
RemoteIp |
DNS解析得到的IP |
Total duration |
接口總耗時 |
Lookup duration |
DNS解析耗時 |
Connection duration |
Connect耗時 |
Request duration |
請求耗時 |
UserIp |
商戶服務(wù)器IP |
LocalDns |
LocalDns |
WXPAY_IP |
微信支付服務(wù)器IP |
TIME |
Ping測耗時 |
運行./wxpaymonitor -h,可以查看所有命令參數(shù)。如下圖。
- (1)./wxpaymonitor -i
展示程序的關(guān)鍵配置信息。
微信支付技術(shù)人員可能會要求您提供輸出信息的前兩行,以便在管理系統(tǒng)中能夠查詢到您的數(shù)據(jù)。如圖所示。
- (2)./wxpaymonitor -m
設(shè)置mch_id。
您初次啟動時,可能設(shè)置mch_id為0。當(dāng)您獲取到準(zhǔn)確的mch_id后,可通過此命令進(jìn)行設(shè)置。重啟服務(wù)后生效,重啟命令:./service.sh restart。
- (3)./wxpaymonitor -u
檢測更新。
只提示是否存在新版本,不會自動進(jìn)行更新操作。考慮到您可能對自動更新存在顧慮,所以沒有實現(xiàn)自動更新的功能。您可以聯(lián)系微信支付技術(shù)人員,獲取最新版本。
監(jiān)控程序使用golang編寫,程序常駐后臺運行時,會做三件事。
- (1)對微信支付API發(fā)起一次GET請求
請求API是微信支付查單接口,https://api.mch.weixin.qq.com/pay/orderquery。通過發(fā)起一次GET請求,獲取:域名解析耗時;connect耗時;域名解析IP列表。
- (2)對一個隨機(jī)域名發(fā)起一次域名解析
隨機(jī)域名是****.mmpay.imtmp.net,這個特定的域名解析時,最終會遞歸到騰訊的DNS根服務(wù)器,根服務(wù)器會拿到用戶的LocalDns。
- (3)Ping測試api.mch.weixin.qq.com解析出的IP
對解析出的IP列表發(fā)送ICMP包,三次探測取平均值,得到ping測延時。
監(jiān)控的結(jié)果會進(jìn)行上報,上報地址為:https://api.mch.weixin.qq.com/opitil/mReport。微信支付內(nèi)部提供管理平臺對數(shù)據(jù)進(jìn)行分析、繪圖,輔助技術(shù)人員定位問題。
程序定時每分鐘運行一次。
做一次性檢查時,程序邏輯基本類似,只是將檢測結(jié)果輸出到控制臺。
bin --- 工具腳本目錄
data --- 數(shù)據(jù)文件目錄
etc --- 配置文件目錄
log --- 日志目錄
service.sh --- 啟停腳本
wxpaymonitor --- 程序二進(jìn)制