廢話不多說 直接上幹貨
官網
Downloads | Apache SkyWalking
下載下傳位址
Index of /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庫位址 Docker Hub 這裡安裝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配置介紹
Dependency the toolkit, such as using maven or gradle | Apache SkyWalking
logback配置介紹
logback plugin | Apache SkyWalking
開啟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即可看到相關資訊
效果
可以看到我們的請求參數也可以拿到