本文为博主原创,未经允许不得转载:

官网:http://skywalking.apache.org/
下载:http://skywalking.apache.org/downloads/
Github:https://github.com/apache/skywalking
文档: https://skywalking.apache.org/docs/main/v8.4.0/readme/
中文文档: https://skyapm.github.io/document-cn-translation-of-skywalking/

1.skywalking 简介

  skywalking是国产开源框架,是分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。SkyWalking 是观察性分析平台和应用性能管理系统,提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。

2.Skywalking 与 Zipkin 比较

  Zipkin是Twitter开源的调用链分析工具,目前基于springcloud sleuth得到了广泛的使用,特点是轻量,使用部署简单。其通过拦截请求,发送数据至zipkin 服务,发送(http)数据到zipkin服务。缺点在于不支持告警,不支持JVM监控,通信方式使用Http请求向Zipkin上报信息,比较耗性能。

  SkyWalking是本土开源的基于字节码注入的调用链分析,以及应用监控分析工具。特点是支持多种插件,UI功能较强,接入端无代码侵入。目前已加入Apache孵化器。其通过探针,字节码增强实现。通信方式采用GRPC,性能较好,实现方式是java探针,支持告警,支持JVM监控,支持全局调用统计等等,功能较完善。缺点是依赖较多,需要ElasticSearch,JDK环境,Nacos注册中心等。

  且skywalking 的探针对吞吐量的影响最小,zipkin 的吞吐量居中。

3. 下载及文件目录说明

  下载 Skywalking :http://skywalking.apache.org/downloads/

  

  linux 下载及解压

-- 下载 skywalking 的安装包
wget https://archive.apache.org/dist/skywalking/8.6.0/apache-skywalking-apm-8.6.0.tar.gz

-- 解压安装包
tar -zxvf apache-skywalking-apm-8.6.0.tar.gz

  解压之后的目录说明:

  

  webapp:UI 前端及web 监控页面的 jar 包和配置文件

  oap-libs : 后台应用的jar 包,以及它的依赖jar 包,里面有一个 server-starter-8.6.0.jar 就是启动程序

  bin : 各种启动脚本,一般使用 startup.sh 来启动web 页面和对应的后台应用

  agent : skywalking-agent 需要依赖的jar 包,配置以及插件等

4. 搭建Skywalking OAP 服务

  先使用默认的H2数据库存储,不用修改配置:config/application.yml

  

  启动脚本bin/startup.sh

  

  启动成功后会启动两个服务,一个是skywalking-oap-server,一个是skywalking-web-ui

  skywalking-oap-server服务启动后会暴露11800 和 12800 两个端口,分别为收集监控数据的端口11800和接受前端请求的端口12800,修改端口可以修改config/applicaiton.yml

  skywalking-web-ui服务会占用 8080 端口, 修改端口可以修改webapp/webapp.yml

  

  访问skywalking UI  

  SkyWalking中三个概念

    服务(Service) :表示对请求提供相同行为的一系列或一组工作负载,在使用Agent时,可以定义服务的名字;

    服务实例(Service Instance) :上述的一组工作负载中的每一个工作负载称为一个实例, 一个服务实例实际就是操作系统上的一个真实进程;

    端点(Endpoint) :对于特定服务所接收的请求路径, 如HTTP的URI路径和gRPC服务的类名 + 方法签名;

6. Skywalking Agent 跟踪微服务

  在使用java -jar 启动微服务时,指定启动参数的属性:

java -javaagent:/opt/skywalking/apache-skywalking-apm-bin/agent/skywalking-agent.jar -jar springboot-skywalking-demo-0.0.1-SNAPSHOT.jar

  Skywalking跨多个微服务跟踪,只需要每个微服务启动时添加javaagent参数即可。

  此时打开 Skywalking 的监控页面,可以看到调用的数据显示:

  

Skywalking 的使用的更多相关文章

  1. Apache SkyWalking 为.NET Core带来开箱即用的分布式追踪和应用性能监控

    在大型网站系统设计中,随着分布式架构,特别是微服务架构的流行,我们将系统解耦成更小的单元,通过不断的添加新的.小的模块或者重用已经有的模块来构建复杂的系统.随着模块的不断增多,一次请求可能会涉及到十几 ...

  2. 使用docker-compose 一键部署你的分布式调用链跟踪框架skywalking

    一旦你的程序docker化之后,你会遇到各种问题,比如原来采用的本地记日志的方式就不再方便了,虽然你可以挂载到宿主机,但你使用 --scale 的话,会导致 记录日志异常,所以最好的方式还是要做日志中 ...

  3. 在 ASP.NET Core 中集成 Skywalking APM

    前言 大家好,今天给大家介绍一下如何在 ASP.NET Core 项目中集成 Skywalking,Skywalking 是 Apache 基金会下面的一个开源 APM 项目,有些同学可能会 APM ...

  4. 开源APM系统skywalking介绍与使用

    介绍 SkyWalking 创建与2015年,提供分布式追踪功能.从5.x开始,项目进化为一个完成功能的Application Performance Management系统.他被用于追踪.监控和诊 ...

  5. 使用docker部署skywalking

    使用docker部署skywalking Intro 之前在本地搭建过一次 skywalking + elasticsearch ,但是想要迁移到别的机器上使用就很麻烦了,于是 docker 就成了很 ...

  6. Skywalking部署常见问题以及注意事项

    Skywalking部署常见问题以及注意事项 Intro SkyWalking 创建与2015年,提供分布式追踪功能.从5.x开始,项目进化为一个完成功能的Application Performanc ...

  7. skywalking部署

    官方文档:Setup java agent Backend and UI 下载地址:http://skywalking.apache.org/downloads/ 解压后目录 部署UI和收集器 进入w ...

  8. SkyWalking Liunx 环境搭建&NetCore接入

    背景 前两天看见有小哥介绍windows下安装skywalking的介绍地址在这. 正好最近也在搭建linux环境的SkyWalking,顺便把linux环境搭建的经验分享下,帮助下使用linux部署 ...

  9. .netcore加入APM系统 SkyWalking

    安装环境:windows 2016 必要条件: JDK8+ Elasticsearch 5.x(注:目前不支持es6) 8080,10800,11800,12800 端口不被占用 下载skywalki ...

  10. SkyWalking

    介绍 SkyWalking 创建与2015年,提供分布式追踪功能.从5.x开始,项目进化为一个完成功能的Application Performance Management系统.他被用于追踪.监控和诊 ...

随机推荐

  1. 24、Go语言中的OOP思想

    1.是什么? OOP:面向对象 Go语言的解构体嵌套 1.模拟集成性:is - a type A struct { field } type B struct { A // 匿名字段 } 这种方式就会 ...

  2. 华企盾DSC邮件发送成功,但是不解密也没有任何提示(未添加白名单)

    用Debugview监控整个过程,若日志中有信任邮箱未添加说明,白名单邮箱未添加或者添加错了(检查空格之类的或重新添加)

  3. Gh0st木马

    https://www.secrss.com/articles/50209 Gh0st是一种远程控制软件,它可以在被攻击的计算机上运行并允许攻击者远程控制该计算机.为了查找Gh0st的进程.文件.注册 ...

  4. BUUCTF Web CyberPunk WriteUp

    想直接查看payload的点这里 前言 二次注入(Second-Order Injection)是指攻击者在应用程序中注入恶意数据,然后在稍后的操作或不同的上下文中再次使用该恶意数据,导致安全漏洞.它 ...

  5. 记录:idea git push失败问题

    问题描述: 重复弹出密码登录框,但是push失败 解决,用ssh的方式登录 1.生成ssh 配置用户名 git config --global user.name "tmqq2333&quo ...

  6. 裴丹:AIOps 智能运维经验分享

    摘要:本文结合裴丹教授过去二十余年在AIOps领域与几十家企业合作.跨多种技术栈的落地经验积累,以及150篇左右学术论文的算法积累,总结出的AIOps落地的一些经验性原则. 本文分享自华为云社区< ...

  7. 带你读顶会论文丨基于溯源图的APT攻击检测

    摘要:本次分享主要是作者对APT攻击部分顶会论文阅读的阶段性总结,将从四个方面开展. 本文分享自华为云社区<[论文阅读] (10)基于溯源图的APT攻击检测安全顶会总结>,作者:eastm ...

  8. 关于Spring注解开发教程,打包全送你

    摘要:spring是我们web开发中必不可少的一个框架,基于传统的xml方式配置bean总觉得太过繁琐,从spring2.5之后注解的出现可以大大简化我们的配置. 本文分享自华为云社区<如何高效 ...

  9. 一文详述DMS资源池队列阻塞告警及原理

    摘要: 本文主要对DMS资源池队列阻塞告警进行介绍,以及对其背后涉及的内核原理进行介绍. 本文分享自华为云社区<DMS资源池队列阻塞告警及原理介绍>,作者: codefulture. 一. ...

  10. 带你掌握Visual Studio Code的格式化程序

    摘要:Visual Studio Code 中的所有语言都可以使用其中一种自动格式化程序进行格式化,并且 Python 扩展还支持 linter. 本文分享自华为云社区<Visual Studi ...