作者:張醫博
淺談
本章節主要講解上傳視頻到點播 VOD 存儲時,控制檯上顯示的狀態異常問題排查。
案例分析
案例
用戶調用 createuploadvideoauth 獲取上傳憑證成功後,開始上傳點播存儲,發現大量的視頻都是上傳中的狀態
排查
1)先了解下用戶點播上傳憑證上傳的流程
- 先通過 CreateUploadVideo 接口獲取一個有效的上傳地址。
- 然後再通過 OSS 上傳文件到點播的存儲 bucket
在這個過程中當獲取的點播上傳憑證後 ,控制檯就會把視頻的狀態改為上傳中。當用戶使用上傳憑證開始上傳到點播存儲 bucket 成功後,視頻的狀態才會變為已經上傳。如果只是獲取的上傳憑證而沒有上傳視頻的話,狀態就是一直上傳中,造成的誤判就是點播上傳任務堆積。
2)瞭解了上面的流程後我們展開分析。
- 既然已經出現了上傳中的狀態說明點播憑證肯定是獲取到了。那我關鍵就是判斷下是否發起了上傳的操作。
- 經過客戶端溝通反饋是已經發起了上傳操作,但是如何證明呢?讓客戶端在本地使用 wireshark 進行了抓包,wireshark 的使用方式可以 Google 看下;
3)分析抓包結果
通過抓包可以看到客戶端的上行 SYN 包一直發不出來,而且並不想網絡丟包,從重傳的規律看像是被安全策略或者路由不通導致的重傳。
於是讓客戶端做了基本的 ping 測試,發現連 ping 都失敗。
4)原因確定
經過和用戶的溝通發現,客戶端是有網絡出口的安全策略,必須加白才能正常訪問。客戶是獲取上傳憑證,但是發起上傳時一直沒有成功,但是用戶還沒有基本的網絡知識導致了問題的拖延。
5)視頻一直上傳中的狀態如何清理
- 1、 先調用這個接口。https://help.aliyun.com/document_detail/52838.html?spm=a2c4g.11186623.6.679.7fbd10d5VVkEQg
設置 status 參數為上傳中,會獲取到所有上傳中視頻的 videoid 。 - 2、然後調用這個接口去刪除上傳中的 videoid https://help.aliyun.com/document_detail/52837.html?spm=a2c4g.11186623.6.678.1a552b29OTV5Ya
總結
遇到類似問題,一定要先排除客戶端能否正常的獲取上傳憑證,獲取上傳憑證後能否正常上傳到點播存儲,一步步進行排除。
另外排查過程中一定要藉助網絡知識快速的定位問題。比如,Windows 端的 Wireshark ,Linux 端的 tcpdump。