skywalking分布式服务调用链路追踪APM应用监控
前言
当企业应用进入分布式微服务时代,应用服务依赖会越来越多,skywalking可以很好的解决服务调用链路追踪的问题,而且基于java探针技术,基本对应用零侵入零耦合。
skywalking是什么,有什么用?
Skywalking 是一个APM系统,即应用性能监控系统,为微服务架构和云原生架构系统设计。它通过探针自动收集所需的指标,并进行分布式追踪。通过这些调用链路以及指标,Skywalking APM会感知应用间关系和服务间关系,并进行相应的指标统计。目前支持链路追踪和监控应用组件如下,基本涵盖主流框架和容器,如国产PRC Dubbo和motan等,国际化的spring boot,spring cloud都支持了
skywalaking总体架构分为三部分
skywalking-collector
:链路数据归集器,数据可以落地ElasticSearch,单机也可以落地H2,不推荐,H2仅作为临时演示用
skywalking-web
:web可视化平台,用来展示落地的数据
skywalking-agent
:探针,用来收集和发送数据到归集器
如何快速开始?
第一步:进入官方release地址
https://github.com/apache/skywalking/releases
分别下载skywalking-collector,skywalking-web,skywalking-agent,解压后,归集器和web应用都会有一个bin目录,单机模式下,不需要改配置,直接执行对应的脚本即可
第二步:配置需要监控的应用的agent探针
拷贝skywalking-agent目录到所需位置,探针包含整个目录,请不要改变目录结构,可修改agent.config配置agent.application_code=xxl-job为自己的应用名
增加JVM启动参数,-javaagent:/path/to/skywalking-agent/skywalking-agent.jar。参数值为skywalking-agent.jar的绝对路径。
第三步:打开web页面,查看拓扑信息,端口默认8080,所以一般没问题,打开localhost:8080就会看到如下的系统图例了
系统使用图例
系统主页各应用的拓扑图
系统实例,一个应用一个实例
系统jvm和cpu使用率等监控信息
服务调用的span详细信息
服务依赖树
服务调用链路
其他
1.除了可以使用自动探针上报数据外,还可以使用注解,用埋点的方式手动上传业务数据
2.还可以将traceId。集成到主流的日志框架中输出,如log4j,logback等。
上一篇:Java多线程与线程池技术分享
栏 目:JAVA代码
本文标题:skywalking分布式服务调用链路追踪APM应用监控
本文地址:http://www.codeinn.net/misctech/216719.html