本文将为您介绍如何使用 Jaeger 原始 SDK 上报 Node.js 应用数据。
操作步骤
步骤1:获取接入点和 Token
1. 登录 腾讯云可观测平台 控制台。
2. 在左侧菜单栏中选择应用性能监控 > 应用监控,单击接入应用。
3. 在右侧弹出的数据接入抽屉框中,单击 Node 语言。
4. 在接入 Node 应用页面,选择您所要接入的地域以及业务系统。
5. 选择接入协议类型为 Jaeger。
6. 上报方式选择您所想要的上报方式,获取您的接入点和 Token。
说明:
内网上报:使用此上报方式,您的服务需运行在腾讯云 VPC。通过 VPC 直接联通,在避免外网通信的安全风险同时,可以节省上报流量开销。
外网上报:当您的服务部署在本地或非腾讯云 VPC 内,可以通过此方式上报数据。请注意外网通信存在安全风险,同时也会造成一定上报流量费用。
步骤2:安装依赖
在控制台使用 npm 安装依赖:
npm i jaeger-client
步骤3:引入 SDK 并且进行数据上报
1. 引入 SDK,示例如下:
const initTracer = require('jaeger-client').initTracer;// jaeger 配置const config = {serviceName: 'service-name', // 服务名称,根据业务自行修改sampler: {type: 'const',param: 1,},reporter: {logSpans: true,collectorEndpoint: 'http://ap-guangzhou.apm.tencentcs.com:14268/api/traces', // 接入点,此前在应用性能监控获取的接入点多了 api/traces},};const options = {tags: {token: 'Vds************CrKck' // 业务申请的 token},};
说明
Node 使用 API 直接进行数据上报,因此不需要启动 Jaeger agent。接入点选择自己对应的网络环境,并且在后面加入
/api/traces
后缀即可。2. 进行数据上报 ,示例如下:
// 初始化 tracer 实例对象const tracer = initTracer(config, options);// 初始化 span 实例对象const span = tracer.startSpan('spanStart');// 当前服务为 serverspan.setTag('span.kind', 'server');// 设置标签(可选,支持多个)span.setTag('tagName', 'tagValue');// 设置事件(可选,支持多个)span.log({ event: 'timestamp', value: Date.now() });// 标记Span结束span.finish();