網站經常崩潰,企業應該如何做好監控?

藍海訊通OneAPM發表於2018-11-09

近些年,我們的生活因網際網路發生了翻天覆地的改變。從搜尋引擎到即時通訊,從電子購物再到文化娛樂,從吃飯住宿到旅遊出行,網際網路已經滲透到我們生活的方方面面。但網站、應用崩潰的事情似乎每天都在發生,而且節假日發生系統崩潰的機率更高。

網站經常崩潰,企業應該如何做好監控?

國慶後第一天上班,深圳市政府的網站全部淪陷。特別是近些年網站崩潰的問題,似乎時刻都在發生,而且很多都是直接影響民生的重要機構,比如今年6月25日,黑龍江高考查分通道網站崩潰;4月15日,河南沁陽市政府官網訪問激增後臺崩潰;2014年11月27日,12306網站崩潰3小時;2014年2月26日,北京小客車搖號指標系統網站崩潰......

究其原因,很大層面是因為我們當下的網際網路環境已經變得異常複雜,網路、伺服器、作業系統,還有應用及元件都可能導致網站崩潰問題。即使我們投入大量的人力物力,做了很多細緻的保障工作,也難免7×24小時100%地保證網站的正常運轉。那麼,如何高效地利用網際網路資源來實時完成線上的監控工作,已經成為企業運維人員最為關注的話題。

內部服務端監控和外部業務可用性監控

一般而言,企業監控的維度主要分兩個方面:內部服務端監控和外部業務可用性監控。針對內部服務端監控,很多公司採用Zebbix、Nagios、Prometheus、Smokping、Grafana、Cacti、PageDuty等工具進行綜合性的資料採集。而分析內容主要包括網路、作業系統、中介軟體、應用、資料庫等等。從一定意義上講,內部的監控體系建立的越完善,出現服務問題的概率就越低。

但是,內部監控體系只是解決了內部網路及服務端的問題,當外部訪問監控缺失時,偶發性的故障就會出現,稍有疏忽就會出現類似假日期間網站不能訪問的問題。如何有效地杜絕真實使用者外網訪問的異常問題,及時發現系統故障呢?我們首先從以下幾個問題分析故障產生的一些常見原因,同時也會給出一些建議:

網路擁塞丟包率高

造成網路擁塞造丟包率高、網路包重傳頻繁的原因,一般來說主要是路由器入口頻寬被大量佔用網路資源不足造成的。併發使用者容量評估不充分應用系統訪問量過高時,導致網路接入頻寬超載,每逢節假日很多票務網站流量激增,都會出現類似問題,像汽車搖號網站就會出現週期性高峰值阻塞的現象。

建議:網站接入頻寬做好充分預估,建議外網接入入口根據歷史同比資料,提前做好資源擴充準備。如果頻寬擴充較困難,建議網路層入口做好限流準備,保證已連線使用者的業務穩定性。

服務端記憶體洩漏

服務端有較嚴重Bug,當系統長時間使用時會出現細碎的記憶體洩漏。一般來說,出現此類問題的主要原因是應用長時間穩定性測試,沒有進行驗證或驗證的不充分。所以當系統長時間使用過程中,記憶體資源就會耗盡,最終導致應用崩潰。

建議:在系統投產前,我們建議在外部網路進行超過72小時的穩定性測試,保證寫入資料和生產一個月左右的資料量相同。主要觀察應用系統是否可以正常釋放資源,持續穩定的提供服務,如有問題儘早發現儘早解決。

外網DNS劫持

DNS劫持又稱域名劫持,是指在劫持的網路範圍內攔截域名解析的請求,把真實IP地址對映為虛假IP地址,從而達到讓訪問使用者分流到虛假的網站。最終目的是分流使用者後從事一系列的非法行為,如盜取使用者賬號,獲取使用者的隱私資訊等。DNS劫持已經超出了內部監測的範疇,應用服務提供商一般無法阻止或控制影響範圍。

建議:採用多域名接入方式,接入域名的解析服務依託兩家以上的服務提供商;採用分散式DNS監測服務,定期監測伺服器DNS解析的效率建立完善的DNS白名單,出現異常訪問時,及時進行告警。

業務系統故障

導致業務系統故障原因很多,如系統做大範圍更新時,引數配置錯誤導致使用者地址跳轉到非指定地址,雖然HTTP返回碼正確,但業務卻無法訪問;業務系統的部分模組異常,導致區域性業務無法正常訪問。如某個證券公司把生產地址配置成了測試庫地址,導致使用者資料全部被汙染,交易正常但是業務資料全部錯誤。一般來說,這樣的問題如果沒有外部訪問監測系統很難被發現,監控過程中需要實時分析服務端返回資料,進而判斷業務是否正常。

其實,在系統投入生產前,我們建議從以下幾個維度提前考慮應用系統的穩定性及效能問題:

  • 網路入口頻寬是否充足?
  • 外網應用系統是否使用CDN加速將靜態資源與業務應用分離?
  • 網路負載均衡是否配置合理,是否能夠完成動態的容量擴充?
  • 作業系統及應用引數是否做了針對應用系統的區域性或全域性優化?
  • 資料庫是否使用讀寫分離,提高了使用者訪問時的併發效能?
  • 資料庫SQL語句是否做過深度調優?
  • 應用系統是否可以經受3-5倍以上的併發使用者壓力?
  • 應用系統是否支援動態擴容,擴容效率在5分鐘以內完成?

如果在系統上線的測試階段已經做到了以上內容的檢查和優化,那麼系統已經進入了一個比較良性的健康工作狀態。接下來的工作就可以進入到線上運維的監控期,而針對線上運維監控,建議監控如下的內容:

  • 基礎網路監控:延時、抖動、丟包、平均響應時間、上傳速率、下載速率;
  • DNS監控:解析時間、解析正確、匹配正確、可用性、錯誤率;
  • CDN監控:總響應時間、重定向時間、DNS時間、建立連線時間、SSL時間、後端響應時間、內容下載時間、可用率、錯誤率、下載速度、下載檔案大小;
  • API監控:可用性、平均可用率、載入時間、不可用錯誤率、運營商指標、錯誤分類(連線超時、響應超時、連線失敗、連線被斷開)、監控閾值設定;
  • 事務監控:可用性、可用性區域、載入時間、不可用錯誤率、運營商指標、請求詳細資訊分析、監控閾值設定;
  • 業務可用性監控:業務響應時間、業務傳送速率、業務接收速率、業務成功率、業務失敗率、不同區域的業務執行狀態、業務資料錯誤詳細分析等。

綜上所述,監控系統的核心要求就是能夠及時對異常資料進行報警,以及對大量資料的秒級收集、分類、分析和展示。因此多維的通知體系和智慧的告警通知是保證業務正常持續執行的重要環節。

作為國內領先的 IT 運維管理軟體廠商。OneAPM始終秉承「讓運維更加智慧」的企業使命,致力於為中國的企業級使用者提供一體化的智慧運維解決方案。而業務監測平臺CT就能夠很好的幫助企業實現7*24小時監控網站,真正為企業提供高效、穩定的智慧運維管理服務。 業務質量監測平臺核心功能介紹

Ping監控:能夠記錄全國各個監控點訪問服務的網路平均響應時間、可用性以及丟包率。

網站經常崩潰,企業應該如何做好監控?
DNS監控:能夠實時記錄全國的監測點訪問DNS伺服器效能狀態資訊,包括平均響應時間、解析錯誤、DNS劫持狀態等等,可以從運營商、地域資訊不同維度進行資料分析。

網站經常崩潰,企業應該如何做好監控?
CDN監控:主要指標包括平均響應時間、可用率、內容載入時間,錯誤監控資訊主要包括HTTP錯誤、網路故障、訪問超時等錯誤,業務質量監測平臺能夠智慧分析CDN節點資訊執行狀態,自動白名單過濾功能可最大限度避免CDN被劫持修改,保證了外部使用者訪問系統的安全性。

網站經常崩潰,企業應該如何做好監控?

API監控:監控全國區域呼叫API介面的平均響應時間、可用率、網路連線時間、錯誤率等資訊。如果在 API 監控的結果裡設定了匹配響應碼,就會進行響應碼內容比對操作,當響應碼不匹配時就會在應答監控中提示錯誤,有效的監控了介面的實時可用性。

網站經常崩潰,企業應該如何做好監控?
事務監控:使用XUL和XPCOM技術及對應元件進行開發,業務質量監測平臺通過模擬瀏覽器,記錄使用者訪問過程中的操作行為,最終將採集資料整合,儲存為執行指令碼。指令碼記錄使用者在瀏覽器中操作的一系列流程,事務監測過程中可呼叫不同區域的全國節點模擬使用者的真實訪問,記錄每個步驟的成功失敗狀態和響應時間。

網站經常崩潰,企業應該如何做好監控?
業務可用性監控:可通過錄制或手工編寫業務指令碼的方式,生成真實使用者端的全流程業務監測指令碼,通過線上多監測點測試生產系統的可用性,監測內容包含業務響應時間、業務吞吐量、業務成功率、業務失敗率、錯誤詳情等資訊,詳情分析頁通過服務端的返回報文監測匹配功能可一鍵定位系統錯誤的真實原因。

網站經常崩潰,企業應該如何做好監控?
報警設定:所有業務型別均可設定報警閾值,閾值內容包括平均響應時間、可用性、錯誤型別等資訊,當監測資料符合告警閾值時,告警資料可通過郵件、簡訊、微信、語音等多種通知方式實時通知運維人員,有效降低處理問題時間視窗,最大限度的降低企業損失。

網站經常崩潰,企業應該如何做好監控?

總結

總的來說,業務質量監測平臺能夠實現鏈路級、業務級的主動探測功能,同時能夠按時、按需、按地域的定製化監控內容。此外,豐富的閾值設定也便於企業實現靈活、動態、全天候的監控管理,真正做到快速定位問題,精準分析故障,同步推送告警的一體化模式。

值得一提的是,經過近10年的技術積累與沉澱,OneAPM公司的產品和服務在運營商、金融、政府、網際網路、教育、能源、交通、軍工等多個行業獲得了廣泛應用和一致好評,目前擁有企業客戶超過1000多家,包括中國移動、中國電信、李寧、上汽集團、太平洋保險、國家電網、優信二手車、福田汽車、長城汽車、中泰證券、銀信財富等等。

相關文章