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

原文地址:https://www.cnblogs.com/terryMe/p/12255090.html