sykwalking8.2和mysql5.7快速部署

news2024/11/26 8:41:08

1.SkyWalking 是什么?

分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。

提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。

2.SkyWalking 有哪些功能?

  • 多种监控手段。可以通过语言探针和 service mesh 获得监控是数据。
  • 多个语言自动探针。包括 Java,.NET Core 和 Node.JS。
  • 轻量高效。无需大数据平台,和大量的服务器资源。
  • 模块化。UI、存储、集群管理都有多种机制可选。
  • 支持告警。
  • 优秀的可视化解决方案。

3.整体架构

架构图

整个架构,分成上、下、左、右四部分:

考虑到让描述更简单,我们舍弃掉 Metric 指标相关,而着重在 Tracing 链路相关功能。

  • 上部分 Agent :负责从应用中,收集链路信息,发送给 SkyWalking OAP 服务器。目前支持 SkyWalking、Zikpin、Jaeger 等提供的 Tracing 数据信息。而我们目前采用的是,SkyWalking Agent 收集 SkyWalking Tracing 数据,传递给服务器。
  • 下部分 SkyWalking OAP :负责接收 Agent 发送的 Tracing 数据信息,然后进行分析(Analysis Core) ,存储到外部存储器( Storage ),最终提供查询( Query )功能。
  • 右部分 Storage :Tracing 数据存储。目前支持 ES、MySQL、Sharding Sphere、TiDB、H2 多种存储器。而我们目前采用的是 ES ,主要考虑是 SkyWalking 开发团队自己的生产环境采用 ES 为主。
  • 左部分 SkyWalking UI :负责提供控台,查看链路等等。

4.搭建 SkyWalking 单机环境

4.1使用各种数据库作为skywalking数据存储的地方,可以是es,mysql,h2等

4.2在官网下载skywalking 

Index of /dist/skywalkingicon-default.png?t=N6B9https://archive.apache.org/dist/skywalking/

 

 将下载好的包上传至服务器,并解压

mkdir -p /Users/yunai/skywalking
cd /Users/yunai/skywalking
tar -zxvf 文件名

$ ls -ls
 4 drwxr-xr-x 8 root root  4096 Sep  9 15:09 agent # SkyWalking Agent
 4 drwxr-xr-x 2 root root  4096 Sep  9 15:44 bin # 执行脚本
 4 drwxr-xr-x 2 root root  4096 Sep  9 15:44 config # SkyWalking OAP Server 配置文件
32 -rwxr-xr-x 1 root root 28903 Sep  9 14:32 LICENSE
 4 drwxr-xr-x 3 root root  4096 Sep  9 15:44 licenses
32 -rwxr-xr-x 1 root root 31850 Sep  9 14:32 NOTICE
16 drwxr-xr-x 2 root root 16384 Sep  9 15:22 oap-libs # SkyWalking OAP Server
 4 -rw-r--r-- 1 root root  1978 Sep  9 14:32 README.txt
 4 drwxr-xr-x 2 root root  4096 Sep  9 15:44 webapp # SkyWalking UI

 4.3 启动步骤

正文

Skywalking整体分为 3 个部分:agent,backend,UI

  • agent 代理,应用启动的时候后,通过该agent收集数据并上报backend
  • backend 数据收集器,agent收集的数据会发送给backend,然后数据处理后入库。
  • ui也就是提供可视化服务的界面。

在安装前,请在官方网址进行下载:下载地址,下载的时候,请一定注意了不是第一行的Source Code而是第二行的Binary Distribution

backend

如上所述:backend的目的是收集agent的上报的数据,然后持久化到存储中,起到承上启下的功能,所以首先安装backend

前置知识

与之先关的目录和文件主要是如下几个:

  • bin目录下的oapService.sh,它就是 backend 的启动脚本
  • config目录下的application.yml,它是backend的配置信息
  • oap-libsbackend启动需要的所有jar
  • logs目录下的skywalking-oap-server.log是启动后的日志文件。

启动步骤

以下内容是 基于MySQL作为存储来讲解的。

第一步:修改config下的配置文件application.yml

  • storage.selector修改为mysql,默认是用于演示的h2,你也可以选择自己的存储介质。
  • 然后找到store下的 mysql节点
  • 修改mysql.properties中基本信息:jdbcUrl/dataSource.user/dataSource.password

2020年08月10日 补充

低估了 skywalking 使用数据空间的能力,差点导致了生产事故,幸好收到了短信提示,及时处理。这里补充下注意事项

在 该配置文件下还有:recordDataTTLmetricsDataTTL,表示的数据数据保存的时间,单位是天,分别为 3天 和 7天。

我这个服务有 3 个服务节点,12 个小时就占用了18G 的内存空间,这样算下来,基本上一个节点一小时最起码就占用了 0.5G 的空间。

所以请大家一定要注意评估你数据库的存储空间!

第二步:将mysql的驱动包,拷贝到opa-libs目录中。官方可没有自带mysql的驱动包,所以请自行下载后拷贝到这个目录。

  • mysql8一定要找对应的mysql8的 jar 包,不要找mysql5.7的驱动包,MySql8驱动
  • mysql5.7的数据库,最好也是5.7的(理论上 8 的也是兼容),MySQL5.7驱动

如果上述流程完成后,尝试运行bin目录下的oapService.sh

sh oapService.sh

然后查看logs/skywalking-oap-server.log的日志,如果失败会有日志,接下来你就见招拆招吧。

启动后,你可以通过如下几种方式观察是否成功。

第一就是可以通过查看端口运行情况判定:

lsof -i:12800 #数据上报端口,很重要的端口
lsof -i:11800

如果端口被占用,日志又没有错误保存,那么基本启动成功了。

第二就是查看jdbcUrl对应的数据库是否已经默认创建好了数据表。

Bug1

我在本文的时候,发现日志报错了一个错误,提示:Data too long for column 'statement' at row 1

简单查了下应该是Segment表的字段statement,原本是 200的长度,我将其改为 2000,该问题目前为止没有再输出。

还有就是top_n_database_staement有这个字段,我暂时也将其修改到了2000

同时提了issue官方也很快做出了响应,建议修改为2000。直达地址

Bug2

提示:Specified key was too long; max key length is 767 bytes

最简单的方法就是将参数:innodb_large_prefix修改为ON,其他方法请自行百度了解

ui

该组件将数据可视化出来,供大家更直观的查看数据。

前置知识

与之关联的目录和文件大体如下:

  • bin下的webappService.shUI的启动脚本
  • webapp目录,其中包括了 2 个重要的东西
    • webapp.yml,包括 UI启动的端口和上报地址
    • skywalking-webapp.jar,启动 jar包
  • logs下的文件webapp.log

启动步骤

第一步:修改webapp.yml,其默认的端口是经典的8080,所以还是修改为一个特殊点的端口,避免启动出错。

第二部:修改collecotr.ribbon.listofServers的 ip实际运行的 ip

第三步:通过 bin 下的webappService.sh启动

sh webappService.sh

不要看到控制台输出SkyWalking Web Application started successfully!就认为 OK 了。

还是要自己看看日志webapp.log有没有报错内容。、

agent

agent 的作用是同应用一起启动,将应用的指标数据上传。agent 我记得是可以共享的,就是所有的应用都用同一个 agent,但是为了安全,还是建议每个应用一个 agent

与之相关的目录为agent,其中最关键的就是agent/config/agent.config这个配置文件

以下是使用步骤:

  1. 拷贝一份agent到任意一个你喜欢的地方,我喜欢放在 jar包的同级目录。
  2. 修改agent.config中的参数
    1. agent.service_name修改实际的,同一个应用多个实例,其 service_name相同
    2. agent.instance_name每个实例都应该是唯一的,建议自行修改,这样UI上可视化后,更有意义。
    3. collector.backend_service修改为实际的backend所在主机的ip和端口。
  3. 在 jar包启动脚本中添加如下命令-javaagent:/xxx/agent/skywalking-agent.jar

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

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

相关文章

考公-判断推理-定义判断

第九节课 例题 例题 例题 例题 例题 例题 脚一滑,就是工伤,这难道不是操作不当吗 例题 不要较真,公务员,把没有全局观念的人排除在公务员队伍之外 例题 例题 下次看到不字,先给我画上 例题 例题 例题 例题…

Scratch 之 3D 画笔程序使用

目录 Part1 摄像头固定的3D效果 Part2 尝试移动摄像头 Part3 边缘裁剪 总结: Part1 摄像头固定的3D效果 首先,我们知道sc中有xy坐标。 现在让我们在sc中引入一个新坐标——z坐标。z轴垂直于电脑屏幕,从屏幕外指向屏幕里。(如下图) z坐标…

O2OA (翱途) o2server 调用 webServices jaxws 样例

本文分两部分介绍如何在 o2server 服务器中调用 webServices(jaxws)服务. 第一部分介绍如何在tomcat上搭建一个webServices(jaxws)服务. 第二部分介绍如何在o2server服务器上来调用上面创建的服务. O2OA (翱途)官网:http://www.o2oa.net 一、在tomcat上搭建一个…

Redis辅助功能

一、Redis队列 1.1、订阅 subscribe ch1 ch2 1.2 publish:发布消息 publish channel message 1.3 unsubscribe: 退订 channel 1.4 模式匹配 psubscribe ch* 模糊发布&#xff0c;订阅&#xff0c;退订&#xff0c; p* <channelName> 1.5 发布订阅原理 订阅某个频道或…

【正点原子STM32连载】第五章 APM32基础知识入门摘自【正点原子】APM32F407最小系统板使用指南

1&#xff09;实验平台&#xff1a;正点原子stm32f103战舰开发板V4 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id609294757420 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html# 第五…

电脑提示数据错误循环冗余检查怎么办?

有些时候&#xff0c;我们尝试在磁盘上创建分区或清理硬盘时&#xff0c;还可能会遇到这个问题&#xff1a;数据错误循环冗余检查。这是如何导致的呢&#xff1f;我们又该如何解决这个问题呢&#xff1f;下面我们就来了解一下。 导致冗余检查错误的原因有哪些&#xff1f; 数据…

使用AT命令操作Modem 3G/4G模块

1. 引言 AT命令是一种通信协议&#xff0c;用于控制和配置各种设备&#xff0c;尤其在通信领域中具有重要性。它的名称来源于"ATtention"&#xff08;注意&#xff09;&#xff0c;因为命令通常以"AT"开头。AT命令最早被用于调制解调器&#xff0c;用于与…

驱动阿托斯DLHZO-T伺服比例阀放大器定制

DLHZO-T型伺服比例换向阀&#xff0c;直动式&#xff0c;带LVDT位置传感器和阀芯零遮盖&#xff0c;可应用于各种位置闭环控制实现最佳的性能。 比例阀和模块式数字放大器配合使用。 LVDT传感器和阀套结构可确保非常高的调节精度和响应灵敏度。 失电保护位可实现在电源中断的…

一文读懂3D开发工具HOOPS SDK

近年来&#xff0c;随着对定制软件开发需求的增加&#xff0c;我们也目睹了新的软件开发工具和技术的加入。 大部分企业在移动和Web应用程序开发上投入了大量的精力&#xff0c;这表明市场对技术软件解决方案的需求在增加。然而&#xff0c;在开发软件的过程中&#xff0c;是可…

基于 SIFT 和 RANSAC 算法对高分辨率图像进行图像伪造检测(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

kafka基本概念及操作

kafka介绍 Kafka是最初由Linkedin公司开发&#xff0c;是一个分布式、支持分区的&#xff08;partition&#xff09;、多副本的 &#xff08;replica&#xff09;&#xff0c;基于zookeeper协调的分布式消息系统&#xff0c;它的最大的特性就是可以实时的处理大量数据以满足各…

技术解析丨主轴自动换刀系统是如何工作的?有哪些优点?

一、主轴气动自动换刀系统原理 1.当加工过程中需要更换主轴上的刀具时&#xff0c;操作人员通过控制系统发出换刀指令。 2.控制系统根据指令向气动系统发送动作信号&#xff0c;驱动气动马达带动换刀机构运动。 3.换刀机构中的刀具夹持器将现有刀具从主轴上取下&#xff0c;…

FreeRTOS(事件组)

资料来源于硬件家园&#xff1a;资料汇总 - FreeRTOS实时操作系统课程(多任务管理) 目录 一、事件的概念与应用 1、事件的概念 2、事件的应用 二、事件的运作机制 1、FreeRTOS中事件组的句柄 2、FreeRTOS 任务间事件标志组的实现 3、FreeRTOS 中断方式事件标志组的实现…

vue2学习:reduce方法和computed计算属性用法

reduce reduce可以遍历集合并将集合所有的值汇总为一个。 第一个参数是一个回调函数&#xff0c;函数第一个参数是汇总起来的最终值&#xff0c;默认是集合的第一项&#xff0c;函数第二个参数是集合遍历出来的集合元素&#xff1b; 第二个参数可以指定回调函数中第一个参数汇…

62、华为昇腾开发板Atlas 200I DK A2配置mmpose的hrnet模型推理python/c++

基本思想&#xff1a;适配mmpose模型&#xff0c;记录一下流水帐&#xff0c;环境配置和模型来自&#xff0c;请查看参考链接。 链接: https://pan.baidu.com/s/1IkiwuZf1anyKX1sZkYmD1g?pwdi51s 提取码: i51s 一、转模型 (base) rootdavinci-mini:~/sxj731533730# atc --mo…

优测云服务平台|【压力测试功能升级】轻松完成压测任务

一、本次升级主要功能如下&#xff1a; 1.多份报告对比查看测试结果 2.报告新增多种下载格式 Word格式Excel格式 3.新增多种编排复杂场景的控制器 漏斗控制器并行控制器事务控制器仅一次控制器分组控制器集合点 4.新增概览页面&#xff0c;包含多种统计维度 二、报告对比…

智慧工地源码,互联网+建筑工地,基于微服务+Java+Spring Cloud +Vue+UniApp开发

基于微服务JavaSpring Cloud VueUniApp MySql开发的智慧工地云平台源码 智慧工地概念&#xff1a; 智慧工地就是互联网建筑工地&#xff0c;是将互联网的理念和技术引入建筑工地&#xff0c;然后以物联网、移动互联网技术为基础&#xff0c;充分应用BIM、大数据、人工智能、移…

DoorGym:开源的可拓展的开门仿真环境,用于域随机化的强化学习、深度强化学习

0.概述 目的&#xff1a;创建一个可以改变门把手形状、类型、位置、环境颜色、照明条件、机械臂结构的仿真环境&#xff0c;以训练出鲁棒性更高、更能关注到任务本质特征、容易迁移到现实的模型 网址&#xff1a;环境下载&#xff0c; 1.领域随机化DR 假设很难对目标域进…

在Visual Studio上,使用OpenCV实现人脸识别

1. 环境与说明 本文介绍了如何在Visual Studio上&#xff0c;使用OpenCV来实现人脸识别的功能 环境说明 : 操作系统 : windows 10 64位Visual Studio版本 : Visual Studio Community 2022 (社区版)OpenCV版本 : OpenCV-4.8.0 (2023年7月最新版) 实现效果如图所示&#xff0…

SAP SM30 自动带出描述实现

需求&#xff1a; 在SM30中维护销售订单类型的时候&#xff0c;根据维护的销售订单类型自动带出订单类型描述 事务码&#xff1a; SE11 进入表维护生成器中 创建事件 选择【维护事件】: 05 自定义子例程&#xff1a; SET_DESCRIPTION 点击编辑器按钮进行代码编辑 具体代码…