回覆列表
  • 1 # 肥貓技術生活

    問在生產環境的問題,猜想題主已是python領域相當有開發經驗了。

    有以下幾點拙見,但是每個環境差別比較大,需具體分析:

    1、檢視伺服器系統記憶體、網路、cpu等工作日誌明細,以便定位

    檢視系統日誌,python(psutil等)也可以寫,但最好是這個python程序之外的程式去監控。把此程序作為黑盒去監控(如果監控python程序內部的每個變數的使用情況,也沒有意義)。

    2、360度無死角且動態日誌監控

    日誌模組如logging,pyinotify等,也可以自己寫一套日誌系統。每呼叫一個方法(包括子方法、私有方法、靜態方法等)、每個過程(如初始化類、呼叫資料庫連線或資料庫連結池)都需要寫入日誌。當然寫日誌的工具和模組還有很多。

    3、哪裡出錯哪裡發信息

    在監控的位置發給開發者(或負責人)簡訊或郵件,主要記錄出錯時的堆疊資訊等。第一時間得到通知。

    4、建立好異常跟蹤系統(甩鍋系統)

    做好異常傳遞跟蹤系統。意思是除正常的非同步捕獲外,呼叫(方法)介面如果不是自己發生的異常,就往上拋給上級,一級一級的傳遞,一級一級的甩鍋。

    5、版本控制系統

    一般有問題,有可能是版本更新的問題。這時候需要管理配置檔案系統,如管理兩套配置檔案系統等等。

    每次發版都有AB(藍綠)兩個版本,部分流量漸增的模式,以便查詢定位python出錯程式碼位置。

    6、資料庫版本控制,問題重現

    資料庫已插入資料按時段回滾,然後問題重現。

    7、能定位問題的方式還有很多,也和個人的經驗有很大關係。

    個人愚見,僅供參考

  • 中秋節和大豐收的關聯?
  • 馬刺如果得到克里斯.保羅可以抗衡勇士嗎?