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

SpringCloud链路追踪SkyWalking-第二章-部署搭建及高可用

目录

  • 架构
  • 下载
  • mysql持久化
    • 修改配置文件使用mysql持久化
    • 修改mysql的连接配置
    • 添加mysql驱动
    • 重新启动自动建表
    • 引入gateway插件
    • 常见错误
      • 少了mysql驱动
  • 启动
    • 前端界面
  • Skywalking高可用搭建
    • 1 .修改 config/application.yml 文件
    • 2、配置UI服务webapp.yml文件的listOfServers,写两个地址
    • 3、启动服务测试

架构

在这里插入图片描述

  • skywalking agent和业务系统绑定在一起,负责收集各种监控数据
  • skywalking oapservice是负责处理监控数据的,比如接受skywalking agent的监控数据,并存储在数据库中,接受skywalking webapp的前端请求,从数据库查询数据,并返回数据给前端。skywalking oapservice通常以集群的形式存在。
  • skywalking webapp,前端界面,用于展示数据
  • 用于存储监控数据的数据库,比如mysql,es

下载

  • 地址1:https://skywalking.apache.org/downloads/
    在这里插入图片描述

  • 地址2:https://downloads.apache.org/skywalking/
    在这里插入图片描述

wget https://dlcdn.apache.org/skywalking/9.1.0/apache-skywalking-apm-9.1.0.tar.gz
wget https://dlcdn.apache.org/skywalking/java-agent/8.11.0/apache-skywalking-java-agent-8.11.0.tgz

特别注意:8.8.1之后的版本已经不再自带agent文件夹,需要单独下载apache-skywalking-java-agent-8.11.0.tgz
在这里插入图片描述
在这里插入图片描述

目录结构

  • webapp:UI前端(web监控页面)的jar包和配置文件;
  • oap-libs:后台应用的jar包,以及它的依赖jar包,里边有一个server-starter・*.jar就是启动程序;
  • config:启动后台应用程序的配置文件,是使用的各种配置
  • bin:各种启动脚本,一般使用脚本startup.*来启动web页面和对应的后台应用;
    • oapService.*:默认使用的后台程序的启动脚本;(使用的是默认模式启动,还支持其他模式,各模式区别见启动模式)
    • oapServicelnit.*:使用init模式启动;在此模式下,OAP服务器启动以执行初始化工作,然后退出
    • ServiceNolnit.*:使用noinit模式启动;在此模式下,OAP服务器不进行初始化。
    • webappService.*: UI前端的启动脚本;
    • startup.:组合脚本,同时启动。叩Service.:、webappService.* 脚本;
  • agent:
    skywalking-agent.jar:代理服务 jar 包
    config:代理服务启动时使用的配置文件
    plugins:包含多个插件,代理服务启动时会加载改目录下的所有插件(实际是各种jar包)
    optional-plugins:可选插件,当需要支持某种功能时,比如SpringCloud Gateway,则需要把对应的jar包拷贝到plugins

mysql持久化

默认使用H2数据库存储
在config/application.yml中
在这里插入图片描述

修改配置文件使用mysql持久化

在这里插入图片描述

修改mysql的连接配置

在这里插入图片描述

添加mysql驱动

然后我们需要把mysql-connector-java-8.0.25.jar包复制到oap-libs里面

重新启动自动建表

我们不需要创建表,重新启动skywalking会自动创建表
在这里插入图片描述

引入gateway插件

跟踪链路不显示gateway,是因为skywalking默认不支持gateway
需要拷贝agent/optional-plugins目录下的gateway插件到agent/plugins目录,需要注意gateway版本号

常见错误

少了mysql驱动

报错在这里插入图片描述
然后我们需要把mysql-connector-java-8.0.25.jar包复制到oap-libs里面
在这里插入图片描述

启动

日志信息存储在logs目录
在这里插入图片描述
启动成功后会启动两个服务,一个是skywalking-oap-server,一个是skywalking-web-ui:8868
skywalking-oap-server服务启动会暴露11800和12800两个端口,分别为收集监控数据的端口11800和接受前端请求的端口12800,修改端口可以修改config/application.yml
在这里插入图片描述

前端界面

http://192.168.0.44:8080
在这里插入图片描述

旧版:
在这里插入图片描述

Skywalking高可用搭建

在大多数生产环境中,后端应用需要支持高吞吐量并且支持高可用来保证服务的稳定,所以你始终需要在生产环境进行集群管理。
Skywalking集群是将skywalking oap作为一个服务注册到nacos上,只要skywalking oap服务没有全部宕机,保证有一个skywalking oap在运行,就能进行跟踪。 搭建一个skywalking oap集群需要:

  • (1)至少一个Nacos (也可以是nacos集群)
  • (2)至少一个ElasticSearch/mysql (也可以是es/msql集群)
  • (3)至少2个skywalking oap服务;
  • (4)至少1个UI (UI也可以集群多个,用Nginx代理统一入口)

1 .修改 config/application.yml 文件

使用nacos作为注册中心
在这里插入图片描述

2、配置UI服务webapp.yml文件的listOfServers,写两个地址

在这里插入图片描述

3、启动服务测试

启动Skywalking服务,指定sphngboot应用的jvm参数

-DSW_AGENT_COLLECTOR_BACKENDSERVICES=192.168.3.10:11800,192.168.3.12:11800

相关文章:

  • springboot vue3 elementui plus点餐外卖系统源码
  • Node.js阶段学习(一)
  • 一、nacos安装与高可用部署
  • mysql实现删除某一列的重复数据(只留一行或全部删除)
  • 数学建模十大算法01-蒙特卡洛算法(Monte Carlo)
  • 智能家居相关企业达2万余家,湖南智能家居发展将进入快车道
  • java计算机毕业设计高校学生社团管理源码+数据库+系统+lw文档+mybatis+运行部署
  • Flutter: FutureBuilder 组件的使用
  • CAS(Compare and swap)比较并交换算法解析
  • 大学生如何搭建属于自己的微信查题公众号
  • 如何采用Python读取一个图像
  • 查题搜题公众号怎么制作?
  • torch.Tensor
  • 网课答案公众号题库API
  • linux时间编程
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • 2017 前端面试准备 - 收藏集 - 掘金
  • 77. Combinations
  • Angular 响应式表单 基础例子
  • angular学习第一篇-----环境搭建
  • css属性的继承、初识值、计算值、当前值、应用值
  • Git学习与使用心得(1)—— 初始化
  • JavaScript新鲜事·第5期
  • Java读取Properties文件的六种方法
  • Material Design
  • NLPIR语义挖掘平台推动行业大数据应用服务
  • PAT A1017 优先队列
  • SOFAMosn配置模型
  • SQL 难点解决:记录的引用
  • Vue.js-Day01
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 从零开始在ubuntu上搭建node开发环境
  • 搭建gitbook 和 访问权限认证
  • 基于web的全景—— Pannellum小试
  • 聚类分析——Kmeans
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 容器服务kubernetes弹性伸缩高级用法
  • 如何编写一个可升级的智能合约
  • 算法系列——算法入门之递归分而治之思想的实现
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • (+4)2.2UML建模图
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (七)Java对象在Hibernate持久化层的状态
  • (算法二)滑动窗口
  • (一)kafka实战——kafka源码编译启动
  • (转)树状数组
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .NET Core IdentityServer4实战-开篇介绍与规划