SkyWalking入门搭建【apache-skywalking-apm-10.0.0】

Java学习文档

视频讲解


文章目录

  • 一、准备
  • 二、服务启动
    • 2-1、Nacos启动
    • 2-2、SkyWalking服务端启动
    • 2-3、SkyWalking控制台启动
    • 2-4、自定义服务接入 SkyWalking
  • 三、常用监控
    • 3-1、服务请求通过率
    • 3-2、服务请求拓扑图
    • 3-3、链路
  • 四、日志配置
  • 五、性能剖析
  • 六、数据持久化
    • 6-1、MySQL持久化
    • 6-2、ES持久化


SkyWalking 全链路跟踪入门,本篇文章只是简单的对SkyWalking的基础功能进行一个演示,并搭建它


一、准备


相关软件版本如下

  1. apache-skywalking-apm-10.0.0
  2. apache-skywalking-java-agent-9.2.0
  3. nacos-2.3.0
  4. MySQL-5.8
  5. SpringBoot 2.7.17
  6. JDK 11

在这里插入图片描述
在这里插入图片描述


二、服务启动


2-1、Nacos启动


2-2、SkyWalking服务端启动


配置文件修改

在这里插入图片描述


服务启动

在这里插入图片描述


如果服务启动没反应或报错,可以去看日志 /apache-skywalking-apm-bin/logs/oap.log


2-3、SkyWalking控制台启动


控制台端口号修改,默认是 8080,可能会冲突

在这里插入图片描述


启动

![
在这里插入图片描述


控制台

在这里插入图片描述


如果服务启动没反应或报错,可以去看日志 /apache-skywalking-apm-bin/logs/skywalking-webapp.log


2-4、自定义服务接入 SkyWalking


SkyWalking在Java中使用的是字节方式植入,是完全无代码侵入的

VM options 添加 ,就是刚刚上面下的 java-agent

-javaagent:/Users/xdx/Desktop/MyTestCode/service/skywalking/skywalking-agent/skywalking-agent.jar

Environment variables 添加,指定 SkyWalking的地址

-DSW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800;-DSW_AGENT_NAME=xdx-skywalking

效果图

在这里插入图片描述


操作步骤(idea 2023,其它版本百度操作)

在这里插入图片描述
在这里插入图片描述


配置好后,启动服务会看到下面的日志,就说明 java-agent.jar 读取到了

在这里插入图片描述


随机访问几下服务的接口,再去刷新SkyWalking 控制台,就可以看到了

在这里插入图片描述


三、常用监控


3-1、服务请求通过率


在这里插入图片描述


3-2、服务请求拓扑图


在这里插入图片描述


3-3、链路


在这里插入图片描述


四、日志配置


如果想要在SkyWalking中看到链路的日志,需要做一些配置

pom 引入

<!-- 如果想在项目代码中获取链路TraceId,则需要引入此依赖 -->
<dependency><groupId>org.apache.skywalking</groupId><artifactId>apm-toolkit-trace</artifactId><version>9.2.0</version>
</dependency>
<!-- 自定义功能相关, 比如自定义tag -->
<dependency><groupId>org.apache.skywalking</groupId><artifactId>apm-toolkit-opentracing</artifactId><version>9.2.0</version>
</dependency>
<!-- skywalking 日志记录 logback插件 -->
<dependency><groupId>org.apache.skywalking</groupId><artifactId>apm-toolkit-logback-1.x</artifactId><version>8.8.0</version>
</dependency>

logback.xml

<?xml version="1.0" encoding="UTF-8"?><configuration scan="true" scanPeriod=" 5 seconds"><!--控制台日志打印--><!-- with the MDC, set %X{tid} in Pattern --><!-- MDC是什么:MDC采用Map的方式存储上下文,线程独立的,子线程会从父线程拷贝上下文 --><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><!--skywalking日志上报--><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><!--日志文件--><appender name="fileAppender" class="ch.qos.logback.core.FileAppender"><file>./logs/gateway-all.log</file><encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder"><layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout"><Pattern>[%sw_ctx] [%level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %logger:%line - %msg%n</Pattern></layout></encoder></appender><root level="INFO"><appender-ref ref="stdout"/><appender-ref ref="grpc-log"/></root><logger name="fileLogger" level="INFO"><appender-ref ref="fileAppender"/></logger></configuration>

再次请求几次就可以看到请求的日志了,会有一个全局的 traceId

在这里插入图片描述


五、性能剖析


通过耗时分析来找到服务慢的问题,这个功能不是一直开启的,用的时候需要先创建任务,再请求

入口

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


任务配置

在这里插入图片描述


分析结果

配置好任务后,再去请求几次接口

在这里插入图片描述


六、数据持久化


6-1、MySQL持久化


  1. 在MySQL中创建一个数据库如: sky_walking
  2. 把 MySQL驱动包,放在 oap-lib 目录下(去自己的maven仓库拿)
  3. 修改 application.yaml 配置文件

在这里插入图片描述
在这里插入图片描述


6-2、ES持久化


ES 8.x开始(docker-compose安装、kibana使用、java操作)

在这里插入图片描述

只需要把存储选为 ES 就可以了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/49760.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业怎么才能用上大语言模型?

题图&#xff5c;视觉中国 以ChatGPT为起点&#xff0c;大语言模型&#xff08;LLM&#xff09;用全面的技术创新&#xff0c;以及在用户和产业中的应用落地&#xff0c;再次掀起了一个AI新浪潮。 与它的前辈们相比&#xff0c;大语言模型因为打通了语言这一人类沟通中介&…

关联查询(xml)

多对多&#xff1a;数据库中需要有中间表&#xff0c;在两个实体类中都加入对方的List集合&#xff0c;在写查询语句时写三张表

MySQL第一阶段:多表查询、事务

继续我的MySQL之旅&#xff0c;继续上篇的DDL、DML、DQL、以及一些约束&#xff0c;该到了多表查询和事务的学习总结&#xff0c;以及相关的案例实现&#xff0c;为未来的复习以及深入的理解做好知识储备。 目录 多表查询 连接查询 内连接 外连接 子查询 事务 事务简介…

RTK高精度定位终端的功能跟用途

RTK高精度定位终端是一种集成了高精度定位技术的手持或便携式设备&#xff0c;其功能和用途广泛且重要。以下是RTK高精度定位终端的主要功能和用途&#xff1a; 一、功能 高精度定位&#xff1a; RTK技术通过接收卫星信号和地面基站的差分修正数据&#xff0c;实现厘米级甚至…

开源安全信息和事件管理(SIEM)平台OSSIM

简介 OSSIM&#xff0c;开源安全信息和事件管理&#xff08;SIEM&#xff09;产品&#xff0c;提供了经过验证的核心SIEM功能&#xff0c;包括事件收集、标准化和关联。 OSSIM作为一个开源平台&#xff0c;具有灵活性和可定制性高的优点&#xff0c;允许用户根据自己的特定需…

Java Linux操作系统

1、操作系统是协助用户调度硬件工作&#xff0c;充当用户和计算机硬件之间的桥梁 2、Linux内核 提供了linux系统的主要功能 3、发行版Centos&#xff1a;内核应用程序 4、快照&#xff1a;保存虚拟机的状态&#xff0c;当虚拟机出现问题的时候&#xff0c;可以恢复原始的状态…

华为强制恢复出厂设置后如何恢复数据?数据重生的2个方法介绍

华为作为全球知名的手机品牌&#xff0c;其产品在市场上广受欢迎。然而&#xff0c;有时由于各种原因&#xff0c;我们可能需要强制恢复出厂设置&#xff0c;这往往意味着数据的丢失。那么&#xff0c;如何在华为强制恢复出厂设置后&#xff0c;让数据“重生”呢&#xff1f;本…

Postman测试工具详细解读

目录 一、Postman的基本概念二、Postman的主要功能1. 请求构建2. 响应查看3. 断言与自动化测试4. 环境与变量5. 集合与文档化6. 与团队实时协作 三、Postman在API测试中的重要性1. 提高测试效率2. 保障API的稳定性3. 促进团队协作4. 生成文档与交流工具 四、Postman的使用技巧1…

Ubuntu24.04 deb文件 安装 MySQL8.4

Ubuntu24.04 deb文件 安装 MySQL8.4 ubuntu24.04 deb文件安装 MySQL8 升级系统 sudo apt update sudo apt -y dist-upgrade 安装常用工具 sudo apt -y install vim net-tools wget gcc make cmake lrzsz安装依赖 sudo apt -y install libmecab2 libjson-perl libaio1t64下载…

JavaEE - Spring Boot 简介

1.Maven 1.1 什么是Maven 翻译过来就是: Maven是⼀个项⽬管理⼯具。基于POM(Project Object Model,项⽬对象模型)的概念&#xff0c;Maven可以通 过⼀⼩段描述信息来管理项⽬的构建&#xff0c;报告和⽂档的项⽬管理⼯具软件。 可以理解为&#xff1a;Maven是一个项目管理工具…

关键词查找【Knuth-Morris-Pratt (KMP) 算法】

一个视频让你彻底学懂KMP算法_哔哩哔哩_bilibili KMP算法的核心是利用匹配失败后的信息&#xff0c;尽量减少模式串与主串的匹配次数以达到快速匹配的目的。 public class KMP {// 计算部分匹配表 (LPS)private static int[] computeLPSArray(String pattern) {int[] lps new…

Arduino学习笔记1——IDE安装与起步

一、IDE安装 去浏览器直接搜索Arduino官网&#xff0c;点击Software栏进入下载界面&#xff0c;选择Windows操作系统&#xff1a; 新版IDE下载不需要提前勾选所下载的拓展包&#xff0c;下载好后直接点击安装即可。 安装好后打开Arduino IDE&#xff0c;会自动开始下载所需的…

npm publish出错,‘proxy‘ config is set properly. See: ‘npm help config‘

问题&#xff1a;使用 npm publish发布项目依赖失败&#xff0c;报错 proxy config is set properly. See: npm help config 1、先查找一下自己的代理 npm config get proxy npm config get https-proxy npm config get registry2、然后将代理和缓存置空 方式一&#xff1a; …

基于TensorFlow.js和COCO-SsD模型的实时目标检测网络应用程序

基于TensorFlow.js和COCO-SsD模型的实时目标检测网络应用程序 实现流程 访问用户的桌面录屏并且显示视频源&#xff08;位置居中&#xff09;。对视频源进行实时目标检测。在检测到的目标周围绘制边界框&#xff0c;并用它们的类别和检测置信度进行标记。在视频源下方显示一个…

openEuler安装docker,加速镜像拉取

文章目录 文章来源1.配置镜像源2.编辑配置文件3.安装想要的版本4. ~ 原神&#xff01;5.由于很多镜像无法拉取配置镜像源 文章来源 http://t.csdnimg.cn/zYDYy 原文连接 由于之前的仓库不让用且 1.配置镜像源 由于 国外的镜像仓库好多不让用 所以配置阿里的镜像源 yum-confi…

云计算复习--虚拟化技术

文章目录 虚拟化技术定义与原理虚拟机监视器&#xff08;VMM&#xff09;虚拟化技术服务器虚拟化存储虚拟化网络虚拟化应用虚拟化 关键技术新型虚拟化技术发展进展作业 虚拟化技术定义与原理 定义&#xff1a;虚拟化技术是一种将计算机物理实体&#xff08;如服务器、存储设备…

携手知“食”达人,黄浦两大商圈举办舌尖上的创意盛宴

7月22日&#xff0c;2024第十二届上海市“中华杯”职业技能竞赛——中华美食创新创意大赛活动暨第二届【南京路步行街】新中式美食创意大赛暨风情【淮海路】摩登名点创新大赛顺利落下帷幕。活动现场&#xff0c; “‘盛夏好食光’——特色创意美食焕新菜单” 正式发布。 大赛主…

养宠浮毛异味双困扰?性价比高的宠物空气净化器推荐

家里养了两只银渐层&#xff0c;谁懂啊&#xff01;一下班打开家门就看到家里飘满了猫浮毛雪&#xff0c;空气中还传来隐隐约约的异味。每天不是在吸毛的路上&#xff0c;就是在洗猫砂盆的路上&#xff0c;而且空气中的浮毛还很难清理干净&#xff0c;这是最让人头疼的问题。 …

Golang | Leetcode Golang题解之第282题给表达式添加运算符

题目&#xff1a; 题解&#xff1a; func addOperators(num string, target int) (ans []string) {n : len(num)var backtrack func(expr []byte, i, res, mul int)backtrack func(expr []byte, i, res, mul int) {if i n {if res target {ans append(ans, string(expr))}…

stm32——lcd液晶显示

一.液晶屏介绍 液晶显示屏是由液晶显示面板&#xff0c;电容触摸屏&#xff0c;pcb底板构成。在液晶显示屏里我们有带控制芯片的还有不带控制芯片的。对于低端的微控制器它不能直接控制液晶面板&#xff0c;所以需要给液晶控制面板而外增加一个液晶控制芯片。对于单片机stm32f4…