侧边栏壁纸
  • 累计撰写 39 篇文章
  • 累计创建 51 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

k8s/docker部署springboot集成skywalking(v8.4.0)

叶子
2023-08-14 / 0 评论 / 0 点赞 / 219 阅读 / 805 字

参考文档:
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

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

简介

对大型分布式系统进行监视,可视化和故障排除是一项重大挑战。当今使用的一种常见工具是分布式跟踪系统(例如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 微服务集成链路日志

参考官方文档:https://skywalking.apache.org/docs/skywalking-java/next/en/setup/service-agent/java-agent/application-toolkit-logback-1.x/

<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

参考官方文档:https://skywalking.apache.org/docs/skywalking-java/next/en/setup/service-agent/java-agent/readme/#plugins

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 >> 拓扑图查看
0

评论区