APM系统调研

APM理解

APM(Application Performance Management/Monitor)通常包含三个分支:指标(Metrics)、追踪(Tracing)、日志(Logging),三者之间的关系[4]描述很到位。简单说Metrics是时序性的数值指标,通常用于服务监控;Tracing针对请求链,对理解复杂应用的拓扑结构,发现性能问题很有用;日志通常记录连续的事件信息。三个分支相互交融,业界的APM系统分别有所侧重。

  • Metrics是传统系统监控手段,出现的比较早,典型的有Prometheus[5]、Ganglia[6]
  • Tracing随着大型分布式的出现而兴起,以google的Dapper[7]为开山鼻祖,呈现百花齐放的状态。比较著名的有:国人开源的skywalking[1],韩国人开源的pinpoint[8],twitter的zipkin[9],美团的CAT[10]。[2]从基本原理、接入方式、功能对比、页面UI、数据存储多个方面进行了对比。[11]对skywalking、pinpoint进行了更细致的比较。
  • Logging历史悠久,时下流行的为ELK stack[12]

TODO:…

参考资料

  • [1]skywalking overview
  • [2]应用监控之调用链跟踪选型之Zipkin、Pinpoint、SkyWalking、CAT
  • [3]Skywalking分布式追踪与监控:起始篇
  • [4]Metrics, tracing 和 logging 的关系
  • [5]prometheus overview
  • [6]Ganglia Monitor System
  • [7]Dapper, a Large-Scale Distributed Systems Tracing Infrastructure
  • [8]Pinpoint overview
  • [9]zipkin architecture
  • [10]CAT github
  • [11]APM巅峰对决:skywalking P.K. Pinpoint
  • [12]ELK stack

你可能感兴趣的:(大数据)