Node.js应用接入Skywalking实现APM监控
Node.js
应用接入Skywalking
实现APM
监控
【Node.js应用接入Skywalking实现APM监控】1:笔者使用的windows
,请先自行安装启动Skywalking
,下载地址:,下载完成,解压启动Skywalking
后,访问http://localhost:8080/(默认配置),到此安装启动 Skywalking 成功。
2:Node.js
应用接入,Skywalking
官方提供新的库来接入,原来的模块是 SkyAPM-nodejs ,官方要求 SkyWalking backend (OAP) 8.0+ and NodeJS >= 10.
支持已下框架和模块,更多信息查看 README.md
Library | Plugin Name |
---|---|
built-in http and https module |
http / https |
Express |
express |
Axios |
axios |
MySQL |
mysql |
MySQL |
mysql2 |
PostgreSQL |
pg |
pg-cursor |
pg-cursor |
MongoDB |
mongodb |
Mongoose |
mongoose |
RabbitMQ |
amqplib |
Redis |
ioredis |
require('make-promises-safe')
const {default: agent} = require('skywalking-backend-js');
agent.start({//引用
serviceName: 'my-service-name',
serviceInstance: 'my-service-instance-name',
// collectorAddress: 'http://localhost:8080',
})var express = require('express')
var app = express();
var port = process.env.PORT || 3001;
var routes = require('./api/routes');
routes(app);
app.listen(port, function() {
console.log('Server started on port: ' + port);
});
4:
示例代码中定义了两个路由:
- http://localhost:3001/about
- http://localhost:3001/distanc...
[PS:如果等了很久还是没有数据,检查下你查看的时间区间是否选对]
正常如下:
文章图片
文章图片
从上图可以看到:应用已接入到
skywalking
监控了,点击各个选项可查看各个功能,链路追踪,性能监控分析等等,redis,mysql,http
的链路都有,可以清楚的看到Node.js
应用各个链路所花费的时间,可以更好的监控排查问题。skywalking
更多的功能用户自行探索了。后续:
websocket , kafka, rpc , GraphQL
等等Node.js探针
是否支持还有待探究。skywalking-backend-js
也在计划 V0.4.0
版本了,目前已经看到合并了几个PR了,是改Bug的内容和一些小细节,没看到新功能。期待新功能。。。。推荐阅读
- Docker应用:容器间通信与Mariadb数据库主从复制
- JS中的各种宽高度定义及其应用
- Node.js中readline模块实现终端输入
- java之static、static|java之static、static final、final的区别与应用
- Android7.0|Android7.0 第三方应用无法访问私有库
- GIS跨界融合赋能多领域技术升级,江淮大地新应用成果喜人
- whlie循环和for循环的应用
- LSTM网络层详解及其应用实例
- 11-代码注入
- ARouter之基础应用篇