当前位置: 首页 > article >正文

快速集成Skywalking 9(Windows系统、JavaAgent、Logback)

目录

    • 一、Skywalking简介
    • 二、下载Skywalking服务端
    • 三、安装Skywalking服务端
      • 3.1 解压安装包
      • 3.2 启动Skywalking
    • 四、关于Skywalking服务端更多配置
    • 五、Java应用集成skywalking-agent.jar
      • 5.1 下载SkyWalking Java Agent
      • 5.2 集成JavaAgent
      • 5.3 Logback集成Skywalking
      • 5.4 集成效果

一、Skywalking简介

SkyWalking是一个开源的可观察性平台,用于收集、分析、聚合和可视化来自服务和云原生基础设施的数据。SkyWalking提供了一种简单的方法来维护分布式系统的清晰视图,即使是跨云的。它是一个现代APM,专门为云原生的、基于容器的分布式系统而设计,支持对应用端Tracinig、Metrics、Logging的采集和展示。SkyWalking逻辑上分为四个部分:探测器、平台后端、存储和UI,下文中的Skywalking服务端安装主要包括了平台后端、存储(默认内存数据库H2)、UI,探测器则简要介绍了Java Agent集成。
在这里插入图片描述

二、下载Skywalking服务端

进入Skywalking下载页面:https://skywalking.apache.org/downloads/
在这里插入图片描述
点击[tar]下载 apache-skywalking-apm-9.6.0.tar.gz在这里插入图片描述

三、安装Skywalking服务端

关于安装说明可参见:
https://skywalking.apache.org/docs/main/v9.6.0/en/setup/backend/backend-setup/

注: 需本地安装:JDK 11 至 JDK17 均可

3.1 解压安装包

解压apache-skywalking-apm-9.6.0.tar.gz
在这里插入图片描述
SkyWalking的后端发行包由以下部分组成:

  • bin/cmd scripts: 位于/bin文件夹。包括启动Linux shell和Windows cmd脚本后端服务器和UI启动。
  • 后端配置: 位于/config文件夹中,包括后端配置文件:
    • application.yml
    • log4j.xml
    • alarm-settings.yml
  • 后端库: 位于/oap-libs文件夹中,后端的所有依赖项都可以在这里找到。
  • Webapp环境(前端): 位于Webapp文件夹中,UI前端jar文件可以在这里找到,连同它的webapp.yml设置文件

3.2 启动Skywalking

您可以使用bin/startup.bat(或Linux环境sh)以默认设置启动后端和UI,设置如下:

  • 后端存储默认使用H2(为了更容易开始)
  • 后端监听 0.0.0.0/11800的gRPC api0.0.0.0/12800的HTTP REST api
  • UI监听8080端口,请求127.0.0.1/12800运行GraphQL查询

在Java、DotNetCore、Node.js和Istio代理/探测中,
您应该将gRPC服务地址设置为ip/host:11800,
ip/host应该是您的后端所在的位置。

双击运行bin/startup.bat
在这里插入图片描述
运行成功后弹出如下两个窗口:
在这里插入图片描述
其中:

  • Webapp即对应前端UI(位于webapp目录下)
  • Collector即对应后端服务(位于oap-libs目录,配置位于config目录下)

在这里插入图片描述
运行成功后即可访问UI:http://localhost:8080
在这里插入图片描述

四、关于Skywalking服务端更多配置

更多配置可参见:
修改Mysql存储 - https://skywalking.apache.org/docs/main/next/en/setup/backend/backend-setup/#applicationyml
https://skywalking.apache.org/docs/main/next/en/setup/backend/backend-setting-override/

五、Java应用集成skywalking-agent.jar

集成Java Agent可参见:
https://skywalking.apache.org/docs/skywalking-java/v9.0.0/en/setup/service-agent/java-agent/readme/
https://skywalking.apache.org/docs/skywalking-java/v9.0.0/en/setup/service-agent/java-agent/setting-override/

5.1 下载SkyWalking Java Agent

https://www.apache.org/dyn/closer.cgi/skywalking/java-agent/9.0.0/apache-skywalking-java-agent-9.0.0.tgz
在这里插入图片描述

下载apache-skywalking-java-agent-9.0.0.tgz
在这里插入图片描述
解压后:
在这里插入图片描述

5.2 集成JavaAgent

通过Java命令行集成skywalking-agent.jar:

java
# skywalking agent
-javaagent:D:/programs/dev/java/skywalking-agent/skywalking-agent.jar
# 当前服务名
-Dskywalking.agent.service_name=luo-demo::api-sub
# Skywalking后端采集 - gRpc端口
-Dskywalking.collector.backend_service=127.0.0.1:11800
-jar myapp.jar

5.3 Logback集成Skywalking

logback日志集成可参见:
https://skywalking.apache.org/docs/skywalking-java/v9.0.0/en/setup/service-agent/java-agent/application-toolkit-logback-1.x/
https://github.com/apache/skywalking-satellite

maven依赖:

 <!-- logback sw集成 -->
<dependency>
    <groupId>org.apache.skywalking</groupId>
    <artifactId>apm-toolkit-logback-1.x</artifactId>
    <version>9.0.0</version>
</dependency>

resources/logback-spring.xml:

<configuration scan="true" scanPeriod=" 5 seconds">
    <!-- 默认日志配置 -->
    <springProfile name="default">
        <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <pattern>
                    %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
                </pattern>
            </encoder>
        </appender>
        <root level="INFO">
            <appender-ref ref="console"/>
        </root>
    </springProfile>

    <!-- SkyWalking配置(注:此处需通过spring.profiles.active=skywalking激活) -->
    <springProfile name="skywalking">
        <appender name="STDOUT" 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.mdc.TraceIdMDCPatternLogbackLayout">
                    <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%thread] %-5level %logger{36} -%msg%n</Pattern>
                </layout>
            </encoder>
        </appender>

        <appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
            <discardingThreshold>0</discardingThreshold>
            <queueSize>1024</queueSize>
            <neverBlock>true</neverBlock>
            <appender-ref ref="STDOUT"/>
        </appender>

        <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>

        <root level="INFO">
            <appender-ref ref="ASYNC"/>
            <appender-ref ref="grpc-log"/>
        </root>
    </springProfile>
</configuration>

5.4 集成效果

启动对应Java应用后,再次访问Skywalking UI:
http://localhost:8080

可以发现左侧菜单多出了【常规服务->服务】,切换到此【服务】菜单后,右侧即可查看已接入服务的追踪、日志等监控数据。

在这里插入图片描述

查看服务拓扑:
在这里插入图片描述

查看服务追踪信息:
在这里插入图片描述
查看服务日志:
在这里插入图片描述


http://www.kler.cn/news/135356.html

相关文章:

  • Django学习日志08
  • 详解JS遍历数组的十八种方法
  • 微分方程,含矩阵的指数函数
  • MAC上修改mysql的密码(每一步都图文解释哦)
  • html-网站菜单-点击菜单展开相应的导航栏,加减号可切换
  • LaTex 空行
  • 企业实现员工聊天和转账行为的实时监管
  • 见面礼——图论
  • 01_SHELL编程之变量定义(一)
  • 【Python】12 GPflow安装
  • 大批量合并识别成一个表或文档的方法
  • P8611 [蓝桥杯 2014 省 AB] 蚂蚁感冒(模拟)
  • UEFI实战——键盘操作
  • reset函数的使用
  • java桌面程序
  • leetcode刷题之哈希表的应用(1)
  • Java(三)(static,代码块,单例设计模式,继承)
  • Swagger-----knife4j框架
  • 迎接“全全闪”时代 星辰天合发布星海架构和星飞产品
  • 集群路径规划学习(一)之EGO-swarm仿真
  • Kettle 简介
  • 读《Segment Anything in Defect Detection》
  • Spring Boot 中使用 ResourceLoader 加载资源的完整示例
  • 使用 Amazon VPS 探索存储选项:实用指南
  • Flutter 3.16 中带来的更新
  • selenium长截图,截图整个页面
  • (C)一些题2
  • 成为电车销量的“中坚力量”,微小型车不能只有“低价”?
  • 场景交互与场景漫游-osgGA库(5)
  • 如何使用Fiddler进行弱网测试