Skywalking 应用笔记

概念

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

docker安装skywalking

docker pull apache/skywalking-oap-server:9.2.0
docker pull apache/skywalking-ui:9.2.0
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
-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

服务接入

下载到运行环境

-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
imagepng
修改里面 的application.yml
imagepng
imagepng
下载mysql相关文件,并解压寻找放到相关文件夹,https://downloads.mysql.com/archives/c-j/
imagepng
imagepng

自定义SkyWalking链路

<dependency>
    <groupId>org.apache.skywalking</groupId>
    <artifactId>apm-toolkit-trace</artifactId>
    <version>8.8.0</version>
</dependency>

imagepng

//该方法就会被监控
@Trace
//返回信息和参数
@Tags({
   @Tag(key = "getCategoryTree", value = "returnedObj"),
            @Tag(key = "param", value = "arg[0]")})

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

集成日志框架

<dependency>
    <groupId>org.apache.skywalking</groupId>
    <artifactId>apm-toolkit-logback-1.x</artifactId>
    <version>8.5.0</version>
</dependency>
<?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>
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}

imagepng
imagepng

告警

相关推荐

  1. Skywalking

    2024-02-06 00:58:01       20 阅读
  2. skywalking

    2024-02-06 00:58:01       19 阅读
  3. Skywalking告警规则示例

    2024-02-06 00:58:01       36 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-06 00:58:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-06 00:58:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-06 00:58:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-06 00:58:01       18 阅读

热门阅读

  1. SQL的函数类型

    2024-02-06 00:58:01       36 阅读
  2. 【工具】使用asciidoctor-pdf将adoc文件转换成pdf

    2024-02-06 00:58:01       32 阅读
  3. linux使用docker安装rancher

    2024-02-06 00:58:01       28 阅读
  4. PyTorch的 torch.unsqueeze() 和 torch.squeeze()方法详解

    2024-02-06 00:58:01       23 阅读
  5. 2.5 作业

    2024-02-06 00:58:01       25 阅读
  6. P2SH地址嵌套SegWit脚本

    2024-02-06 00:58:01       31 阅读
  7. #vu3# element plus表格的序号字段

    2024-02-06 00:58:01       33 阅读
  8. 【Android-Compose】Material3 新版下拉刷新 PullRefresh

    2024-02-06 00:58:01       31 阅读
  9. 【工具介绍】Herbie:浮点数运算化简工具

    2024-02-06 00:58:01       34 阅读
  10. Qt中设置全局字体

    2024-02-06 00:58:01       35 阅读
  11. MongoDB 聚合:$listSessions

    2024-02-06 00:58:01       35 阅读