skywalking

喜报!中国移动云能力中心收获一名Apache SkyWalking Committer

一笑奈何 提交于 2021-02-03 14:44:09
友情提示:全文1000多文字,预计阅读时间5分钟 来自中国移动云能力中心云计算产品部PaaS平台产品组的工程师刘唯一被Apache SkyWalking的PMC投票成为新的committer! Apache SkyWalking是什么 SkyWalking是一个APM(应用程序性能监视器)系统,专门为微服务、云原生和基于容器(Docker/Kubernetes/Mesos)的体系结构而设计。 SkyWalking可以用来做什么 在大型网站系统设计中,随着分布式架构,特别是微服务架构的流行,我们将系统解耦成更小的单元,通过不断的添加新的、小的模块或者重用已经有的模块来构建复杂的系统。随着模块的不断增多,一次请求可能会涉及到十几个甚至几十个服务的协同处理,那么如何准确快速的定位到线上故障和性能瓶颈,便成为我们不得不面对的棘手问题。Google在论文《Dapper, a Large-Scale Distributed Systems Tracing Infrastructure》中提出了分布式跟踪系统的设计和构建思路。在这样的背景下,Apache SkyWalking创建于2015年,2019年毕业成为Apache顶级项目。它参考Dapper论文实现分布式追踪功能,并逐渐进化为一个完整功能的Application Performance Management系统,用于追踪

Zipkin与SKYWalking的对比

微笑、不失礼 提交于 2021-01-15 13:12:42
链路监控的原理:理论依据是来源于 2010 年 google 发布的一篇论文 dapper Zipkin 优: 提供有 Query 接口,更强大的用户界面和系统集成能力,可以基于该接口二次开发实现 社区是 Apache ,运营更好,更活跃,支持的语言更丰富 缺: 侧重收集器和存储服务,虽然也有用户界面,但其功能与 SKYWalking 不可同日而语 Zipkin 的 Java 接口实现 Brave ,只提供了基本的操作 API ,如果需要与框架或者项目集成的话,就需要手动添加配置文件或增加代码。 版本 Maven 依赖复杂,会出现冲突导致功能不可用问题 SKYWalking 优: 是一个完整的性能监控解决方案:有从探针、收集器、存储到 Web 界面等全套体系 基于 Java Agent 探针技术,通过字节码注入的方式实现调用拦截和数据收集,可以做到真正的代码无侵入,只需要在启动服务器的时候添加一些参数,就可以完成探针的部署 已经纳入 Apache 开源项目,并且是中国的开源项目,文档更丰富,更方便理解; 缺: 自我定制不方便 语言相对集中在 Java 语言 总结: 从公司的定位场景上说,短期目标 SKYWalking 具有优势:无需对项目代码进行任何改动就可以部署探针、追踪数据细粒化到方法调用级别、功能强大的用户界面以及几乎比较全面的 Java 框架支持。但是长远来看,学习

全链路监控的起源&解决方案

↘锁芯ラ 提交于 2021-01-09 05:16:54
全链路监控的思想 APM(Application Performance Management)的核心思想是什么? 在应用服务各节点相互调用的时候,从中记录并传递一个应用级别的标记,这个标记可以用来关联各个服务节点之间的关系。 比如两个应用服务节点之间使用HTTP作为传输协议的话,那么这些标记就会被加入到HTTP头中。 可见如何传递这些标记是与应用服务节点之间使用的通讯协议有关的,常用的协议就相对容易加入这些内容,一些按需定制的可能就相对困难些,这一点也直接决定了实现分布式追踪系统的难度。 它通过探针自动收集所需的指标,并进行分布式追踪。 通过这些调用链路以及指标,APM会感知应用间关系和服务间关系,并进行相应的指标统计。 如何衡量一个大规模集群的跟踪系统的优劣? 它应该满足 低损耗 、 应用透明的 、 大范围部署 这三个需求的。 全链路监控系统的功能 web应用过程: 分析url调用过程中性能消耗原因,抓取超过阈值url的详细数据 数据库性能: 支持多种数据库类型的监测,定位并追踪慢SQL语句问题 错误分析: 记录错误发生时的详细信息,统计应用错误率,定位问题具体至代码行 外部API调用: 可以监测所有服务端应用外部调用API的耗时,并进行汇总统计 线程剖析: 可以实现生产环境下实时在线的线程剖析,可在运行时了解代码性能 NoSQL分析: 实时监控Memcache,

docker 安装 skywalking 记录

这一生的挚爱 提交于 2020-12-29 00:23:30
下载镜像 image https://hub.docker.com/r/apache/skywalking-base https://hub.docker.com/r/apache/skywalking-oap-server https://hub.docker.com/r/apache/skywalking-ui 启动镜像 启动 SkyWalking Server : docker run --name skywalking-oap --restart always -d -p 11800:11800 -p 12800:12800 -e SW_STORAGE=h2 apache/skywalking-oap-server 启动 UI : docker run --name skywalking-ui --restart always -d -p 8080:8080 --link skywalking-oap:skywalking-oap -e SW_OAP_ADDRESS=skywalking-oap:12800 apache/skywalking-ui 访问 localhost:8080 查看日志,一切正常: 来源: oschina 链接: https://my.oschina.net/j4love/blog/4865789

开放学生报名!首届“暑期2020”活动已启动

☆樱花仙子☆ 提交于 2020-12-19 05:02:25
经过了紧锣密鼓的前期准备工作,备受期待的 开源软件供应链点亮计划-暑期2020 活动终于正式启动啦! Summer is coming,各位同学: 你是否想要抓住时机充实自己?却缺少实践或良师指导、伙伴同行。 你是否打算寻找实习锻炼自己?却囿于烈日、奔波与疫情。 你是否想要接触顶级技术大咖?却苦于缺少机会和平台。 你是否想要在工作中初试身手,又担心学业与实习不能兼顾。 高认可度的活动经历、 优先的工作与实习机会、 丰硕的活动奖金,心动了吗? 在这里,你想要的都能实现! 如何加入 5/15 开始选择项目,与社区导师沟通 5/16 第一期“大咖说开源”讲座直播,交流开源知识 6/1-6/20 学生提交项目申请 7/1-9/30 在社区导师指导下完成项目开发工作 活动简介 本次活动是由 中科院软件所 与 openEuler 社区 共同举办、 中科院软件研究所南京软件技术研究院 承办的一项面向高校学生的暑期活动,为高校学生提供了绝佳的、友好开放的交流平台。使学生可以真正投身于开源软件的开发维护,得到资深开源软件开发者指导的机会,获得丰硕的活动奖金,并帮助学生获取优秀企业的关注。 活动奖金 本次活动的项目奖金根据项目难度分为 12000 元、 9000 元、 6000 元。 注:奖金均为 税前 金额 活动亮点 本次活动是受Google Summer of Code(GSoC)启发

SkyWalking+SkyApm-dotnet分布式链路追踪系统

蹲街弑〆低调 提交于 2020-12-18 08:43:46
SkyWalking+SkyApm-dotnet分布式链路追踪系统 对于普通系统或者服务来说,一般通过打日志来进行埋点,然后再通过elk或splunk进行定位及分析问题,更有甚者直接远程服务器,直接操作查看日志,那么,随着业务越来越复杂,企业应用也进入了分布式服务化的阶段,传统的日志监控等方式无法很好达到跟踪调用、排查问题等需求,可以想象,如果你的服务节点达到有很多很多(两位数以上吧),而没有一个自动跟踪系统,那查找一个问题将成为噩梦。 那么,服务之间调用的问题是: 如何快速发现问题? 如何判断故障影响范围? 如何梳理服务依赖以及依赖的合理性? 如何分析链路性能问题以及实时容量规划? 如何在分布式服务进行日志监控呢? 首先大家会想到分布式链路追踪系统,说到这,就得讲 OpenTracing 规范,OpenTracing 是一个轻量级的标准化层,它位于应用程序/类库和追踪或日志分析程序之间。详细介绍见 《 opentracing文档中文版 》。在谷歌论文《 Dapper, 大规模分布式系统的跟踪系统 》的指导下,许多优秀的APM应运而生,分布式追踪系统发展很快,种类繁多,给我们带来很大的方便。虽然目前市面许多优秀的APM系统,但是作为我们.NET程序员的选择却就少之又少了(甚至没得选),几乎各大分布式追踪系统均提供java版的支持,而.NET上却只有SkyWalking的

致敬最优秀的同行者们

牧云@^-^@ 提交于 2020-12-06 18:51:37
点 击 上 方 “ 中 间 件 兴 趣 圈 ” , 选 择 “ 设 为 星 标 ” 做 积 极 的 人 , 越 努 力 越 幸 运 ! 真的非常开心,『中间件兴趣圈』公众号粉丝数正式迈过1W大关,达成一个重要里程碑,笔者感慨真的不容易。 2018年10月19号通过公众号发布第一篇文章,到今天为止,公众号已经发表了145篇原创文章,坚持真的很难,但只要能坚持,就一定会有好的收获,这不,你瞧,1W个人与你一起同行,这成就不可谓不大。 在持续坚持努力下,我出版了《RocketMQ技术内幕》一书,从一家名不经传的小公司顺利跳槽到快递物流头部企业:中通快递,让我能在更高的平台上发光发热,使我深深的认识到: 越努力越幸运,唯有坚持不懈 。希望能用这句话与各位粉丝朋友共勉,相互交流,共同成长。 相信各位读者朋友们也能直观的感受到『中间件兴趣圈』主要发表的文章都比较枯燥,因为大部分都是以源码分析为主,认真读完一篇文章需要极大的耐心,我从后台的统计数据上看到,每篇文章的读完率其平均值在50%左右,这足以说明大家拥有强烈的求知欲望,这里必须有掌声,为各自点个赞吧。与各位优秀的读者同行,是我的一大荣幸,未来继续加油。 『中间件兴趣圈』的定位是记录笔者的学习历程与成长历程,同时也起到驱动笔者去学习,给自己提的要求是尽最大努力保证一周一篇原创文章。 绝不注水、绝不洗稿,这是我的初心也是底线。 『中间件兴趣圈

致敬最优秀的同行者们

余生颓废 提交于 2020-12-03 07:42:11
做 积 极 的 人 , 越 努 力 越 幸 运 ! 真的非常开心,『中间件兴趣圈』公众号粉丝数正式迈过1W大关,达成一个重要里程碑,笔者感慨真的不容易。 2018年10月19号通过公众号发布第一篇文章,到今天为止,公众号已经发表了145篇原创文章,坚持真的很难,但只要能坚持,就一定会有好的收获,这不,你瞧,1W个人与你一起同行,这成就不可谓不大。 在持续坚持努力下,我出版了《RocketMQ技术内幕》一书,从一家名不经传的小公司顺利跳槽到快递物流头部企业:中通快递,让我能在更高的平台上发光发热,使我深深的认识到: 越努力越幸运,唯有坚持不懈 。希望能用这句话与各位粉丝朋友共勉,相互交流,共同成长。 相信各位读者朋友们也能直观的感受到『中间件兴趣圈』主要发表的文章都比较枯燥,因为大部分都是以源码分析为主,认真读完一篇文章需要极大的耐心,我从后台的统计数据上看到,每篇文章的读完率其平均值在50%左右,这足以说明大家拥有强烈的求知欲望,这里必须有掌声,为各自点个赞吧。与各位优秀的读者同行,是我的一大荣幸,未来继续加油。 『中间件兴趣圈』的定位是记录笔者的学习历程与成长历程,同时也起到驱动笔者去学习,给自己提的要求是尽最大努力保证一周一篇原创文章。 绝不注水、绝不洗稿,这是我的初心也是底线。 『中间件兴趣圈』现阶段主要以源码分析为手段成体系剖析JAVA主流中间件

被 C# 的 ThreadStatic 标记的静态变量,都存放在哪里了?

陌路散爱 提交于 2020-11-26 13:55:42
一:背景 1. 讲故事 前几天公号里有一位朋友留言说,你windbg玩的溜,能帮我分析下被 ThreadStatic 修饰的变量到底存放在哪里吗?能不能帮我挖出来????????????,其实这个问题问的挺深的,玩高级语言的朋友相信很少有接触到这个的,虽然很多朋友都知道这个特性怎么用,当然我也没特别研究这个,既然要回答这个问题,我得研究研究回答之!为了更好的普适性,先从简单的说起! 二:ThreadStatic 的用法 1. 普通的 static 变量 相信很多朋友在代码中都使用过 static 变量,它的好处多多,比如说我经常会用 static 去做一个进程级缓存,从而提高程序的性能,当然你也可以作为一个非常好的一级缓存,如下代码: public class Test { public static Dictionary<int, string> cachedDict = new Dictionary<int, string>(); } 刚才我也说到了,这是一个进程级的缓存,多个线程都看得见,所以在多线程的环境下,你需要特别注意同步的问题。要么使用锁,要么使用 ConcurrentDictionary,我觉得这也是一个思维定式,很多时候思维总是在现有基础上去修补,去亡羊补牢,而没有跳出这个思维从根基上去处理,说这么多是什么意思呢?我举一个例子: 在市面上常见的链式跟踪框架中

NET Core微服务之路:SkyWalking+SkyApm-dotnet分布式链路追踪系统的分享

旧巷老猫 提交于 2020-11-25 07:57:17
原文: NET Core微服务之路:SkyWalking+SkyApm-dotnet分布式链路追踪系统的分享 对于普通系统或者服务来说,一般通过打日志来进行埋点,然后再通过elk或splunk进行定位及分析问题,更有甚者直接远程服务器,直接操作查看日志,那么,随着业务越来越复杂,企业应用也进入了分布式服务化的阶段,传统的日志监控等方式无法很好达到跟踪调用、排查问题等需求,可以想象,如果你的服务节点达到有很多很多(两位数以上吧),而没有一个自动跟踪系统,那查找一个问题将成为噩梦。 那么,服务之间调用的问题是: 如何快速发现问题? 如何判断故障影响范围? 如何梳理服务依赖以及依赖的合理性? 如何分析链路性能问题以及实时容量规划? 如何在分布式服务进行日志监控呢? 首先大家会想到分布式链路追踪系统,说到这,就得讲 OpenTracing 规范,OpenTracing 是一个轻量级的标准化层,它位于应用程序/类库和追踪或日志分析程序之间。详细介绍见 《 opentracing文档中文版 》。在谷歌论文《 Dapper, 大规模分布式系统的跟踪系统 》的指导下,许多优秀的APM应运而生,分布式追踪系统发展很快,种类繁多,给我们带来很大的方便。虽然目前市面许多优秀的APM系统,但是作为我们.NET程序员的选择却就少之又少了(甚至没得选),几乎各大分布式追踪系统均提供java版的支持,而