参考文档:
https://skywalking.apache.org/downloads/
https://archive.apache.org/dist/skywalking/
https://wu-sheng.github.io/STAM/README-cn?spm=a2c6h.12873639.article-detail.156.68a44f99azOfOZ
简介
对大型分布式系统进行监视,可视化和故障排除是一项重大挑战。当今使用的一种常见工具是分布式跟踪系统(例如Google Dapper),它基于跟踪数据检测拓扑和度量。当今拓扑检测的一大局限性在于,只能根据给定的时间窗口的跟踪数据来推断服务之间的依赖关系。这会导致更多的延迟和内存使用,因为在高度分布式的系统中,每个客户端和服务端追踪信息都必须在数百万个随机RPC请求中进行匹配。更重要的是,如果客户端和服务器之间的RPC持续时间长于先前的设置时间窗口或跨越两个窗口,则它可能无法匹配。
环境信息
- es(可选,默认h2)
- skywalking-oap-server
- skywalking-ui
实践
- step1 Docker部署es
- setp2 Docker部署skywalking-oap-server
- setp3 Docker部署skywalking-ui
- setp4 微服务集成链路日志
- setp5 运行脚本(run.sh)增加 agent
- setp6 运行验证
step1 Docker部署es
docker run --name yz-elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms84m -Xmx512m" -v D:\soft\ES\config\elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -d elasticsearch:7.7.0
- elasticsearch.yml
http.host: 0.0.0.0
setp2 Docker部署skywalking-oap-server
docker run -d --restart always --name yz-skywalking -p 1234:1234 -p 11800:11800 -p 12800:12800 -e TZ=Asia/Shanghai -e SW_STORAGE=elasticsearch7 -e SW_STORAGE_ES_CLUSTER_NODES=10.88.40.40:9200 apache/skywalking-oap-server:8.4.0-es7
- SW_STORAGE:可选参数,不写默认h2
- SW_STORAGE_ES_CLUSTER_NODES:如果选择ES7,则添加此参数并指定ES7地址
setp3 Docker部署skywalking-ui
docker run -d --restart always --name yz-skywalking-ui -p 8088:8080 -e SW_OAP_ADDRESS=http://10.88.40.40:12800 apache/skywalking-ui:8.4.0
- SW_OAP_ADDRESS:指向skywalking-oap-server 12800端口
setp4 微服务集成链路日志
<dependency>
<groupId>org.apache.skywalking</groupId>
<artifactId>apm-toolkit-logback-1.x</artifactId>
<version>${skywalking.version}</version>
</dependency>
- 这里选择
Logback
-gRPC reporter
<appender name="grpc-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>%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%thread] %-5level %logger{36} -%msg%n</Pattern>
</layout>
</encoder>
</appender>
setp5 运行脚本(run.sh)增加 agent
java -javaagent:/apps/bin/agent/skywalking-agent.jar -Dskywalking.agent.service_name=$yz_server_name -Dskywalking.collector.backend_service=$yz_skywalking_service_host:$yz_skywalking_service_port -Dskywalking.plugin.toolkit.log.grpc.reporter.server_host=$yz_skywalking_service_host -Dskywalking.plugin.toolkit.log.grpc.reporter.server_port=$yz_skywalking_service_port $APP_OPTIONS -Djava.net.preferIPv4Stack=true -jar /apps/app.jar
setp6 运行验证
- 访问skywalking-ui >> 拓扑图查看
- …
评论区