APM(Application Performance Management & Monitoring)一種基於雲的性能監控服務(SaaS),以非侵入式監聽探針,收集應用關鍵指標,生成分析報表展示,而且提供監控告警服務等。支持移動端、瀏覽器、服務器等多角度監控。提供了最終用戶體驗監控,應用拓撲的發現與可視化,用戶自定義業務分析,應用組件深度監控,IT運營分析等五個功能維度提供服務。相較於傳統的zabbix、nagios等運維監控工具,更專業、更深刻應用細節、更方便定位問題細節、更精確洞悉故障代價。java
國外比較知名的公司有new relice,國內有OneAPM、聽雲、透視寶、雲智慧、監控寶等。各家所提供服務同質化嚴重、差別不大,整個市場可謂是羣魔亂舞、多方角逐。其中以new relice做爲行業領軍,創立於2008年,於2014年順利IPO,管理層12人擁有70%的投票權,創始人Cirne持有24.2%的股份,也是最大股東。並由此開創了APM這一行業。ios
APM核心功能web
最終用戶體驗監控:測量應用和終端用戶之間全部交互方式的響應時間、健康情況。數據庫
應用拓撲映射:自動檢測和展現全部應用集羣所涉及的組件。須要知道在任意指定時間內使用了哪些應用組件,特別是當某個問題對用戶形成影響的時候。apache
業務事務分析:檢測和測量由單個用戶發起的請求所涉及的全部應用組件活動中的響應時間。提供分析儀表板很容易地看出哪個交易失敗的受到影響的用戶是誰。這與測量單個web頁面的響應時間是不一樣的維度。瀏覽器
應用組件深度監控:檢測和測量代碼在應用容器中執行耗時,離線轉儲分析,自動檢測線程死鎖,線程狀態,資源等待,線程堆棧內容和代碼分析等。緩存
IT運營分析:預測分析和容量規劃,以實現積極主動的管理。面向APM的生命週期管理,經驗上技術運行團隊老是疲於應對生產故障。支持性能預測,趨勢和容量的分析,當前階段的APM解決方案幫助技術運行團隊,及早進行性能分析,在應用性能出現瓶頸實現解決問題,減小停機、提升性能和優化利用資源。tomcat
性能衰減服務器
固然作到如此細緻入微的監控,其自己也帶來了必定幅度的性能衰減。筆者在雲服務平臺執行對比測試,採用以下配置:運維
類型 | 硬件 | 軟件&配置 |
應用服務 | 8核8G | java1.866 JAVA_OPTS="$JAVA_OPTS -Xms3200m -Xmx3200m -XX:NewRatio=3 -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=82 -XX:+CMSClassUnloadingEnabled" tomcat7.0.67 protocol="org.apache.coyote.http11.Http11NioProtocol" |
緩存服務 | 4G | Redis2.8.17 |
數據庫 | 8核16G | MySQL-5.5 |
測試場景:以查詢爲主,查詢緩存與查詢數據頻率爲1:1。
測試策略:利用jmeter做爲測試工具。
如下爲是否啓用監控探針對比結果圖:
筆者只使用過聽雲所提供的服務,如下爲經過官網描述收集到的對比結果:
指標 | New Relic | 聽雲 | OneAPM | 雲智慧 | 監控寶 | 透視寶 |
Ruby | O | X | O | O | O | O |
Python | O | O | O | O | O | O |
Java | O | O | O | O | O | O |
.Net | O | O | O | O | O | O |
PHP | O | O | O | O | O | O |
Node.js | O | O | O | O | O | O |
Android | O | O | O | O | O | O |
IOS | O | O | O | O | O | O |
win Phone | X | X | X | X | X | X |
Browser | O | O | O | O | O | O |
Apache | X | X | O | O | O | O |
NGINX | X | X | O | O | O | O |
Lighttpd | X | X | X | O | O | O |
Resin | X | X | X | O | X | X |
IIS | X | X | X | O | O | X |
Tomcat | X | X | O | X | O | O |
WebLogic | X | X | O | O | O | O |
WebSphere | X | X | O | O | O | X |
JBOSS | X | X | X | O | O | O |
Exchange-Server | X | X | X | O | O | X |
EQMail-Server | X | X | X | O | O | X |
標準Email | X | X | X | O | O | X |
Tuxedo | X | X | X | O | O | X |
MSMQ | X | X | X | O | X | X |
IBM MQ | X | X | X | O | X | X |
FioranoMQ server | X | X | X | O | X | X |
RabbitMQ | O | X | X | X | X | X |
Redis | O | O | O | O | O | O |
Memcached | X | X | O | O | O | O |
MySQL | O | O | O | O | O | O |
Postgres | O | X | X | O | X | O |
MongoDB | O | X | O | O | O | O |
ORACLE | X | O | X | O | O | O |
MS SQL Server | X | O | X | O | O | O |
DB2 | X | X | X | O | X | X |
Backup SQL | X | X | X | O | X | X |
Informix | X | X | X | O | X | O |
SQLite | X | X | X | O | X | X |
Docker | X | X | X | X | X | O |
總體來講雖然New Relic做爲行業領軍,可是國外的網站有被牆的風險。國內多家公司羣雄逐鹿,儼然已經是一片紅海。既然是賣服務,國內的公司相對而言更接地氣一點。相比較而言,雲智慧所提供的監聽指標更多,
但同時適合企業自身的纔是最好的。接觸過聽雲的銷售人員,我的感受對於自身產品的瞭解程度都不夠深刻,給予咱們的產品講解也沒有說明白。賣服務總體市場要能給予良好的服務體驗,明確的指導用戶使用。
總結
New Relic的創業故事裏提到,他湊夠10萬美圓啓動資金,獨自耗時1年開發出產品雛形。換算爲人民幣則大體爲60萬,在此簡單推算做爲國內企業而言,若是購買APM服務一年花費30萬,其實就能夠考慮自主開發。適合企業自身需求定製,同時爲大數據驅動的企業商業智能提供了龐大的數據支持。