Node.js应用接入Skywalking实现APM监控
source link: https://segmentfault.com/a/1190000041024207
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
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
http
and https
modulehttp
/ https
Express
express
Axios
axios
MySQL
mysql
MySQL
mysql2
PostgreSQL
pg
pg-cursor
pg-cursor
MongoDB
mongodb
Mongoose
mongoose
RabbitMQ
amqplib
Redis
ioredis
3:接入代码示例:完整代码地址:
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:8080/ ,数据可能会有延迟,稍等一些[PS:如果等了很久还是没有数据,检查下你查看的时间区间是否选对]
正常如下:
从上图可以看到:应用已接入到skywalking
监控了,点击各个选项可查看各个功能,链路追踪,性能监控分析等等,redis,mysql,http
的链路都有,可以清楚的看到Node.js
应用各个链路所花费的时间,可以更好的监控排查问题。skywalking
更多的功能用户自行探索了。
后续:websocket , kafka, rpc , GraphQL
等等Node.js探针
是否支持还有待探究。skywalking-backend-js
也在计划 V0.4.0
版本了,目前已经看到合并了几个PR了,是改Bug的内容和一些小细节,没看到新功能。期待新功能。。。。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK