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的服务,普通服务里面看到对应的服务信息.

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


简单效果


简单效果


自己的公众号

SkyWalking的学习之一的更多相关文章

  1. skywalking学习之路---skywalking环境从零搭建部署

    介绍 SkyWalking项目是由华为大牛吴晟开源的个人项目,目前已经加入Apache孵化器.SkyWalking项目的核心目标是针对微服务.Cloud Native.容器化架构提供应用性能监控和分布 ...

  2. skywalking学习

    skywalking简介 SkyWalking一个开源可观测性平台,用于收集.分析.聚合和可视化来自服务和云原生基础设施的数据.SkyWalking提供了一种简单的方法,可以让你清晰的查看分布式系统. ...

  3. Dubbo学习系列之十八(Skywalking服务跟踪)

    我们知道,微服务不是独立的存在,否则就不需要微服务这个架构了,那么当发起一次请求,如何知道这次请求的轨迹,或者说遇到响应缓慢. 请求出错的情况,我们该如何定位呢?这就涉及到APM(Applicatio ...

  4. skywalking学习ppt

    和传统应用监控的区别,Dapper论文 监控图

  5. SpringCloud微服务学习笔记

    SpringCloud微服务学习笔记 项目地址: https://github.com/taoweidong/Micro-service-learning 单体架构(Monolithic架构) Mon ...

  6. 最全的.NET Core跨平台微服务学习资源

    一.Asp.net Core基础 微软中文官网:https://docs.microsoft.com/zh-cn/aspnet/core/getting-started/ 微软英文官网:https:/ ...

  7. .NET Core微服务架构学习与实践系列文章索引目录

    一.为啥要总结和收集这个系列? 今年从原来的Team里面被抽出来加入了新的Team,开始做Java微服务的开发工作,接触了Spring Boot, Spring Cloud等技术栈,对微服务这种架构有 ...

  8. 2020 重新出发,JAVA 学习计划

    ------ @[toc]# 前言 我呢已经工作七年了,一直没有换工作,因为我这个人没什么太大的野心,安安稳稳的生活就挺好,目前的公司虽然福利一般,但是工作稳定,环境也都很熟悉了. 但是今年,到目前为 ...

  9. [业界方案] 用SOFATracer学习分布式追踪系统Opentracing

    [业界方案] 用SOFATracer学习分布式追踪系统Opentracing 目录 [业界方案] 用SOFATracer学习分布式追踪系统Opentracing 0x00 摘要 0x01 缘由 &am ...

  10. [业界方案]用Jaeger来学习分布式追踪系统Opentracing

    [业界方案]用Jaeger来学习分布式追踪系统Opentracing 目录 [业界方案]用Jaeger来学习分布式追踪系统Opentracing 0x00 摘要 0x01 缘由 & 问题 1. ...

随机推荐

  1. windows 2016 安装docker

    windows 2016 安装docker 前提条件:windows server 2016安装更新 1:用管理员打开windows PowerShell Install-PackageProvide ...

  2. Mxgraph

    1. Hello World! Creating an HTML page that links the mxGraph client JavaScript, Creating a container ...

  3. 源代码管理工具介绍(以GITHUB为例)

    Github:全球最大的社交编程及代码托管网站,可以托管各种git库,并提供一个web界面 1.基本概念 仓库(Repository):用来存放项目代码,每个项目对应一个仓库,多个开源项目则有多个仓库 ...

  4. HCK 、PCLK、FCLK的区别

    HCLK is used for AHB bus, which is used by the ARM920T, the memory controller, the interrupt control ...

  5. 3-XSS漏洞

    1.XSS原理 跨站脚本攻击是一种针对网站应用程序的安全漏洞攻击技术,是代码注入的一种.它允许恶意用户将代码注入网页,其他用户在浏览网页时会受到影响.恶意用户利用xss代码攻击成功后,可能得到很高的权 ...

  6. springboot中redis使用和工具

    application.properties #Redis相关配置 spring.data.redis.host=localhost #端口 spring.data.redis.port=6379 # ...

  7. MFC 与 C++ 类型转换

    C++ 中到的类型转换很多,先记录下来,多了写成一个类 1.CString转int 1 CString cNum="9527"; 2 int iNum = 0; 3 iNum=at ...

  8. JAVA数据类型以及什么是字节

    强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义才能使用(安全性高) java的数据类型分为两大类 基本类型(primitive type) 引用类型(reference type) / ...

  9. 机器学习算法(八):基于BP神经网络的乳腺癌的分类预测

    机器学习算法(八):基于BP神经网络的乳腺癌的分类预测 1.算法简介和应用 1.1 算法简介 BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学 ...

  10. abp(net core)+easyui+efcore实现仓储管理系统——ABP升级7.3下(五十九)

    Abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统--ABP总体介绍(一) abp(net core)+ ...