当企业应用进入分布式微服务时代,应用服务依赖会越来越多,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/OpenSkywalking/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等

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐