skywalking系列(1)-skywalking入門


APM背景

隨着微服務、雲計算的發展,提升了應用的可用性、擴展性,同時也帶來了運維、監控的復雜性,當我們需要從眾多服務依賴中,查詢出問題根源也越來越難。

系統的監控分為三個維度:

1、Metrics 指標性統計
一個服務的正確率、成功率、流量、TPS、響應時間等

2、Tracing 分布式追蹤
從請求開始到結束,服務節點之間的調用鏈路

3、 Logging 日志記錄
程序在執行的過程中間發生了一些日志,會一幀一幀地跳出來給大家去記錄這個東西,這是日志記錄

分布式追蹤

分布式鏈路追蹤就是將一次分布式請求還原成調用鏈路,將一次分布式請求的調用情況集中展示,比如各個服務節點上的耗時、請求具體到達哪台機器上、每個服務節點的請求狀態等等。

依據Google Dapper論文,眾多分布式追蹤開源軟件出現,比如zipkin、skywalking.
分布式追蹤的基本邏輯:

skywalking簡介

特性

  1. 多種監控手段,語言探針和service mesh
  2. 多語言探針:Java、.NET Core、PHP、Node.JS、Go
  3. 支持多種數據存儲方式: ElasticSearch、MySql、TiDB、H2、Sharding Sphere
  4. 強大的UI可視化界面
  5. 高性能、高可用:agent端探針性能消耗低,服務端支持多種集群部署方式
  6. 支持多種指標的監控告警
  7. 微核+插件式擴展的高擴展框架

同類型對比

同類型的開源APM產品有:美圖點評的cat、韓國的pinpoint、老牌APM zipkin,綜合比較skywalking是之中最值得推薦使用的產品。

skywalking優勢

  1. 國內開源項目,社區成熟,且可與作者直接溝通
    交流方式、自主解決問題:
    qq群:392443393、901167865
    github提交 issue
    查閱 官方郵件列表
  2. 支持語言更多:Java、.NET Core、PHP、Node.JS、Go
  3. 支持java自動探針,代碼無侵入,只要簡單配置,就可以自動實現各種指標、調用鏈的埋點
  4. 眾多存儲選擇:ElasticSearch、MySql、TiDB、H2、Sharding Sphere
  5. 擴展性:支持模塊、插件的可拔插
  6. 支持java語言的幾十種插件,例如:Tomcat、RabbitMq、Kafka,且易於二次開發
  7. 性能:比其他開源軟件性能都強

詳細的比較可以參考網友寫的博文:
APM巔峰對決:skywalking P.K. Pinpoint
APM和調用鏈跟蹤

部署與使用

核心概念

解決實際問題

參考:
小城故事多-跟着小程學微服務-自己動手擴展分布式調用鏈https://www.jianshu.com/p/17a015848dc1
Skywalking調研與初步實踐https://www.jianshu.com/p/17a015848dc1
官網博客合集https://www.jianshu.com/p/17a015848dc1


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM