全链路追踪skywalking8.4安装并监控springboot项目

废话不多说 直接上干货

官网

https://skywalking.apache.org/downloads/

下载地址

https://archive.apache.org/dist/skywalking/

这里我们选择带es的版本 注意es版本不能小于7.x版本

下载命令

wget https://archive.apache.org/dist/skywalking/8.4.0/apache-skywalking-apm-es7-8.4.0.tar.gz

解压缩并移动到/usr/local/skywalking8.4.0

tar -zxvf apache-skywalking-apm-es7-8.4.0.tar.gz
mv apache-skywalking-apm-bin-es7 /usr/local/skywalking_es8.4.0

安装es

es官方docker库地址
这里安装7.11.2版本
docker pull elasticsearch:7.11.2
创建自定义网络(如果不需要kibanake可不加)
 
docker network create esnetwork

启动es

docker run -d -e ES_JAVA_OPTS="-Xms2g -Xmx2g" --name elasticsearch --net esnetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.11.2
访问ip+9200
安装成功。

配置es存储

打开skywalking_es8.4.0目录

cd /usr/local/skywalking_es8.4.0/

修改conf下的application.yml

vi config/application.yml

只需把storage下的selector改为elasticsearch7保存即可

修改skywalking下webapp端口 默认是8080 容易冲突 我们这里修改为10888

进入webapp目录 修改webapp.yml

启动

修改完成后执行bin目录下的startup.sh即可

./startup.sh

是不是很简单

监控

idea启动

将项目里的agent整个目录复制到idea每个模块中

修改agent目录下的config文件

连接skywalking的地址

collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:192.168.10.81:11800}

日志收集log配置

plugin.toolkit.log.grpc.reporter.server_host=${SW_GRPC_LOG_SERVER_HOST:192.168.10.81}

plugin.toolkit.log.grpc.reporter.server_port=${SW_GRPC_LOG_SERVER_PORT:11800}

plugin.toolkit.log.grpc.reporter.max_message_size=${SW_GRPC_LOG_MAX_MESSAGE_SIZE:10485760}

plugin.toolkit.log.grpc.reporter.upstream_timeout=${SW_GRPC_LOG_GRPC_UPSTREAM_TIMEOUT:30}

ps:

如果需要收集log则需要加入maven依赖 我这里是log4j2 要加入相关依赖

<dependency>

    <groupId>org.apache.skywalking</groupId>

    <artifactId>apm-toolkit-log4j-2.x</artifactId>

    <version>8.4.0</version>

</dependency>

log4j2-spring.xml配置(这里收集了mybatis和控制台info日志)

<?xml version="1.0" encoding="UTF-8"?>

<!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->

<!-- status log4j2内部日志级别 -->

<configuration status="OFF">

    <!-- 全局参数 -->

    <Properties>

        <Property name="pattern">%d{yyyy-MM-dd HH:mm:ss.SSS} [%traceId]  %-5level %logger{36} %L %M - %msg%xEx%n</Property>

    </Properties>

    <Appenders>

        <Console name="console" target="SYSTEM_OUT" follow="true">

            <PatternLayout>

                <pattern>${pattern}</pattern>

            </PatternLayout>

        </Console>

        <GRPCLogClientAppender name="grpc-log">

            <PatternLayout>

                <pattern>${pattern}</pattern>

            </PatternLayout>

        </GRPCLogClientAppender>

    </Appenders>

    <Loggers>

        <logger name="com.main.xxx.dao" level="DEBUG">%5p [%t] - %m%n</logger>

        <Root level="INFO">

            <AppenderRef ref="console"/>

            <AppenderRef ref="grpc-log"/>

        </Root>

    </Loggers>

</configuration>

log4j2配置介绍

https://skywalking.apache.org/docs/main/v8.4.0/en/setup/service-agent/java-agent/application-toolkit-log4j-2.x/

logback配置介绍

https://skywalking.apache.org/docs/main/v8.4.0/en/setup/service-agent/java-agent/application-toolkit-logback-1.x/

开启springmvc和tomcat和feign参数收集

plugin.springmvc.collect_http_params=true

plugin.tomcat.collect_http_params=true

plugin.feign.collect_request_body=true

在idea启动vm options里加入

-javaagent:/Users/mrwang/IdeaProjects/xxx/xxx/skywalking-agent.jar

-Dskywalking.agent.service_name=服务名称

-Dskywalking.collector.backend_service=192.168.10.81:11800

启动项目刷新skywalking即可看到相关信息

效果

可以看到我们的请求参数也可以拿到

 

猜你喜欢

转载自blog.csdn.net/u013600907/article/details/115114315