JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

skywalking快速入门

wys521 2024-12-02 18:24:37 精选教程 18 ℃ 0 评论

概述

skywalking是一款分布式系统的应用程序性能监视工具,提供微服务的分布式追踪,服务网格遥测分析,度量聚合等功能。

整体架构

整个架构分为上、下、左、右四个部分:

上部分 Agent :负责从应用中,收集链路信息,发送给 SkyWalking OAP 服务器。目前支持 SkyWalking、Zikpin、Jaeger 等提供的 Tracing 数据信息。而我们目前采用的是,SkyWalking Agent 收集 SkyWalking Tracing 数据,传递给服务器。

下部分 SkyWalking OAP :负责接收 Agent 发送的 Tracing 数据信息,然后进行分析(Analysis Core) ,存储到外部存储器( Storage ),最终提供查询( Query )功能。

右部分 Storage :Tracing 数据存储。目前支持 ES、MySQL、Sharding Sphere、TiDB、H2 多种存储器。而我们目前采用的是 ES ,主要考虑是 SkyWalking 开发团队自己的生产环境采用 ES 为主。

左部分 SkyWalking UI :负责提供控台,查看链路等等。

环境搭建

本文为方便演示采用docker容器方式部署,数据存储采用es(同为docker容器部署).

安装Skywalking OAP

在安装时需要注意版本选择,注意oap的版本需要和我们的es版本一致.此次安装选择es7版本对应OAP版本选择skywalking-oap-server:8.6.0-es7.

docker pull apache/skywalking-oap-server:8.6.0-es7

启动Skywalking OAP容器

docker run \
--name skywalking-oap \
--restart always \
-p 11800:11800 \
-p 12800:12800 -d \
--privileged=true \
-e TZ=Asia/Shanghai \
-e SW_STORAGE=elasticsearch7 \
-e SW_STORAGE_ES_CLUSTER_NODES=192.168.2.201:9200 \
-v /etc/localtime:/etc/localtime:ro \
apache/skywalking-oap-server:8.6.0-es7

说明

-e SW_STORAGE=elasticsearch7:存储服务采用ElasticSearch7

-e SW_STORAGE_ES_CLUSTER_NODES=172.17.0.0.1:9200:存储服务路径(IP+Port)

安装Skywalking UI

Skywalking UI是对Skywalking收集到的数据进行分析展示的控制台服务,所以需要指定Skywalking OAP服务地址

docker pull apache/skywalking-ui:8.6.0

启动Skywalking UI容器

docker run \
--name skywalking-ui \
--restart always \
-p 8091:8080 -d \
--privileged=true \
--link skywalking-oap:skywalking-oap \
-e TZ=Asia/Shanghai \
-e SW_OAP_ADDRESS=192.168.2.201:12800 \
-v /etc/localtime:/etc/localtime:ro \
apache/skywalking-ui:8.6.0

说明

-p 8091:8080:Skywalking UI映射端口为8091

-e SW_OAP_ADDRESS=192.168.1.2:12800:指定Skywalking OAP服务地址

当两个容器都启动完毕之后,访问服务器地址加端口即可进入到skywalking控制台.

要实现对服务的监控需要在skywalking官网下载agent探针并且在服务中进行配置.

agent探针下载

在探针下载完成之后,需要在服务的主pom文件中进行配置依赖整合logback

<!-- skywalking 整合 logback -->
<dependency>
<groupId>org.apache.skywalking</groupId>
<artifactId>apm-toolkit-logback-1.x</artifactId>
<version>9.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.skywalking</groupId>
<artifactId>apm-toolkit-trace</artifactId>
<version>9.0.0</version>
</dependency>

增加logback.xml配置

<!-- skywalking 采集日志 -->
<appender name="sky_log" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender">
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
<pattern>[%tid] ${console.log.pattern}</pattern>
</layout>
<charset>utf-8</charset>
</encoder>
</appender>

<root level="info">
<appender-ref ref="sky_log"/>
</root>

探针下载完毕之后,在使用idea启动服务时须在对应springboot服务配置jvm参数

-javaagent:D:\sky\skywalking-agent.jar // agent包绝对路径
-Dskywalking.agent.service_name=study_logback // 所监控的服务名
-Dskywalking.collector.backend_service=127.0.0.1:11800 // OAP服务的地址

说明

-javaagent:D:\sky\skywalking-agent.jar:指定Skywalking代理(Java探针)的路径,它负责收集应用程序的性能指标和调用链路数据。

-Dskywalking.agent.service_name=study_logback:设置当前Java应用在Skywalking中的服务名称为“study_logback”,便于在监控界面中识别和区分不同服务。

-Dskywalking.collector.backend_service=127.0.0.1:11800:配置Skywalking后端Collector服务地址和端口,该Java应用通过此地址将收集到的数据上报至Skywalking OAP Server进行分析和存储。这里设置的是本地回环地址(localhost),端口号为11800。

启动测试

在启动之后可以看到加载了探针插件.

然后只需要调用接口,在返回sktwalking控制台查看

可以看到接口的调用时间,是否成功

以及各个服务之间的调用关系.

至此skywalking的快速入门便结束了,浅显理解欢迎各路大牛进行指正,可以在评论区进行留言,若有疑问也可以联系我们进行咨询.

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表