Skywalking 应用笔记

概念

Skywalking是一款分布式的系统 性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。SkyWalking是一款 观察性的分析平台和应用性能管理系统,提供了 分布式追踪、性能指标分析、应用服务依赖分析、可视化一体化等解决方案。

docker安装skywalking

java 复制代码
docker pull apache/skywalking-oap-server:9.2.0
docker pull apache/skywalking-ui:9.2.0
java 复制代码
docker run \
--name skywalking-oap \
--restart always \
-p 11800:11800 \
-p 12800:12800 -d \
--privileged=true \
-e TZ=Asia/Shanghai \
-e SW_STORAGE=elasticsearch \
-e SW_STORAGE_ES_CLUSTER_NODES=192.168.56.10:9200 \
-v /etc/localtime:/etc/localtime:ro \
apache/skywalking-oap-server


-e SW_STORAGE=elasticsearch:存储服务采用ElasticSearch  你的es容器
-e SW_STORAGE_ES_CLUSTER_NODES=192.168.56.10:9200:存储服务路径(IP+Port)


//使用的
docker run --name skywalking-oap -e TZ=Asia/Shanghai -p 12800:12800 -p 11800:11800 --restart always -d apache/skywalking-oap-server:9.2.0
java 复制代码
-e SW_OAP_ADDRESS=192.168.56.10:12800 指定Skywalking OAP服务地址



docker run -d --name skywalking-ui \
 --restart=always \
 -e TZ=Asia/Shanghai \
 -p 8880:8080 \
 --link skywalking-oap:oap \
 -e SW_OAP_ADDRESS=http://oap:12800 \
 apache/skywalking-ui:9.2.0

服务接入

java 复制代码
-javaagent:C:\Users\MGL\Documents\apache-skywalking-java-agent-9.1.0\skywalking-agent\skywalking-agent.jar
-DSW_AGENT_NAME=gateway-skywalking-service
-DSW_AGENT_COLLECTOR_BACKEND_SERVICES=192.168.56.11:11800

# skywalking-agent.jar 的路径位置
# 在Skywalking中显示的服务名称
# Skywalking的collector服务的IP及端口

持久化

默认h2,修改为mysql

修改里面 的application.yml

下载mysql相关文件,并解压寻找放到相关文件夹,https://downloads.mysql.com/archives/c-j/

自定义SkyWalking链路

java 复制代码
<dependency>
    <groupId>org.apache.skywalking</groupId>
    <artifactId>apm-toolkit-trace</artifactId>
    <version>8.8.0</version>
</dependency>
java 复制代码
//该方法就会被监控
@Trace
//返回信息和参数
@Tags({@Tag(key = "getCategoryTree", value = "returnedObj"),
            @Tag(key = "param", value = "arg[0]")})

returnedObj 这可能需要配合toString,不然可能无法序列化

集成日志框架

java 复制代码
<dependency>
    <groupId>org.apache.skywalking</groupId>
    <artifactId>apm-toolkit-logback-1.x</artifactId>
    <version>8.5.0</version>
</dependency>
java 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <!--  控制台日志输出的格式中添加tid  -->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
            <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
                <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level logger_name:%logger{36} - [%tid] - message:%msg%n</pattern>
            </layout>
        </encoder>
    </appender>

    <!-- skywalking grpc 日志收集 8.4.0版本开始支持 -->
    <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} [%tid] [%thread] %-5level %logger{36} -%msg%n</Pattern>
            </layout>
        </encoder>
    </appender>

    <root level="INFO">
        <appender-ref ref="console" />
        <appender-ref ref="grpc-log" />
    </root>

</configuration>
java 复制代码
plugin.toolkit.log.grpc.reporter.server_host=${SW_GRPC_LOG_SERVER_HOST:127.0.0.1}
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}


告警

相关推荐
nuo53420213 分钟前
黑马 C++ 学习笔记
c语言·c++·笔记·学习
阿噜噜小栈41 分钟前
最新国内可用的Docker镜像加速器地址收集
运维·笔记·docker·容器
zhuyixiangyyds9 小时前
day21和day22学习Pandas库
笔记·学习·pandas
jingjingjing111110 小时前
笔记:docker安装(ubuntu 20.04)
笔记·docker·容器
DreamBoy@11 小时前
【408--考研复习笔记】操作系统----知识点速览
笔记
UpUpUp……11 小时前
特殊类的设计/单例模式
开发语言·c++·笔记·单例模式
电星托马斯12 小时前
C++中顺序容器vector、list和deque的使用方法
linux·c语言·c++·windows·笔记·学习·程序人生
jingjingjing111112 小时前
笔记:代码随想录算法训练营day64:拓扑排序精讲、dijkstra(朴素版)精讲
笔记
jimmyleeee12 小时前
人工智能基础知识笔记七:随机变量的几种分布
人工智能·笔记·概率论
熬夜造bug13 小时前
LeetCode Hot100 刷题笔记(6)—— 栈、堆
笔记