一、Portal功能對象
Skywalking(簡稱SW)有如下菜單和功能:
- Dashboard(儀表界面)
- 監控執行個體的數量資訊
- 請求熱力圖(反映:請求數量和響應時間)
- 應用平均告警數量
- 應用吞吐量(cpm,每分鐘調用次數)
- 最慢的服務Top10
- Topology(拓撲界面)
- 使用者、應用、各種中間件的調用關系圖
- 應用之間的調用吞吐量(cpm)和平均響應時間(rt)
- 應用的服務可用率(SLA)
- Application(應用界面)
- 應用基本資訊(ip、host等)
- 應用調用關系圖
- 曆史執行個體程序清單
- 執行個體程序的平均吞吐量
- 執行個體程序的平均響應時間
- 執行個體程序的CPU、記憶體、JVM情況
- 執行個體程序的請求量走勢圖
- 應用的慢服務Top10
- Service(服務界面)
- 服務平均吞吐量(cpm)、平均響應時間(RT)、可用率(SLA)
- 服務依賴關系圖以及調用的平均吞吐量和響應時間
- Alarm(告警界面)
- 顯示伺服器、應用、服務的告警資訊
- Trace(鍊路追蹤界面)
- 支援按各種條件查詢調用
- 檢視調用的span鍊路資訊(時序圖)
- 可以看到各span的耗時、異常和其他資訊(不同的span支援不同的資訊,例如DB類型的,可以列印出sql)
部分截圖
sw-portal
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TPRVGM4dkY2B3MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL5kzNzIDMykDMxMDOwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
sw-trace
sw-app
Pinpoint(簡稱PP)有如下菜單和功能:
- 主儀表界面
- 應用調用關系圖
- 請求熱力點圖和柱狀圖(反映:請求數量和響應時間)
- 時間段内總的調用成功、失敗次數
- 響應時間統計圖
- 支援按時間選擇檢視調用清單(跳到鍊路追蹤頁面)
- 鍊路追蹤界面
- 檢視調用的span鍊路資訊(時序圖)
- 可以看到各span的耗時和類名、方法名(如果DB操作,可以列印出sql和參數)
- 檢閱界面(inspector)
- 看不太懂,隻知道有非常詳細的JVM監控資訊
部分截圖
pp-portal
pp-trace
二、個人使用感受和優缺點對比
Skywalking的不足:
1、針對單個應用的請求熱力圖,隻能看到請求數量,看不到響應時間分布。
2、應用界面,不能直覺看到時間段内的請求總數量及錯誤數量。
3、JVM的監控資訊,SW沒有PP全面。
4、調用鍊資訊,SW預設隻顯示入口群組件(如MySQL)調用處的資訊,而PP還會顯示SpringBean方法的調用資訊,更豐富實用,當然SW也可以開啟更詳細的資訊,但是會顯示Bean内部方法的所有調用,顯得備援(例如 A調B調C,顯示B和C被調用的入口方法就可以了,不用顯示B調用自己内部方法的過程)。
5、SW更新快,BUG較多,值得優化和改進的地方也很多,雖然功能強,但是用起來不一定順手和實用,還需要時間斟酌和打磨。相對而言,PP功能成熟,功能雖然少,但是都比較經典,用起來比較順手。
6、SW調用鍊裡面DB類型隻能看到SQL,看不到參數化SQL的傳值,而PP可以。
7、PP支援實時監控、頁面實時重新整理,而SW不支援。
Pinpoint的不足:
1、不支援異步執行的調用鍊追蹤(比如多線程、MQ),而SW通過注解可以支援。
2、功能比較少,例如缺少平均響應、平均吞吐量等資料,缺少慢服務的統計。
3、調用鍊資訊,可以擴充和豐富的程度,要低于SW(SW可以通過注解擴充)。
另外:
- 對應用性能的影響,實測兩者差不多,SW稍微好一些(吞吐量比PP大概高5%——我們做過單個span的性能測試,具體資料就不貼出來了)。
- 實時告警通知,暫未測試,我個人希望有 服務異常、JVM異常、慢服務、高負載等的訂閱和通知功能,然而貌似這兩個APM都沒有很直覺的展示出有這方面的能力。
總的來說:
- PP相比後起之秀SW,要更穩定、易用,而且并沒有明顯短處;
- SW号稱的異步調用鍊追蹤(是有代碼侵入性的),我認為PP隻要稍加改進也可以支援;
- 小公司,推薦用PP,等SW成熟之後再說吧(目前為beta版);
- 有二次開發實力的公司,需進一步對比兩者的可擴充性、二次開發效率,選擇一個更能滿足自己定制需求的APM。
版本資訊:
Pinpoint 1.6.2
Skywalking 5.0.0-Beta