apache skywalking
一、基于docker 安装elasticsearch + skywalking
docker安装elasticsearch
docker run --name es -p 19200:9200 -p 19300:9300 -d --restart always -e "discovery.type=single-node" elasticsearch:7.10.1docker安装skywalking 服务
docker run --name skywalking-oap -p 11800:11800 -p 12800:12800 --restart always -d -e SW_STORAGE=elasticsearch -e SW_STORAGE_ES_CLUSTER_NODES=172.17.0.1:19200 apache/skywalking-oap-server:9.2.0docker安装skywalking ui
docker run --name skywalking-oap-ui --restart always -d -p 12334:8080 -e SW_OAP_ADDRESS=http://172.17.0.1:12800 apache/skywalking-ui:9.2.0二、spring cloud 项目注册到skywalking
1.下载skywalking代理文件
2.吧代理文件放入一个固定的位置,然后执行jar启动命令
nohup java -javaagent:/skywalking-agent/skywalking-agent.jar -DSW_AGENT_NAME=service_name -DSW_AGENT_COLLECTOR_BACKEND_SERVICES=23.13.5.167:11800 -Xmx1g -jar xxx.jar > ./xxx.out 2>&1 &3、分布式日志管理
1.引入相关jar包
<dependency>
<groupId>org.apache.skywalking</groupId>
<artifactId>apm-toolkit-trace</artifactId>
<version>8.16.0</version>
</dependency>
<dependency>
<groupId>org.apache.skywalking</groupId>
<artifactId>apm-toolkit-logback-1.x</artifactId>
<version>8.16.0</version>
</dependency>2.添加logback或者log4j的配置(这里是logback的,log4j自己去百度)
<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>skywalking %level %logger - %msg%n</pattern>
</layout>
<charset>utf-8</charset>
</encoder>
</appender>3.统一返回值中添加一个追踪ID
String traceId = TraceContext.traceId();