Skywalking Node.js 现支持 Egg 框架调用链追踪

栏目: 软件资讯 · 发布时间: 7年前

内容简介:Skywalking Node.js 简介 Apache Skywalking (Incubating)是专门为微服务架构和云原生架构系统而设计的能够支持分布式链路追踪的APM系统。通过给应用加载探针的方式收集应用调用链路信息,Skywalking后台对采集的...

Skywalking Node.js 简介

Apache Skywalking (Incubating)是专门为微服务架构和云原生架构系统而设计的能够支持分布式链路追踪的APM系统。通过给应用加载探针的方式收集应用调用链路信息,Skywalking后台对采集的调用链路信息进行分析,感知应用间关系和服务间关系以及生成相应的服务指标。目前Apache Skywalking (Incubating)已支持Java,.Net Core 和 Node.js 语言的监控,并保证多个语言系统之间能够分布式调用链路不断。

Skywalking Node.js探针是Skywalking为Node.js应用提供的自动探针,主要用于监控使用Node.js的编写的服务端应用,Skywalking Node.js探针已支持多个插件,例如Http,Mysql等,Node.js探针计划在未来的几个版本中提供更加多的插件。目前Node.js探针开始收集支持组件或者框架的issue,如果有想让Skywalking Node.js探针支持的框架或者组件,可以在issue下留下框架或组件名字以及测试demo,Node.js 探针作者将尽最大可能地提供可支持的插件,同时也欢迎各位提出意见以及改进。

Demo 演示

废话不多说,是时候展现真正的技术了。本次准备的测试demo共分为两部分:单应用和多应用,单应用测试功能,多应用主要测试跨应用的调用链功能。

单应用场景

测试Demo采用了egg framework框架编写,并使用了egg mysql 插件,业务流程相对简单,主要的执行流程为:Controller —> Service —> Mysql,以下是通过Skywalking Node.js探针监控上报数据的截图:
总览图:
Skywalking Node.js 现支持 Egg 框架调用链追踪
拓扑图:
Skywalking Node.js 现支持 Egg 框架调用链追踪
服务视图:
Skywalking Node.js 现支持 Egg 框架调用链追踪
应用视图:
Skywalking Node.js 现支持 Egg 框架调用链追踪
调用链:
Skywalking Node.js 现支持 Egg 框架调用链追踪
Span信息:
Skywalking Node.js 现支持 Egg 框架调用链追踪

跨应用场景

在面对跨应用场景,测试demo共分为两个工程:egg-projectA和egg-projectB,其中egg-projectA工程通过http client调用egg-projectB提供的服务,egg-projectA和egg-projectB分别调用数据库一次,下图为Skywalking UI的数据截图
总览图:
Skywalking Node.js 现支持 Egg 框架调用链追踪
拓扑图:
Skywalking Node.js 现支持 Egg 框架调用链追踪
egg-projectA服务图
Skywalking Node.js 现支持 Egg 框架调用链追踪
egg-projectB服务图
Skywalking Node.js 现支持 Egg 框架调用链追踪
egg-projectA应用图
Skywalking Node.js 现支持 Egg 框架调用链追踪
egg-projectB应用图
Skywalking Node.js 现支持 Egg 框架调用链追踪
Trace图
Skywalking Node.js 现支持 Egg 框架调用链追踪
Span图
Skywalking Node.js 现支持 Egg 框架调用链追踪

从两个demo效果可以看出,Skywalking Node.js探针目前已经支持egg framework追踪,并且在多个egg应用之间可以进行跨应用追踪。在后续版本中,Skywalking Node.js 探针将会根据社区的反馈持续改进。

安装Node.js 探针

介绍完demo效果之后,简单介绍下如何安装Node.js探针作为文章的结束。Skywalking Node.js 探针考虑到减少对应用系统的侵入性,所以采用了hook模式,这样使得Skywalking Node.js探针在安装变得非常简单,并且能够做到最大程度上的不对应用源码进行修改。
安装Skywalking Node.js 探针只需要简单的两步:
第一步:下载探针

$ npm install skywalking-nodejs --save

第二步:安装探针
注意:在应用启动入口的第一行,添加下面这些配置:

require('skywalking-nodejs').start({
    // 应用名称
    applicationCode: 'test',
    // Skywalking后端暴露的agent_gRPC/grpc service地址
    // 默认值: localhost:11800
    directServers: 'localhost:11800'
});

如果您在使用Skywalking Node.js探针有任何问题,可以通过以下方式联系我们:
1. 提交issue
2. 发邮件给dev@skywalking.apache.org


【声明】文章转载自:开源中国社区 [http://www.oschina.net]


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

群体智能

群体智能

James Kennedy、Russell C Eberhart、Yuhui Shi / 人民邮电出版社 / 2009-2-1 / 75.00元

群体智能是近年来发展迅速的人工智能学科领域.通过研究分散,自组织的动物群体和人类社会的智能行为, 学者们提出了许多迥异于传统思路的智能算法, 很好地解决了不少原来非常棘手的复杂工程问题.与蚁群算法齐名的粒子群优化(particle swarm optimization, 简称PSO)算法就是其中最受瞩目,应用最为广泛的成果之一. 本书由粒子群优化算法之父撰写,是该领域毋庸置疑的经典著作.作者......一起来看看 《群体智能》 这本书的介绍吧!

html转js在线工具
html转js在线工具

html转js在线工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具