[雪峰磁針石部落格]python應用效能監控工具簡介
監控簡介
監視工具捕獲,分析和顯示Web應用程式執行資訊。每個應用程式在Web堆疊的所有層都可能出現問題。監控工具通過展示幫助開發人員和運營團隊響應並修復問題。
捕獲和分析有關生產環境的資料對於主動處理Web應用程式的穩定性,效能和錯誤至關重要。
監視和日誌記錄的目的非常相似,它們有助於診斷應用程式的問題並幫助除錯。主要差異為日誌基於事件觸發,而監視是被動的背景資料集合。
例如發生錯誤時,通過異常處理程式中的程式碼顯式記錄該事件。同時,監視代理程式對程式碼進行檢測,並且不僅收集有關已記錄異常的資料,還收集有關函式和方法效能的資料。
作業系統和網路的監控關注: CPU、記憶體和磁碟利用率,網路頻寬和延遲
應用程式級別監視包含幾個方面。 基於應用程式是重讀,重寫還是受到快速波動的影響而有所不同。涉及應用程式警告和錯誤(500級HTTP錯誤)、應用程式碼效能、模板渲染時間、瀏覽器渲染應用程式的時間、資料庫查詢效能等。
開源監控專案
錯誤跟蹤
最初只是一個Python監控專案,但現在可以用於任何程式語言。
度量
是一個node.js網路守護程式,它監聽指標並聚合它們以便轉移到另一服務(如Graphite)。
儲存時間序列資料,並通過Django Web應用程式在圖形中顯示它們。
是一個用Ruby編寫的開源監控框架,但適用於任何程式語言Web應用程式。
Vimeo的Graph Explorer是一個基於Graphite的儀表板,具有附加功能和平滑的設計。
基於客戶端外掛的監控系統,可以將監控流量傳送到Munin節點,在那裡可以分析和視覺化資料。請注意,此專案是用Perl編寫的,因此必須在收集資料的節點上安裝Perl 5。
使用者監控
測量來自終端使用者瀏覽器的Web應用程式的效能,並將該資料傳送回伺服器以進行收集。
本文最新版本地址 https://china-testing.github.io/python_monitor.html
第三方監控服務
第三方監控軟體沒有部署和操作軟體的負擔。但是,託管監控成本不低,應用程式資料有危險,因此這些服務並不適合每個專案。
錯誤跟蹤
用於伺服器端和客戶端,用於捕獲和報告異常。 pyrollbar程式碼庫為Python Web應用程式提供了快速整合。還有一些常見Web框架的具體說明,例如Django和Pyramid。
是開源工具的託管版本,用於貨幣化並支援二次開發。
應用程式效能監控(APM)
提供應用程式和資料庫監控以及用於捕獲和分析堆疊中其他devleoper工具(如Twilio)的資料的外掛。
專為django而建。 Opbeat將效能指標,釋出跟蹤和錯誤記錄結合到一個簡單的服務中。
監控Django和Flask應用程式的效能,自動檢測檢視,SQL查詢,模板等。
狀態頁面
Web應用程式的正常執行時間和響應指標視覺化。
簡單的設定狀態頁面,用於監控應用程式的執行時間。
事件管理
如果應用程式存在穩定性,效能或正常執行時間問題,PagerDuty會向指定人員或組發出警報。
監控資源
How to Add Hosted Monitoring to Flask Web Applications及[How to Monitor Bottle Web Applications]
(https://www.fullstackpython.com/blog/monitor-python-web-applications.html)系列文章,介紹如何將託管監控新增到主要的Python Web框架應用程式。
Effortless Monitoring with collectd, Graphite, and Docker
Practical Guide to StatsD/Graphite Monitoring是一個詳細的指南,其中包含用於監控基礎架構的程式碼示例。
“10 Things They Forgot to Monitor
描述了超出磁碟和記憶體使用等標準。
四個Linux伺服器監控工具 Four Linux server monitoring tools
如何設計有用的監控和圖形視覺化 How to design useful monitoring and graphing visualizations
5 years of metrics and monitoring
是一個很好的演示,突出了視覺化。線圖通常不是最佳解決方案,而且它們被過度使用。
Collector Highlight Series有一篇關於StatsD
的文章,解釋瞭如何安裝它以及它是如何工作的。
survey on monitoring tools有一些關於開發人員和運營人員在其環境中使用的資料和圖表。
Ryan Frantz寫了一篇關於Solving Monitoring
的好文章,其中新的定義是基於當今複雜系統的監控手段,以及該實踐應如何發展。
監控學習清單
檢視下面的軟體即服務和開源監控工具。第三方服務往往更容易設定和託管資料。開源專案為您提供了更多控制權,但您需要為監控準備其他伺服器。
我的建議是在試用期內安裝New Relic的免費選項,以瞭解它如何與您的應用配合使用。它將使您對應用程式級監視工具的功能有所瞭解。
作為您的應用程式比例,請檢視如何使用Graphite設定其中一個開源監視專案,例如StatsD。這兩個專案的組合將為您提供對您正在收集和視覺化的系統指標的細粒度控制。
python監控庫參考:https://github.com/china-testing/python-api-tesing#%E7%9B%91%E6%8E%A7
參考資料
- 討論 釘釘群21745728 qq群144081101 567351477
- 本文最新版本地址
- 本文涉及的python測試開發庫 謝謝點贊!
- 本文相關海量書籍下載
- Monitoring
相關文章
- [雪峰磁針石部落格]multi-mechanize效能測試工具
- [雪峰磁針石部落格]tesseractOCR識別工具及pytesseract
- [雪峰磁針石部落格]滲透測試簡介1滲透測試簡介
- [雪峰磁針石部落格]python計算機視覺深度學習1簡介Python計算機視覺深度學習
- [雪峰磁針石部落格]介面測試面試題面試題
- [雪峰磁針石部落格]資料倉儲快速入門教程1簡介
- [雪峰磁針石部落格]pythontkinter圖形工具樣式作業Python
- [雪峰磁針石部落格]pythonGUI工具書籍下載-持續更新PythonNGUI
- [雪峰磁針石部落格]python標準模組介紹-string:文字常量和模板Python
- [雪峰磁針石部落格]python包管理工具:Conda和pip比較Python
- [雪峰磁針石部落格]可愛的python測試開發庫Python
- [雪峰磁針石部落格]python庫介紹-argparse:命令列選項及引數解析Python命令列
- [雪峰磁針石部落格]Bokeh資料視覺化工具1快速入門視覺化
- [雪峰磁針石部落格]2018最佳ssh免費登陸工具
- [雪峰磁針石部落格]2019-Python最佳資料科學工具庫Python資料科學
- [雪峰磁針石部落格]python爬蟲cookbook1爬蟲入門Python爬蟲
- [雪峰磁針石部落格]使用jython進行dubbo介面及ngrinder效能測試
- [雪峰磁針石部落格]大資料Hadoop工具python教程9-Luigi工作流大資料HadoopPythonUI
- [雪峰磁針石部落格]軟體自動化測試初學者忠告
- [雪峰磁針石部落格]2018最佳python編輯器和IDEPythonIDE
- [雪峰磁針石部落格]軟體測試專家工具包1web測試Web
- [雪峰磁針石部落格]python計算機視覺深度學習2影像基礎Python計算機視覺深度學習
- [雪峰磁針石部落格]資料分析工具pandas快速入門教程4-資料匯聚
- [雪峰磁針石部落格]web開發工具flask中文英文書籍下載-持續更新WebFlask
- [雪峰磁針石部落格]使用python3和flask構建RESTfulAPI(介面測試服務)PythonFlaskRESTAPI
- [雪峰磁針石部落格]flask構建自動化測試平臺1-helloFlask
- [雪峰磁針石部落格]flask構建自動化測試平臺3-模板Flask
- [雪峰磁針石部落格]pythonGUI作業:tkinter控制元件改變背景色PythonNGUI控制元件
- [雪峰磁針石部落格]selenium自動化測試工具python筆試面試專案實戰5鍵盤操作Python筆試面試
- [雪峰磁針石部落格]Python經典面試題:用3種方法實現堆疊和佇列並示例實際應用場景Python面試題佇列
- [雪峰磁針石部落格]計算機視覺opcencv工具深度學習快速實戰1人臉識別計算機視覺深度學習
- [雪峰磁針石部落格]python網路作業:使用python的socket庫實現ICMP協議的pingPython協議
- [雪峰磁針石部落格]計算機視覺opcencv工具深度學習快速實戰2opencv快速入門計算機視覺深度學習OpenCV
- [雪峰磁針石部落格]flask構建自動化測試平臺7-新增google地圖FlaskGo地圖
- [雪峰磁針石部落格]python人工智慧作業:Windows使用SAPI和tkinter用不到40行實現文字轉語音工具Python人工智慧WindowsAPI
- Flutter效能監控工具(1)--- Observatory簡介Flutter
- [雪峰磁針石部落格]pythonopencv3例項(物件識別和擴增實境)1-影像幾何轉換PythonOpenCV物件
- [雪峰磁針石部落格]python3.7極速入門教程1安裝:Linux(Ubuntu18.04)及Windows上安裝AnacondaPythonLinuxUbuntuWindows