java開發零侵入APM性能監控技術效果展示
1.項目名稱:零侵入APM-性能監控項目
2.開發語言:Java語言
3.開發環境:
客戶端:Eclipse+Tomcat7 +JDK-1.7 + elasticsearch1.7+ kibana4.7
服務器:阿里雲服務器
項目功能:
1.WEB服務響應性能監控
2.SQ執行性能監控
3.服務執行性能監控
4.系統異常監控
一、什麼是APM性能監控技術?
APM是一款通過 java 字節碼進行插樁採集監控數據,以elasticsearch做為存儲,kibana 做為WEB展示界面的應用性能監控系統。與其它監控系統不同之處在於其無侵入性,可以在不改任何一行代碼或配置的情況下對JAVA應用性能進行監控統計。
核心技術要點:
1. APM監控系統發展現狀及常用技術
2. Javaagent的開發與部署
3. Javassist字節碼插樁技術的使用
4. SQL語句埋點插樁採集
5. Spring Service,Spring Control的埋點插樁採集
6. elaticsearch 的基本使
7. kibana 的使用與圖表製作
二、什麼是字節碼插樁技術?
Java字節碼插樁 是比AOP 動態代理更先進的埋點採集技術,無論是大名鼎鼎的淘寶鷹眼還是開源的pinpoint或是商業化的聽雲、oneApm無一例外都使用該技術實現。
所以掌握字節碼插樁技術對於一個基礎組件架構師來說必不可少,但因其更底層導致技術複雜性使真正掌握這門技術的人不併不多。但是隨著大數據時代的來臨,精確採集用戶行為日誌及系統監控等需要,致使掌握這類技術人才非常緊缺。
JAVA技術日新月異各種框架與第三方平臺組件層出不重,或許有一天機械式的簡單編程將會被其取代,但深入到底層原理技術沒有哪個平臺和服務所能取代之!因為它就是構成這些基礎平臺的技術。
項目截圖展示:
圖一:基於Kibana展示SQL執行日誌圖表:
圖二:分時段顯示日誌量折線圖:
圖三:展示指定時間段內URL請求分佈圖:
圖四:統計指定時間段內URL請求次數、平均響應時間、最小用時、最大用時圖