Administrator
Published on 2023-10-31 / 67 Visits
0

apache skywalking 基本使用

apache skywalking

一、基于docker 安装elasticsearch + skywalking

  1. docker安装elasticsearch

docker run --name es -p 19200:9200 -p 19300:9300 -d --restart always -e "discovery.type=single-node" elasticsearch:7.10.1

  1. docker安装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.0

  1. docker安装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代理文件

Downloads | Apache 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();