SkyWalking的学习之一
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的学习之一的更多相关文章
- skywalking学习之路---skywalking环境从零搭建部署
		
介绍 SkyWalking项目是由华为大牛吴晟开源的个人项目,目前已经加入Apache孵化器.SkyWalking项目的核心目标是针对微服务.Cloud Native.容器化架构提供应用性能监控和分布 ...
 - skywalking学习
		
skywalking简介 SkyWalking一个开源可观测性平台,用于收集.分析.聚合和可视化来自服务和云原生基础设施的数据.SkyWalking提供了一种简单的方法,可以让你清晰的查看分布式系统. ...
 - Dubbo学习系列之十八(Skywalking服务跟踪)
		
我们知道,微服务不是独立的存在,否则就不需要微服务这个架构了,那么当发起一次请求,如何知道这次请求的轨迹,或者说遇到响应缓慢. 请求出错的情况,我们该如何定位呢?这就涉及到APM(Applicatio ...
 - skywalking学习ppt
		
和传统应用监控的区别,Dapper论文 监控图
 - SpringCloud微服务学习笔记
		
SpringCloud微服务学习笔记 项目地址: https://github.com/taoweidong/Micro-service-learning 单体架构(Monolithic架构) Mon ...
 - 最全的.NET Core跨平台微服务学习资源
		
一.Asp.net Core基础 微软中文官网:https://docs.microsoft.com/zh-cn/aspnet/core/getting-started/ 微软英文官网:https:/ ...
 - .NET Core微服务架构学习与实践系列文章索引目录
		
一.为啥要总结和收集这个系列? 今年从原来的Team里面被抽出来加入了新的Team,开始做Java微服务的开发工作,接触了Spring Boot, Spring Cloud等技术栈,对微服务这种架构有 ...
 - 2020 重新出发,JAVA 学习计划
		
------ @[toc]# 前言 我呢已经工作七年了,一直没有换工作,因为我这个人没什么太大的野心,安安稳稳的生活就挺好,目前的公司虽然福利一般,但是工作稳定,环境也都很熟悉了. 但是今年,到目前为 ...
 - [业界方案] 用SOFATracer学习分布式追踪系统Opentracing
		
[业界方案] 用SOFATracer学习分布式追踪系统Opentracing 目录 [业界方案] 用SOFATracer学习分布式追踪系统Opentracing 0x00 摘要 0x01 缘由 &am ...
 - [业界方案]用Jaeger来学习分布式追踪系统Opentracing
		
[业界方案]用Jaeger来学习分布式追踪系统Opentracing 目录 [业界方案]用Jaeger来学习分布式追踪系统Opentracing 0x00 摘要 0x01 缘由 & 问题 1. ...
 
随机推荐
- CF1422
			
CF1422 那个博客搭好遥遥无期. A: 看代码就行. #include<bits/stdc++.h> using namespace std; void work() { int a, ...
 - [Leetcode 98]判断有效的二叉搜索树Validate Binary Search Tree
			
题目 https://leetcode.com/problems/validate-binary-search-tree 判断所给二叉树是否是二叉搜索树 二叉搜索树:其值left<root< ...
 - Pytorch 60实例
			
1 初识PyTorch¶ 1.1 张量 1.导入pytorch包 In [1]: import torch 2.创建一个未初始化的5x3张量 In [3]: x = torch.empty(5, 3) ...
 - hi,docker,docker的介绍
			
一.docker的介绍 1.什么是docker: docker是一种虚拟化技术,小型的系统环境(linux)2.虚拟化技术: 在计算机中用例管理虚拟资源的一种手段 内存管理.软件虚拟化.硬件虚拟化(磁 ...
 - Java基础学习——Arrays类
			
1.数组复制 Arrays.copyOfRange(original, from, to) 此方法与System.arraycopy类似. 不同的是System.arraycopy需要提前声明目标数组 ...
 - 2019.11.14 typeScript环境搭建
			
当前环境为windows系统,在VSCode下搭建typeScript环境.在mac系统下同window系统一样,只是安装好ts环境后可能会报tsc命令不能使用的错误,这个时候需要找到tsc命令所在的 ...
 - SDN实验环境配置
 - JAVA加载PMML算法模型
			
注:加载失败时尝试修改pmml文件版本为4.3 依赖 <dependency> <groupId>org.jpmml</groupId> <artifactI ...
 - [极客大挑战 2019]BuyFlag 1
			
好吧,又是一道违背我思想的题目,哦不哦不不对,是本人操作太傻了 首先进入主页面 没有发现什么奇怪的东西,查看源代码,搜索.php 可以看到有一个pay.php,访问查看 给我们了一些提示 FLAG N ...
 - Linux系统下祼机安装mysql8.0和docker mysql 8.0 性能差异对比~
			
环境准备 准备两台服务器环境,配置相同,分别安装Centos7,mysql8.0,docker mysql 8.0 准备测试代码 public class Chat { public static l ...