SkyWalking的学习之一

skywalking,学习,之一 · 浏览次数 : 213

小编点评

**SkyWalking学习前言** SkyWalking是一个国产的开源框架,主要用于微服务、云原生架构和基于容器架构的应用程序性能监视。它具有以下一些主要特性: * **分布式追踪:**允许您跟踪应用程序中的所有请求并收集相关性能指标。 * **性能指标分析:**提供对应用程序性能的深入分析,帮助您识别性能瓶颈。 * **服务依赖分析:**允许您分析应用程序中服务的依赖关系。 * **分布式收集:**支持多种数据收集来源,包括 MySQL、Elasticsearch、Nacos、H2等。 **学习SkyWalking的步骤** 1. **下载并安装SkyWalking:**您可以从 Apache 网站的官方网站(`skywalking.apache.org/downloads/`)中下载并安装SkyWalking。 2. **设置环境变量:**您可以设置一些环境变量,例如 `JAVA_HOME` 和 `SKYWALKING_AGENT_SERVICE_NAME`。 3. **启动SkyWalking:**运行 `skywalking.sh` 文件。 4. **配置SkyWalking:**您可以使用 `application.yml` 文件配置SkyWalking。 5. **启动应用程序:**您可以使用 `start.sh` 文件启动应用程序。 **学习资源** * **官方文档:**您可以从 Apache 网站的官方网站上获取更多有关SkyWalking的信息,包括使用说明、代码示例和其他文档。 * **视频教程:**您可以从 YouTube 上找到一些关于SkyWalking的视频教程。 * **社区论坛:**如果您遇到任何问题,您可以向 SkyWalking 的社区论坛(`skywalking.apache.org/forum/`)提问。

正文

SkyWalking的学习之一


前言

最近在学习应用调优诊断等内容.
现在实际工作中实质上的拆分和微服务在售前阶段
所以真正用到链路的地方比较少. 但是人生都是要向前看的. 
想着一方面提高自己. 一方面也是为了以后着想.
在一个看不到未来和光的地方, 要么离开,要么继续深入掘进. 

Skywalking的简介

Skywalking是一个国产的开源框架,2015年有吴晟个人开源,2017年加入Apache孵化器,
国人开源的产品,主要开发人员来自于华为,2019年4月17日Apache董事会批准SkyWalking成为顶级项目,
支持Java、.Net、NodeJs等探针,数据存储支持Mysql、Elasticsearch等,
跟Pinpoint一样采用字节码注入的方式实现代码的无侵入,
探针采集数据粒度粗,但性能表现优秀,且对云原生支持,目前增长势头强劲,社区活跃。

Skywalking是分布式系统的应用程序性能监视工具,专为微服务,云原生架构和基于容器(Docker,K8S,Mesos)架构而设计,
它是一款优秀的APM(Application Performance Management)工具,包括了分布式追踪,性能指标分析和服务依赖分析等。

目前市面上开源的APM系统主要有CAT、Zipkin、Pinpoint、SkyWalking,大都是参考Google的Dapper实现的

From:https://www.jianshu.com/p/ffa7ddcda4ab/

SkyWalking的下载与安装

https://skywalking.apache.org/downloads/

我这边仅是学习与研究Java相关的, 其他内容暂时放下不表
注意这里需要下载两个内容:
SkyWalking APM
Java Agent

需要注意 选择 distribution 下载对应的压缩包就可以. 
需要注意两个文件比较大一点

137M 3月   9 11:46 apache-skywalking-apm-9.4.0.tar.gz
31M  4月   4 09:43 apache-skywalking-java-agent-8.15.0.tgz
需要注意 apm 是核心应用
agent需要作为一个启动加载方式挂接到springboot的应用中去. 

agent的使用方式

建议将agent进行解压缩放到特定的一个路径
然后在启动脚本里面加进来特定的内容:
注意 主要有三个地方:
定义agent的位置, 不建议只复制 jar包 最好是使用特定路径, 因为agent 还有很多配置文件等.
定义 server_name 可以在apm中进行展示
定义backend_service 定义apm服务器的地址. 
端口信息在后续解释.

 -javaagent:/skywalking/skywalking-agent/skywalking-agent.jar 
 -Dskywalking.agent.service_name=master5202 
 -Dskywalking.collector.backend_service=127.0.0.1:11800

apm的启动和注意事项之一

解压缩apm的压缩包
然后进行相关的处理
注意 初始使用比较核心的是 bin 和 config

├── bin
├── config
├── config-examples
├── LICENSE
├── licenses
├── LICENSE.tpl
├── logs
├── NOTICE
├── oap-libs
├── README.txt
├── tools
├── webapp
└── zipkin-LICENSE

apm的启动和注意事项之二

启动脚本说明
bin 目录下面有一个 startup.sh 可以启动两个应用 
一个是 oap 一个是 receiver 的工作进程. 

SkyWalking OAP started successfully!
SkyWalking Web Application started successfully!

需要注意 skywalking 至少要用 jdk11. 
jdk8 是不支持的为了方便可以如下修改
比如我这边在 startup.sh 上面进行了简单处理

export JAVA_HOME=/skywalking/jdk-17.0.2
export PATH=/skywalking/jdk-17.0.2/bin:$PATH

apm的启动和注意事项之三

设置连接nacos等事项
skywalking 默认使用h2来存储部分数据.
也可以使用elasticsearch. 因为是周末自学
所以简单使用 h2. 但是要连接nacos
所以需要修改配置文件
apache-skywalking-apm-bin/conf/application.yml

注意内容为:
  nacos:
    serviceName: ${SW_SERVICE_NAME:"SkyWalking_OAP_Cluster"}
    hostPort: 10.110.136.xxx:8848
    # Nacos Configuration namespace
    namespace: ${SW_CLUSTER_NACOS_NAMESPACE:"public"}
    # Nacos auth username
    username: nacos
    password: xxxxx

启动apm后启动应用

会在skywalking的服务,普通服务里面看到对应的服务信息.

也能够看到服务的一些拓扑信息


简单效果

image


简单效果

image


自己的公众号

与SkyWalking的学习之一相似的内容:

SkyWalking的学习之一

SkyWalking的学习之一 前言 最近在学习应用调优诊断等内容. 现在实际工作中实质上的拆分和微服务在售前阶段 所以真正用到链路的地方比较少. 但是人生都是要向前看的. 想着一方面提高自己. 一方面也是为了以后着想. 在一个看不到未来和光的地方, 要么离开,要么继续深入掘进. Skywalkin

[转帖]Skywalking学习及整合springboot

目录 1. Skywalking概述 2. Skywalking主要功能 3. Skywalking主要特性 4. Skywalking架构简介 5. Spring Cloud与Skywalking实战 5.1 Skywalking部署构建 5.3 Spring Cloud整合Skywalking实

[转帖]SkyWalking集成logback

1.引入skywalking的jar包,导入的包和agent版本一致 org.apache.skywalking apm-toolkit-trace 8.12.0

Skywalking APM监控系列(二、Mysql、Linux服务器与前端JS接入Skywalking监听)

前言 上篇我们介绍了Skywalking的基本概念与如何接入.Net Core项目,感兴趣可以去看看: Skywalking APM监控系列(一丶.NET5.0+接入Skywalking监听) 本篇我们主要讲解一下Skywalking如何接入mysql数据库监听与Linux服务器的监听 其实从Sky

DHorse的链路追踪

目前,DHorse的链路追踪功能是通过SkyWalking来实现。实现原理是DHorse在部署应用时,通过指定SkyWalking的Agent来收集服务的调用链路信息。下面就来具体看一下DHorse如何使用Agent的功能。 链路追踪配置 在“系统配置”菜单,打开“链路追踪模板”菜单,如图1所示:

[转帖]br备份时排除某个库

作者: qhd2004 原文来源: https://tidb.net/blog/2a88149e 生产环境中我们使用br来备份数据库,但是有时候可能需要排除某个库,比如,skywalking后台库(实际中是skywalking暂时放在tidb中,后面会转到es,并且skywalking的数据对我们来

lua

Skywalking 监控nginx的方法 https://blog.csdn.net/qq_31725371/article/details/85226116 https://www.jianshu.com/p/30684f94d5e0 过程 安装必备软件: yum install -y gcc

OpenTelemetry 实践指南:历史、架构与基本概念

背景 之前陆续写过一些和 OpenTelemetry 相关的文章: 实战:如何优雅的从 Skywalking 切换到 OpenTelemetry 实战:如何编写一个 OpenTelemetry Extensions 从一个 JDK21+OpenTelemetry 不兼容的问题讲起 这些内容的前提是最

Skywalking APM监控系列(一丶.NET5.0+接入Skywalking监听)

前言 新项目采用的abp vnext的微服务模块化架构,所以把应用的服务拆成了很多独立模块 在初期,我们通过日志还能跟踪到问题, 后期服务越来越多(大约扩充到了十几个),随着调用链路越来越深 ,问题也越来越能排查了. 往往入口报错之后,要跟好几个服务的日志 才能找到最终节点. 所以考虑引入Skywa

[转帖]Skywalking介绍

https://www.jianshu.com/p/ffa7ddcda4ab 微服务架构已经是一个很通用的系统架构,常见的技术栈如下图所示,这张架构图基本涵括了当前微服务体系下的各种技术栈,可能不同的技术栈有不同的开源实现。 Screen Shot 2022-01-23 at 12.48.19 PM