分布式追踪 SkyWalking 学习

Apache SkyWalking 是一个高性能的分布式追踪系统,具备探针、收集器和Web UI,支持多语言和多种连接方式。文章介绍了其架构设计、模块化特性,包括SkyWalking Collector的集群发现和流模式。此外,详细展示了Java项目接入SkyWalking的过程,以及Web界面的各个视图,如拓扑图、应用视图和告警视图。文中还给出了Dubbo服务的示例程序,阐述了SkyWalking与Dubbo的集成和监控。
摘要由CSDN通过智能技术生成

整体主要分为三个部分:

1.skywalking-collector:链路数据归集器,数据可以保存在H2或ElasticSearch

2.skywalking-web:web的可视化管理后台,可以查看归集的数据

3.skywalking-agent:探针,用来收集和推送数据到归集器

特点

  • 性能好:针对单实例5000tps的应用,在全量采集的情况下,只增加 10% 的CPU开销
  • 支持多语言探针
  • 支持自动及手动探针:其中手动探针通过OpenTrackingApi、@Trace注解、trackId集成到日志中。

通过在应用程序中添加 SkyWalking Agent,就可以将接口、服务、数据库、MQ等进行追踪,将追踪结果通过 HTTP 或 gRPC 发送到 SkyWalking Collecter,SkyWalking Collecter 经过分析和聚合,将结果存储到 Elasticsearch 或 H2,SkyWalking 同时提供了一个 SkyWalking UI 的可视化界面,UI 以 GraphQL + HTTP 方式获取存储数据进行展示。

java项目接入skywalking

只需在项目目录下增加skywalking目录,然后再启动参数中增加jvm参数即可:
-javaagent:/path/to/skywalking-agent/skywalking-agent.jar
同时,我们也可以修改config文件夹中agent.config的相关配置

 

skywalking是一个开放源码的,用于收集、分析,聚合,可视化来自于不同服务和本地基础服务的数据的可观察的平台,
skywalking提供了一个简单的方法来让你对你的分布式系统甚至是跨云的服务有清晰的了解。
它更像是一个现代的系统性能管理,特别为分布式系统而设计。
skywalking提供了在很多不同的场景下用于观察和监控分布式系统的方式。
首先,像传统的方法,skywalking为java,c#,Node.js等提供了自动探针代理.
同时,它为Go,C++提供了手工探针。
随着本地服务越来越多,需要越来越多的语言,掌控代码的风险也在增加,
Skywalking可以使用网状服务探针收集数据,以了解整个分布式系统。
通常,skywalking提供了观察service,service instance,endpoint的能力。
service: 一个服务
Service Instance: 服务的实例(1个服务会启动多个节点)
Endpoint: 一个服务中的其中一个接口

  第二步:启动skywalking收集器服务,启动脚本是E:\apache-skywalking-apm-bin\bin\startup.sh,启动之后我们就可以访问http://localhost:8080/就可以看到skywalking的ui界面了。

               第三步:启动项目:  拷贝skywalking-agent目录到所需位置,探针包含整个目录,请不要改变目录结构,可修改agent.config配置agent.application_code=xxl-job为自己的应用名

              增加JVM启动参数,-javaagent:/path/to/skywalking-agent/skywalking-agent.jar。参数值为skywalking-agent.jar的绝对路径。

   通过以上几步之后,我们就可以直接访问我们的项目的接口,看skywalking界面上能否收集到我们的调用信息了。

下图为skywalking的首页,主要展示全局的性能信息。

   3.skywalking的traceId与日志组件(log4j,logback,elk等)的集成:

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值