官方文档:Documentation | Apache SkyWalking
中文博客:博客 | Apache SkyWalking
skywalking apm服务端搭建
1、去skywalking官网下载(Downloads | Apache SkyWalking),我选择的是8.7.0版本 apache-skywalking-apm-es7-8.7.0.tar.gz
测试部 > Centos7环境skywalking-8.7.0版本搭建及项目应用 > image2022-12-30 9:25:31.png
2、上传apache-skywalking-apm-es7-8.7.0.tar.gz到指定文件夹,执行tar -zxvf apache-skywalking-apm-es7-8.7.0.tar.gz
测试部 > Centos7环境skywalking-8.7.0版本搭建及项目应用 > image2022-12-30 9:27:56.png
测试部 > Centos7环境skywalking-8.7.0版本搭建及项目应用 > image2022-12-30 9:28:5.png
3、修改config/application.yml配置 , 存储方式修改诚es7 ,版本要对, es要首先启动确保能访问: http://10.1.125.212:9200
测试部 > Centos7环境skywalking-8.7.0版本搭建及项目应用 > image2022-12-30 10:14:6.png
测试部 > Centos7环境skywalking-8.7.0版本搭建及项目应用 > image2022-12-30 10:1:16.png
4、修改webapp/webapp.yml
测试部 > Centos7环境skywalking-8.7.0版本搭建及项目应用 > image2022-12-30 9:32:1.png.
5、启动bin/startup.sh
测试部 > Centos7环境skywalking-8.7.0版本搭建及项目应用 > image2022-12-30 9:32:48.png
查看启动日志:tail -1999f logs/skywalking-oap-server.log
测试部 > Centos7环境skywalking-8.7.0版本搭建及项目应用 > image2022-12-30 9:54:33.png
6、关闭方式
netstat -ntap | grep 端口
kill -9 pid
测试部 > Centos7环境skywalking-8.7.0版本搭建及项目应用 > image2022-12-30 9:33:51.png
6、在浏览器访问: http://10.1.125.212:7080/
测试部 > Centos7环境skywalking-8.7.0版本搭建及项目应用 > image2022-12-30 9:34:47.png
pms-backend调用接口:
测试部 > Centos7环境skywalking-8.7.0版本搭建及项目应用 > image2022-12-30 10:12:3.png
等待几十秒后监控采集数据:
追踪:
测试部 > Centos7环境skywalking-8.7.0版本搭建及项目应用 > image2022-12-30 10:12:47.png
拓扑图:
测试部 > Centos7环境skywalking-8.7.0版本搭建及项目应用 > image2022-12-30 10:13:21.png
三、skywalking agent部署
1、去skywalking官网下载(Downloads | Apache SkyWalking) skywalking-agent.zip
2、上传到指定目录,使用unzip命令解压缩
测试部 > Centos7环境skywalking-8.7.0版本搭建及项目应用 > image2022-12-30 9:36:19.png
四、项目中配置使用
需要项目所在服务器部署agent端,启动项目时指定使用agent即可
Dockerfile 添加拷贝;COPY skywalking-agent /app/skywalking-agent
测试部 > Centos7环境skywalking-8.7.0版本搭建及项目应用 > image2022-12-30 9:37:35.png
,修改JVM参数,用来启动agent
其中 -javaagent指向为你本地agent的地址
其中 -Dskywalking.agent.service_name为自定义的服务名称
其中 -Dskywalking.collector.backend_service为grpc地址,是oap-server的grpc地址,
export sk=/app/skywalking-agent/skywalking-agent.jar
java -javaagent:$sk \
-Dskywalking.agent.service_name=pms -Dskywalking.collector.backend_service=10.1.125.212:11800 \
-jar pms-backend.jar -Dfile.encoding=utf-8 --spring.profiles.active=test -XX:-UseBiasedLocking -XX:NewRatio=2 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/apps/
测试部 > Centos7环境skywalking-8.7.0版本搭建及项目应用 > image2022-12-30 9:36:57.png
1.2、项目引入java agent,添加日志采集
项目承自第二篇《skywalking指南—创建dubbo项目及追踪》中的项目,项目已实现链路追踪功能。本文将实现日志采集功能。
依赖引入,由于项目的日志框架为logback,需要引入logback plugin(其他日志框架的maven plugin详见官网地址)
版权声明:本文为CSDN博主「hxy793518971」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hxy793518971/article/details/122046939
<!-- 如果想在项目代码中获取链路TraceId,则需要引入此依赖 -->
<dependency>
<groupId>org.apache.skywalking</groupId>
<artifactId>apm-toolkit-trace</artifactId>
<version>8.7.0</version>
</dependency>
<!-- skywalking logback插件 -->
<dependency>
<groupId>org.apache.skywalking</groupId>
<artifactId>apm-toolkit-logback-1.x</artifactId>
<version>8.7.0</version>
</dependency>
检查两个项目所有日志打印的结果,是否有断链。确认无断链后,就要做日志采集,将日志推到oap-server。官方文档中gRPC reporter could forward the collected logs to SkyWalking OAP server,具体方式即将appender中的class替换为org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender。以下为最终态的日志配置。
<configuration>
<property name="APM_PATTERN"
value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%thread] %-5level %logger{36} -%msg%n" />
<!-- skyWalking日志采集 -->
<appender name="APM_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.mdc.TraceIdMDCPatternLogbackLayout">
<Pattern>${APM_PATTERN}</Pattern>
</layout>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="APM_LOG"/>
</root>
</configuration>
在application.properties中添加mybatis日志,logging.level.com.example.start.test.mapper=debug开启mybatis日志。再次启动项目,通过apifox/postman访问api接口。在skywalkingUI的日志中查看采集到的日志。多个服务,单次请求的追踪id是一致的。
测试部 > Centos7环境skywalking-8.7.0版本搭建及项目应用 > image2022-12-30 9:50:59.png
FAQ:
1 instance 报错, 解决方式 项目的关联 到 sprint-boot-admin-server ,详细部署参考 Docker-搭建-spring-boot-admin: - 测试部 - Wiki - Confluence
测试部 > Centos7环境skywalking-8.7.0版本搭建及项目应用 > image2022-12-30 17:49:25.png
11-19
1257
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
11-08
1501
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
05-28
479
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)