通过SkyWalking为应用埋点并上报链路数据至可观测链路 OpenTelemetry 版后,可观测链路 OpenTelemetry 版即可开始监控应用,您可以查看应用拓扑、调用链路、异常事务、慢事务和SQL分析等一系列监控数据。本文介绍如何使用skywalking-backend-js进行自动埋点并上报应用数据。
前提条件
背景信息
SkyWalking是一款广受欢迎的国产APM(Application Performance Monitoring,应用性能监控)产品,主要针对微服务、Cloud Native和容器化(Docker、Kubernetes、Mesos)架构的应用。SkyWalking的核心是一个分布式追踪系统。
Skywalking-backend-js是SkyWalking的Node.js Agent官方库,可以通过接入skywalking-backend-js实现对Node.js应用的监控,skywalking-backend-js支持MySQL、Redis、RabbitMQ等多种第三方库的自动埋点。
说明
SkyAPM-nodejs是旧版的官方库,已弃用,请使用最新的官方库skywalking-backend-js监控Node.js应用。
示例Demo
示例Demo仓库地址:SkyWalking Demo
用SkyWalking为Node.js应用埋点
执行以下命令安装skywalking-nodejs版Agent探针。
npm install --save skywalking-backend-js
项目引入Skywalking-NodeJS Agent。
const {default: agent} = require("skywalking-backend-js"); agent.start({})
配置Agent参数。
SkyWalking的Node.js版Agent支持硬编码和环境变量两种参数配置方式。
硬编码
agent.start({ serviceName: <your-service-name>, // 服务名称,标识应用 serviceInstance: <your-service-instance-name>, // 服务实例名称 collectorAddress: <collector-backend-address>, // 数据上报collector接入点地址 authorization: <collector-token> // 接入点token });
环境变量配置参数
# <endpoint>: 接入点地址;<token>: 接入点鉴权token;<service-name>: 应用名称。 export SW_AGENT_COLLECTOR_BACKEND_SERVICES=<endpoint> export SW_AGENT_AUTHENTICATION=<token> export SW_AGENT_NAME=<service-name>
重新启动应用。