废话不多说 直接上干货
官网
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配置介绍
logback配置介绍
开启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即可看到相关信息
效果
可以看到我们的请求参数也可以拿到